como adicionar ícone ao atalho do aplicativo na área de trabalho

Quero que, quando o usuário executar meu aplicativo c #, o aplicativo criará um atalho na área de trabalho para executar o aplicativo. Eu 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 cria um atalho, mas eu quero colocarmyicon.ico para o ícone de atalhos. como posso fazer isso ?

questionAnswers(1)

yourAnswerToTheQuestion