我有一个Wix安装程序,我已经为最后一个版本的VC ++ 9.0运行时添加了合并模块。我已经使用Orca打开了.msm文件,以验证它们是最新版本9.0.30729.6161。我在我的安装程序中包含了CRT msm,就像在Wix站点上的示例中所做的那样:
<Fragment>
<DirectoryRef Id="TARGETDIR">
<?if $(var.Platform) = x64 ?>
<Merge Id="VCRedist" SourceFile="$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC90_CRT_x86_x64.msm" DiskId="1" Language="0"/>
<?else?>
<Merge Id="VCRedist" SourceFile="$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC90_CRT_x86.msm" DiskId="1" Language="0"/>
<?endif ?>
</DirectoryRef>
</Fragment>
然后在我的功能文件中:
<MergeRef Id="VCRedist" />
当我通过登录运行安装程序时,我可以看到文件被移动到并排目录C:\ Windows \ winsxs。当我运行我的应用程序时,它无法识别CRT是否可用。
如果我从here运行可再发行的安装程序,一切都按预期工作。我尝试过包含所有合并模块而没有运气。
有什么想法吗?
答案 0 :(得分:0)
使用策略合并模块让它为我工作。