cómo agregar íconos al acceso directo de la aplicación en el escritorio

Quiero que cuando el usuario ejecute mi aplicación C #, la aplicación creará un acceso directo de escritorio para ejecutar la aplicación. Yo uso este código:

private void appShortcutToDesktop(string linkName)
{
    string deskDir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);

    using (StreamWriter writer = new StreamWriter(deskDir + "\\" + linkName + ".url"))
    {
        string app = System.Reflection.Assembly.GetExecutingAssembly().Location;
        writer.WriteLine("[InternetShortcut]");
        writer.WriteLine("URL=file:///" + app);
        writer.WriteLine("IconIndex=0");
        string icon = app.Replace('\\', '/');
        writer.WriteLine("IconFile=" + icon);
        writer.Flush();
    }
}

private void button1_Click(object sender, EventArgs e)
{
    appShortcutToDesktop("MyName");
}

Este código crea un acceso directo pero quiero ponermyicon.ico para icono de accesos directos. Cómo puedo hacer esto ?

Respuestas a la pregunta(1)

Su respuesta a la pregunta