0

我使用 IShellLink 来获取快捷方式的目标路径。大多数时候它很好,但我偶尔会丢失一些文件。我在某处读到完整性优先级可能是一个问题。请参阅此处的完整性优先级 - http://msdn.microsoft.com/en-us/library/bb625960.aspx 我的问题是 - 如果我更改我的开发机器上所有 dll 的完整性优先级,然后使用这些构建安装版本dll的,然后将安装构建移动到另一台机器并在那里安装程序;我设置的中等完整性优先级是否会在新机器上持续存在。或者我必须在安装程序后编写一个脚本来更改完整性优先级。
我希望安装后我不需要做任何事情。

4

1 回答 1

0

我不太了解 IShellLink 功能,因此我将尝试从 Windows Installer 的角度解决这个问题。(假设通过引用您正在使用 MSI 的 installshield 标签。)

MSI 使用Shortcut 表,如果在 Win7/Server2008R2 上,则使用ShortcutProperty Table。这篇文章应用程序用户模型 ID (AppUserModelIDs)有一个部分说:

在应用程序快捷方式文件的 System.AppUserModel.ID 属性中。快捷方式(作为 IShellLink、CLSID_ShellLink 或 .lnk 文件)通过 IPropertyStore 和整个 Shell 中使用的其他属性设置机制支持属性。这允许任务栏识别正确的固定快捷方式,并确保属于该进程的窗口与该任务栏按钮适当关联。注意 System.AppUserModel.ID 属性应在创建快捷方式时应用于快捷方式。使用 Microsoft Windows Installer (MSI) 安装应用程序时,MsiShortcutProperty 表允许 AppUserModelID 在安装期间创建快捷方式时应用到快捷方式。

MsiShortCutProperty 表是相当新的,我还没有真正让任何开发人员来找我想要利用它,所以我还没有深入研究可以设置的所有各种属性的细节。但是,我怀疑这是您需要走的路。

于 2012-08-14T14:35:09.073 回答