Windows 7 如何在快捷方式上设置AppUserModelID?

Windows 7 如何在快捷方式上设置AppUserModelID?,windows-7,installation,taskbar,Windows 7,Installation,Taskbar,我在Windows 7中工作,正在使用相同的任务栏图标组合两个应用程序,如本问题所述: 我在那里看到了很多在线文档,我需要将AppUserModelID设置为快捷方式的属性。我的安装程序使用基本的VisualStudio2008安装项目,我看不到任何在安装时设置快捷方式属性的方法。有谁能给我一个好的开始吗?我对VS2k8安装项目一无所知,所以我不知道您是否可以运行自定义操作等,但我知道,要在快捷方式上设置AppId,您需要加载/创建快捷方式并查询它,然后使用id从变量中初始化PropVaria

我在Windows 7中工作,正在使用相同的任务栏图标组合两个应用程序,如本问题所述:


我在那里看到了很多在线文档,我需要将AppUserModelID设置为快捷方式的属性。我的安装程序使用基本的VisualStudio2008安装项目,我看不到任何在安装时设置快捷方式属性的方法。有谁能给我一个好的开始吗?

我对VS2k8安装项目一无所知,所以我不知道您是否可以运行自定义操作等,但我知道,要在快捷方式上设置AppId,您需要加载/创建快捷方式并查询它,然后使用id从变量中初始化PropVariant并调用SetValue(,propvariant)+在propertystore上提交

添加到Ander的回复中

VisualStudio安装项目不支持设置appid,除非Microsoft反转,否则可能永远不支持设置appid

。是关于在自定义操作中创建快捷方式的教程。您可以添加代码以更新自定义操作的快捷方式

您还可以切换到其他支持为快捷方式设置appid的MSI创作工具,如WIX或NSIS。

Sheng评论说,“您还可以切换到其他支持为快捷方式设置appid的MSI创作工具,如WIXNSIS

要使用Wix中的快捷方式元素实现这一点,必须将子快捷方式属性元素添加到快捷方式元素中,并使用Shell属性名称“
System.AppUserModel.ID
”作为键



这方面有什么进展吗?我在一个VS2010项目上也遇到了同样的问题顺便说一句,emoacht有一篇很棒的博客文章,描述了如何在C#()中使用关联的AppUserModelID创建快捷方式。显式地将ShortcutProperty/键设置为“System.AppUserModel.ID”有一些已知的问题-。看起来Microsoft建议改用GUID+属性ID。“System.AppUserModel.ID”=“{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3},5”(from-)感谢@jbudreau,它在Keybase安装程序中工作过,并且很快将在即将发布的版本中发布:值得重复的是,OP询问了Windows 7,根据上面的MS链接,Windows 7将有错误,按名称而不是GUID显式指定快捷方式属性