无法使用嵌入式 C++ 可再发行组件创建 Wix 设置

cant create wix setup with embedded c++ redistributable

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

安装后,合并模块不会在程序和功能中单独列出。来自合并模块的 files/components 成为您安装的一部分,而不是单独的安装。

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

Windows 安装程序将使用 reference counting mechanism. There are also component rules that must be followed to allow the sharing of components (and for components in general). Merge module 跟踪安装之间共享的组件,这是一种捆绑这些共享组件以包含在其他安装中的方法。合并模块的内容包含(合并)在生成的安装程序中。

另见 About Shared Components