我无法使用wix安装c ++可再发行组件。它生成设置但设置在PC上什么都不做。我的设置后无法找到任何可再发行的安装程序。 我的wsx:
<?xml version="1.0" encoding="Windows-1252"?>
<Directory Id="TARGETDIR" Name="SourceDir">
<Merge Id="redistr" Language="1033" SourceFile="..\merge_modules\Microsoft_VC100_CRT_x64.msm" DiskId="1" />
</Directory>
<Feature Id="Feature_B" Title="Visual C++ 8.0 Runtime"
AllowAdvertise="yes"
Level="1">
<MergeRef Id="redistr" />
</Feature>
</Product>
编译:
candle.exe MyMergeModuleSetup.wxs -ext WixUIExtension
light.exe -out demo.msi -b "s:\wix" MyMergeModuleSetup.wixobj -ext WixUIExtension
输出:
light.exe : warning LGHT1076 : ICE82: This action System64Folder_amd64_VC.1C11561A_11CB_36A7_8A47_D7A042055FA7 has duplicate sequence number 1 in the table InstallExecuteSequence
light.exe : warning LGHT1076 : ICE82: This action System64Folder_amd64_VC.1C11561A_11CB_36A7_8A47_D7A042055FA7 has duplicate sequence number 1 in the table InstallUISequence
light.exe : warning LGHT1076 : ICE82: This action System64Folder_amd64_VC.1C11561A_11CB_36A7_8A47_D7A042055FA7 has duplicate sequence number 3 in the table AdminExecuteSequence
light.exe : warning LGHT1076 : ICE82: This action System64Folder_amd64_VC.1C11561A_11CB_36A7_8A47_D7A042055FA7 has duplicate sequence number 3 in the table AdminUISequence
light.exe : warning LGHT1076 : ICE82: This action System64Folder_amd64_VC.1C11561A_11CB_36A7_8A47_D7A042055FA7 has duplicate sequence number 3 in the table AdvtExecuteSequence
答案 0 :(得分:2)
安装后,合并模块不会在程序和功能中单独列出。合并模块中的文件/组件将成为安装的一部分,而不是单独的安装。
您可以使用Orca检查组件和文件表,并验证您的安装是否包含Visual C ++ Redistributable的组件/文件。
Windows Installer将使用reference counting mechanism跟踪安装之间共享的组件。还必须遵循component rules以允许共享组件(以及一般的组件)。 Merge module是一种捆绑这些共享组件以包含在其他安装中的方法。合并模块的内容包含(合并)在生成的安装程序中。