У меня был тот же сценарий, в котором я должен был проверить, существует ли ярлык, а затем удалить его. Я использовал следующий код
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if(System.IO.File.Exists(Path.Combine(desktopPath , "shortcut.lnk")))
{
System.IO.File.Delete(Path.Combine(desktopPath , "shortcut.lnk"));
}