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

发布于 2024-08-31 22:43:58 字数 255 浏览 4 评论 0原文

我在 Windows 7 中致力于将两个应用程序与相同的任务栏图标组合在一起,如本问题所述

: -taskbar-in-windows-7">在 Windows 7 中的任务栏上固定广告快捷方式

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

I'm in Windows 7 working on combining two apps with the same task bar icon, as described in this question:

Pinning advertised shortcuts on the taskbar in windows 7

I see there, and it lots of online documentation that I need to set the AppUserModelID as a property of the shortcut. My installer program uses the basic Visual Studio 2008 setup project, and I don't see any way to set shortcut properties on installation. Is there any head-start anyone can give me on how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

荭秂 2024-09-07 22:43:58

Shen 评论道:“您还可以切换到其他支持设置快捷方式 appid 的 MSI 创作工具,例如 WIXNSIS。”

要在 Wix 中使用 Shortcut 元素实现此目的,您必须向 Shortcut 元素添加一个子 ShortcutProperty 元素,并使用 Shell 属性名称“System.AppUserModel.ID< /strong>”作为键。

    <Shortcut Id="StartMenuShortcut"
              Name="Shortcut Name"
              Description="Shortcut Description"
              Target="[INSTALLLOCATION]Application.exe"
              WorkingDirectory="INSTALLLOCATION">
      <ShortcutProperty Key="System.AppUserModel.ID" Value="AppUserModelID" />
    </Shortcut>

Sheng commented that "You can also switch to other MSI authoring tools that supports setting the appid for shortcuts, such as WIX or NSIS."

To achieve this using a Shortcut element in Wix you must add a child ShortcutProperty element to your Shortcut element and use the Shell property name "System.AppUserModel.ID" as the key.

    <Shortcut Id="StartMenuShortcut"
              Name="Shortcut Name"
              Description="Shortcut Description"
              Target="[INSTALLLOCATION]Application.exe"
              WorkingDirectory="INSTALLLOCATION">
      <ShortcutProperty Key="System.AppUserModel.ID" Value="AppUserModelID" />
    </Shortcut>
柠檬 2024-09-07 22:43:58

我对 VS2k8 设置项目一无所知,所以我不知道您是否可以运行自定义操作等,但我确实知道要在快捷方式上设置 AppId,您需要加载/创建快捷方式并查询其 IShellLink for IPropertyStore,然后 InitPropVariantFromString 包含您的 id 的变体并调用 SetValue(PKEY_AppUserModel_ID,propvariant) + 在 propertystore 上提交

I don't know anything about VS2k8 setup projects so I don't know if you can run custom actions etc but I do know that to set the AppId on a shortcut you load/create your shortcut and query its IShellLink for IPropertyStore, then InitPropVariantFromString a variant with your id and call SetValue(PKEY_AppUserModel_ID,propvariant) + Commit on the propertystore

帥小哥 2024-09-07 22:43:58

添加到安德的回复中。

Visual Studio 安装项目不支持设置 appid,并且可能永远不会支持,除非 Microsoft 撤销弃用安装项目功能

有一个 Windows API 代码包可帮助调用 shell API这里是有关在自定义操作中创建快捷方式的教程。您可以添加代码来更新自定义操作的快捷方式。

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

Adding to Ander's reply.

Visual Studio Setup project does not support setting appid and will probably never be unless Microsoft reverse the deprecation of Setup project feature.

There is a Windows API Code Pack that helps in invoking shell APIs. Here is a tutorial on creating shortcut in custom action. You can add the code to update the shortcut to the custom action.

You can also switch to other MSI authoring tools that supports setting the appid for shortcuts, such as WIX or NSIS.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文