how to create shortcut on desktop in vb.net without installer

vaichidrewar picture vaichidrewar · Apr 6, 2011 · Viewed 23.1k times · Source

I want to create desktop shortcut for exe file through program. I do not want to use installer to do this. Can a piece of code in program do this?How?

Answer

Rhapsody picture Rhapsody · Apr 6, 2011

Chasler has answered that question a couple of years ago here on SO.

Add a reference to the Windows Script Host Object Model

Imports IWshRuntimeLibrary

Private Sub CreateShortCut(ByVal FileName As String, ByVal Title As String)
    Try
        Dim WshShell As New WshShell
        ' short cut files have a .lnk extension
        Dim shortCut As IWshRuntimeLibrary.IWshShortcut = DirectCast(WshShell.CreateShortcut(FileName, IWshRuntimeLibrary.IWshShortcut)

        ' set the shortcut properties
        With shortCut
            .TargetPath = Application.ExecutablePath
            .WindowStyle = 1I
            .Description = Title
            .WorkingDirectory = Application.StartupPath
            ' the next line gets the first Icon from the executing program
            .IconLocation = Application.ExecutablePath & ", 0"
            .Arguments = String.Empty
            .Save() ' save the shortcut file
        End With
    Catch ex As System.Exception
        MessageBox.Show("Could not create the shortcut" & Environment.NewLine & ex.Message, g_strAppTitleVersion, MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try
End Sub

(Source)