我正在Windows 7中使用相同的任务栏图标组合两个应用程序,如此问题中所述:
Pinning advertised shortcuts on the taskbar in windows 7
我在那里看到了很多在线文档,我需要将AppUserModelID设置为快捷方式的属性。我的安装程序使用基本的Visual Studio 2008安装项目,我没有看到任何方法在安装时设置快捷方式属性。有没有人可以告诉我如何做到这一点?
答案 0 :(得分:8)
Sheng评论说“您还可以切换到支持为快捷方式设置appid的其他MSI创作工具,例如 WIX 或 NSIS 。”
要使用Wix中的Shortcut元素实现此目的,您必须将子 ShortcutProperty元素添加到Shortcut元素,并使用Shell属性名称“ System.AppUserModel.ID
”作为关键。
<Shortcut Id="StartMenuShortcut"
Name="Shortcut Name"
Description="Shortcut Description"
Target="[INSTALLLOCATION]Application.exe"
WorkingDirectory="INSTALLLOCATION">
<ShortcutProperty Key="System.AppUserModel.ID" Value="AppUserModelID" />
</Shortcut>
答案 1 :(得分:2)
我对VS2k8安装项目一无所知,所以我不知道你是否可以运行自定义操作等,但我知道要在你加载/创建快捷方式的快捷方式上设置AppId并查询它{{3对于IShellLink,然后是InitPropVariantFromString一个带有你的id的变种,并调用SetValue(IPropertyStore,propvariant)+在属性库上提交
答案 2 :(得分:1)
添加到Ander的回复。
Visual Studio安装项目不支持设置appid,除非Microsoft撤消the deprecation of Setup project feature,否则可能永远不会。
There is a Windows API Code Pack that helps in invoking shell APIs。 Here是有关在自定义操作中创建快捷方式的教程。您可以添加代码以更新自定义操作的快捷方式。
您还可以切换到支持为快捷方式设置appid的其他MSI创作工具,例如WIX或NSIS。