在我的引导程序中,我需要调用第三方msi程序包。但是我遇到了一个错误error LGHT0364: The MSI ... set the ALLUSERS Property to ... which is not supported. Remove the Property with Id='ALLUSERS' and use Package/@InstallScope attribute instead.
任何想法如何解决?或任何想法如何以不同的方式称呼该第三方msi。
我将包装链这样连接:
<Chain>
<PackageGroupRef Id="NetFx40Web" />
<RollbackBoundary />
<MsiPackage Id="CSP" SourceFile="$(env.WIX_CSP_MSI)" DisplayInternalUI="yes" Compressed="no"></MsiPackage>
<MsiPackage Id="Dict" SourceFile="$(env.WIX_DICT_MSI)" DisplayInternalUI="yes" Compressed="no" Vital="yes">
</MsiPackage>
<MsiPackage SourceFile="$(env.WIX_MSI_PATH)" >
<MsiProperty Name="INSTALLFOLDER"
Value="[InstallFolder]" />
</MsiPackage>
</Chain>
答案 0 :(得分:0)
ALLUSERS :可能是因为您的不同MSI文件在ALLUSERS中硬编码的Property Table
具有不同的值?我不确定WiX会在此处执行哪些规则,但是自然要在同一上下文中安装所有MSI设置。 ALLUSERS确定是按用户还是按机器安装设置。
硬编码 :也许使用 Orca 或an equivalent MSI viewer tool检查有问题的MSI文件,然后查看 “ ALLUSERS”的值在“属性”表中?