【发布时间】:2012-11-29 14:09:48
【问题描述】:
我的第一个 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.dll 和 msvcp100.dll)。
当我在我的测试系统上运行安装程序时,(如果我不打开 Win 文件夹),我得到“从文件中读取错误:c:\lou\win\system32\msvcp100.dll”。
然后我添加了我自己创建的另一个产品合并模块,这些文件(正在安装到 ProgramFilesx64)不在 msi 中,而是在需要的单独文件夹“Program Files 64\productfolder”中复制到目标系统。
为什么这些文件不包含在 MSI 文件中?
【问题讨论】:
-
试着把你的问题格式化一下
-
我不知道你在说什么。一些细节怎么样,因为我是新手。
-
哪里有链接告诉我这个“投票”等是什么意思?
-
您是将 MSI 构建为 x86 还是 x64?
-
在 VS 2010 中,配置为 Active(Release),平台为 Active(x64)。在 wxs 文件中,Package 是 Platform="x64"。这对于主安装程序和合并模块都是一样的。