为什么x64合并模块文件未包含在msi文件中

时间:2012-11-29 14:09:49

标签: wix wix3.6

我的第一个WIX安装程序(我有InstallShield经验)。我已经包含了这个合并模块......

Merge Id="CRT" Language="0" SourceFile="$(env.LIBRARY_ROOT)\microsoft-merge-modules\vs2010-sp1\Microsoft_VC100_CRT_x64.msm" DiskId='1' 

媒体如下......

Media Id='1' Cabinet='product.cab' CompressionLevel='high' EmbedCab='yes' 

我在ORCA中打开MSI文件,看到组件表中列出的两个mscv ...文件,但安装程序解决方案的Visual Studio 2010版本(除了创建msi文件)之外,还创建了一个WIN \ SYSTEM64文件夹其中包含两个文件(msvcr100.dllmsvcp100.dll)。

当我在我的测试系统上运行安装程序时,(如果我也没有带来Win文件夹),我会收到“从文件中读取错误:c:\lou\win\system32\msvcp100.dll”。

然后我添加了另一个我自己创建的产品合并模块,同样,那些文件(正在安装到ProgramFilesx64),不在msi中,但是在一个单独的文件夹'Program Files 64 \ productfolder'中需要被复制到目标系统。

为什么这些文件不包含在MSI文件中?

1 个答案:

答案 0 :(得分:0)

在WIX文档中,对Package元素的Compression属性进行了描述:

压缩YesNoDefaultType包有效负载是应嵌入容器还是作为外部有效负载保留。