WIX 合并 C++ 运行时

WIX merge c++ runtime

我已经为 vs 2015 crt 合并了 msm:

<DirectoryRef Id="TARGETDIR" >
<Merge Id = "Microsoft_VC140_CRT_x64.msm" FileCompression = "yes" Language = "1033" SourceFile = "..\..\..\..\..\..\..\external\tools\systemsetups\merge_modules\Microsoft_VC140_CRT_x64.msm" DiskId = "1" />"
</DirectoryRef>
<Feature>
<Feature Id="Complete" Title="Complete" Absent="allow" Level="1">
...
<MergeRef Id="Microsoft_VC140_CRT_x64.msm"/>
...
</Feature> 

但我仍然收到:

---------------------------
MyApp.exe - System Error
---------------------------
The program can't start because mfc140u.dll is missing from your computer. Try reinstalling the program to fix this problem. 
---------------------------
OK   
---------------------------

知道如何正确合并它吗?

Microsoft 似乎建议您使用其中一个 redist 可执行文件(vcredist_x86.exevcredist_x64.exeinstead of the merge modules (see towards bottom) these days since the 2015 versions of the runtimes are more complicated than before 并且合并模块基本上不足:“会有不是通用 CRT 的合并模块 ".

更新.

Bob Arnson 在这个回答中对此进行了充分解释:必须阅读 link -这就是答案,我只是添加了这个来进一步添加 links。

另外,Linux 框中没有我面前的合并模块列表,但也许有您需要的 x86 版本 - 您正在安装 x64 版本?只是检查 - 这些位数问题让我们都发疯了。


一些链接: