我有一个将其InstallScope设置为“perMachine”的msi,它会创建一个可供所有用户使用的快捷方式:
<Directory Id="ProgramMenuFolder">
<Directory Id="CompanyShortcutsDir" Name="My Company" />
</Directory>
<Component Id="CMP_MainExeShortcut"
Directory="CompanyShortcutsDir"
Guid="{B857CD9E-XXXX-YYYY-F2090C50C985}">
<Shortcut Id="MyExeStartShortcut"
Name="My Product"
Description="$(var.WIX_PRODNAME)"
Target="[APPLICATIONFOLDER]MyApp.exe"
WorkingDirectory="APPLICATIONFOLDER"
Icon="my.ico" />
<RemoveFolder Id="RemoveCompanyShortcutsDir"
On="uninstall" />
<RegistryValue Root="HKCU"
Key="Software\MyCompany"
Name="MainExeShortcut"
Type="integer"
Value="1"
KeyPath="yes" />
</Component>
并且确实为所有用户显示了快捷方式 - 到目前为止一直很好!!
但我也有这段代码:
<Component Id="CMP_MainExeShortcutCompat"
Directory="CompanyShortcutsDir"
Guid="{C748B7C6-XXXX-YYYY-7CB1823774DC}">
<RegistryValue Root="HKMU"
Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"
Name="[APPLICATIONFOLDER]MyApp.exe"
Type="string"
Value="~ WIN7RTM"
KeyPath="yes"/>
</Component>
目的是将快捷方式的“兼容模式”设置为“Windows 7” - 但这仅适用于安装了我们产品的用户,而不是设置在其他用户的快捷方式上可能会登录到PC。
有谁知道如何在所有用户的快捷方式上设置此标志?
非常感谢,
克里斯。