无法使用嵌入式 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 跟踪安装之间共享的组件,这是一种捆绑这些共享组件以包含在其他安装中的方法。合并模块的内容包含(合并)在生成的安装程序中。
我无法使用 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 跟踪安装之间共享的组件,这是一种捆绑这些共享组件以包含在其他安装中的方法。合并模块的内容包含(合并)在生成的安装程序中。