我有两个版本的VS2010(.net)内置程序:用于x86和x64 Windows。
然后,我尝试将两个变体都放在一个安装程序中,以便它确定(使用VersionNT64条件或用户对话框)在哪个系统上运行,并取决于应安装适当的文件。 安装程序设置为目标x86平台,因此可以在x86系统上运行。
问题是当我尝试将x64文件放入x86安装程序时,VS给出了错误: “错误:无法将以'x64'为目标的模块'Microsoft_VC100_CRT_x64.msm'添加到以'x86'为目标的程序包中” (尽管在x64安装程序中可以使用x86文件)
是否有解决此错误的方法?是否可以将x64文件放入x86安装程序中?还是唯一的办法是每个系统位都有两个安装程序?
答案 0 :(得分:0)
简短答案 :如果您不需要定位REAL x86计算机(例如,在真正的32位硬件中,而不是在带有x86子系统的较新的64位计算机上) ),那么您只需将软件包设置为64位并包含x86组件即可。我认为应该可以。
技术限制 : 64-bit
软件包不能安装在真实的 x86
计算机,因此标记为 x86
的软件包不能包含 64-bit
组件(或者不能安装在其目标平台上)。 MSI可以同时安装 x64
组件(32位)和 x86
组件( 64位)-它们应针对不同的安装路径。以下是一些详细信息:Different Packages are Required for Different Processor Architectures(Microsoft的Heath Stewart)。
Setup.exe启动器 :我想您可以提供一个包含两个不同MSI文件的 x64
:一个用于< strong> setup.exe
和 x86
一个,并根据目标系统安装所需的一个? x64
必须为 setup.exe
,才能在 x86
机器上启动。此时,我并没有做太多的事情,大多数计算机都是64位的,所以我使用x86(安装在任何计算机上)或x64(安装在任何64位计算机上)。