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

时间:2010-05-12 16:56:49

标签: windows-7 installer taskbar

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

Pinning advertised shortcuts on the taskbar in windows 7

我在那里看到了很多在线文档,我需要将AppUserModelID设置为快捷方式的属性。我的安装程序使用基本的Visual Studio 2008安装项目,我没有看到任何方法在安装时设置快捷方式属性。有没有人可以告诉我如何做到这一点?

3 个答案:

答案 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 APIsHere是有关在自定义操作中创建快捷方式的教程。您可以添加代码以更新自定义操作的快捷方式。

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