If you use ClickOnce to deploy the project, you do not have the option to automatically setup a desktop icon. If that is the case, here is the code I found somewhere and use to create the shortcut in code:
Dim ad As System.Deployment.Application.ApplicationDeployment
ad = System.Deployment.Application.ApplicationDeployment.CurrentDeployment
Dim code As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim company As String = String.Empty
Dim description As String = String.Empty
If (Attribute.IsDefined(code, GetType(System.Reflection.AssemblyCompanyAttribute))) Then
Dim ascompany As System.Reflection.AssemblyCompanyAttribute
ascompany = Attribute.GetCustomAttribute(code, GetType(System.Reflection.AssemblyCompanyAttribute))
company = ascompany.Company
End If
If (Attribute.IsDefined(code, GetType(System.Reflection.AssemblyTitleAttribute))) Then
Dim asdescription As System.Reflection.AssemblyTitleAttribute
asdescription = Attribute.GetCustomAttribute(code, GetType(System.Reflection.AssemblyTitleAttribute))
description = asdescription.Title
End If
If company = String.Empty Then company = description
Dim desktopPath As String = String.Empty, shortcutName As String = String.Empty
If (company <> String.Empty And description <> String.Empty) Then
desktopPath = String.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "\", description, ".appref-ms")
shortcutName = String.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Programs), "\", company, "\", description, ".appref-ms")
If System.IO.File.Exists(shortcutName) Then
Try
System.IO.File.Copy(shortcutName, desktopPath, True)
Catch ex As Exception
End Try
End If
End If