Programa para "Criar Atalhos" em C#

Olá?
Alguém tem um Programa para “Criar Atalhos” em C#?
Com:

Nome do Programa:
Caminho do Programa:
Imagem do Programa:

using System;
using System.IO;
using IWshRuntimeLibrary;

class Program
{
    static void Main()
    {
        string nomePrograma = "Meu Programa";
        string caminhoPrograma = @"C:\MeuApp\MeuPrograma.exe";
        string imagemPrograma = @"C:\MeuApp\icone.ico"; // pode ser .ico ou .exe

        string destino = Environment.GetFolderPath(
            Environment.SpecialFolder.Desktop
        );

        CriarAtalho(nomePrograma, caminhoPrograma, imagemPrograma, destino);

        Console.WriteLine("Atalho criado com sucesso!");
        Console.ReadKey();
    }

    static void CriarAtalho(
        string nomePrograma,
        string caminhoPrograma,
        string imagemPrograma,
        string pastaDestino)
    {
        string caminhoAtalho = Path.Combine(
            pastaDestino,
            nomePrograma + ".lnk"
        );

        WshShell shell = new WshShell();
        IWshShortcut atalho = (IWshShortcut)shell.CreateShortcut(caminhoAtalho);

        atalho.TargetPath = caminhoPrograma;
        atalho.WorkingDirectory = Path.GetDirectoryName(caminhoPrograma);
        atalho.IconLocation = imagemPrograma;
        atalho.Description = nomePrograma;

        atalho.Save();
    }
}

(postagem excluída pelo(a) autor(a))

(postagem excluída pelo(a) autor(a))