无法使用嵌入式c ++可再发行创建wix设置

时间:2018-01-17 16:44:14

标签: wix wix3

我无法使用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

1 个答案:

答案 0 :(得分:2)

安装后,合并模块不会在程序和功能中单独列出。合并模块中的文件/组件将成为安装的一部分,而不是单独的安装。

您可以使用Orca检查组件和文件表,并验证您的安装是否包含Visual C ++ Redistributable的组件/文件。

Windows Installer将使用reference counting mechanism跟踪安装之间共享的组件。还必须遵循component rules以允许共享组件(以及一般的组件)。 Merge module是一种捆绑这些共享组件以包含在其他安装中的方法。合并模块的内容包含(合并)在生成的安装程序中。

另见About Shared Components