在 WPF 应用程序中创建快捷方式会损坏原始图标

Making shortcut in WPF application corrupts original icon

所以我有一个非常令人沮丧的问题。我有一个用 C# 运行ning Windows 10(版本 1703,OS Build 15063.0)编写的 WPF 应用程序,它为当前的 运行ning 可执行文件创建快捷方式。问题是,当我创建这些时,我为快捷方式设置了不同的(自定义)图标。我认为这不是问题,但下次我 运行 应用程序(从原始位置)时,它会显示我为任务栏中的快捷方式设置的自定义图标。只是任务栏。标题栏和任务管理器显示正确的图标和标题。我在这里做错了什么?在这一点上,我认为这是一个 Windows 错误。我创建快捷方式的方法如下:

public void CreateShortcut(string name)
{
        string AppDir = GetAppDataDir();
        object shDesktop = (object)"Desktop";
        WshShell shell = new WshShell();
        string shortcutAddress = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\" + name + ".lnk";
        IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutAddress);
        shortcut.Description = "Play " + name + "!!";
        shortcut.Hotkey = "Ctrl+Shift+N";
        shortcut.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
        shortcut.TargetPath = Directory.GetCurrentDirectory() + "/Catapult.exe";
        shortcut.Arguments = "-play \"" + name + "\"";
        shortcut.IconLocation = AppDir + "/Games/" + name + ".ico";
        shortcut.Save();
}

看来我的解决办法是没有解决办法。在其当前状态下,Windows 允许您使用引用可执行文件的自定义图标创建快捷方式 而不会 弄乱现有图标对于那个可执行文件。对我来说,这是不可接受的,因为我现在不得不使用笨拙的代码来解决这个问题(没有比这更糟糕的了,对吗?)。 Microsoft 需要尽快在资源管理器中修复这个古怪的实现。