x32 和 x64 文件的 VS 安装程序
VS Installer for both x32 and x64 files
我在 VS2010 (.net) 中构建了两个版本的程序:x86 和 x64 Windows。
然后我尝试将两个变体放在一个安装程序中,以便它确定(使用 VersionNT64 条件或用户对话框)它 运行 在什么系统上,并根据它安装适当的文件。
安装程序设置为针对 x86 平台,因此在 x86 系统上它可能是 运行。
问题是当我尝试将 x64 文件放入 x86 安装程序时 VS 出错:
"ERROR: Module 'Microsoft_VC100_CRT_x64.msm' targeting 'x64' cannot be added to a package targeting 'x86'"
(虽然 x64 安装程序中的 x86 文件没问题)
有没有办法绕过这个错误?是否可以将 x64 文件放入 x86 安装程序中?或者唯一的方法是每个系统位数有两个安装程序?
Short Answer: If you don't need to target REAL x86 machines (as in real 32-bit hardware as opposed to newer 64-bit machines with x86 subsystems), then you can just set your package 64-bit and include x86 components. I think that should work.
技术限制:64-bit
软件包无法安装在真正的 x86
机器,因此标记为 x86
的包不能包含 64-bit
个组件(或者无法安装在目标平台上)。 x64
MSI 可以同时安装 x86
组件(32 位)和 x64
组件(64 位)- 它们应该针对不同的安装路径。以下是一些详细信息:Different Packages are Required for Different Processor Architectures(Microsoft 的 Heath Stewart)。
Setup.exe Launcher:我想你可以送一个setup.exe
包含两个不同的 MSI 文件:一个用于 x86
和一个用于 x64
并安装所需的一个取决于目标系统? setup.exe
必须是 x86
才能在 [=11= 上启动]台机器。在这一点上我没有做太多,大多数机器都是 64 位的,所以我使用 x86(安装在任何机器上)或 x64(安装在任何 64 位机器上)。
我在 VS2010 (.net) 中构建了两个版本的程序:x86 和 x64 Windows。
然后我尝试将两个变体放在一个安装程序中,以便它确定(使用 VersionNT64 条件或用户对话框)它 运行 在什么系统上,并根据它安装适当的文件。 安装程序设置为针对 x86 平台,因此在 x86 系统上它可能是 运行。
问题是当我尝试将 x64 文件放入 x86 安装程序时 VS 出错: "ERROR: Module 'Microsoft_VC100_CRT_x64.msm' targeting 'x64' cannot be added to a package targeting 'x86'" (虽然 x64 安装程序中的 x86 文件没问题)
有没有办法绕过这个错误?是否可以将 x64 文件放入 x86 安装程序中?或者唯一的方法是每个系统位数有两个安装程序?
Short Answer: If you don't need to target REAL x86 machines (as in real 32-bit hardware as opposed to newer 64-bit machines with x86 subsystems), then you can just set your package 64-bit and include x86 components. I think that should work.
技术限制:64-bit
软件包无法安装在真正的 x86
机器,因此标记为 x86
的包不能包含 64-bit
个组件(或者无法安装在目标平台上)。 x64
MSI 可以同时安装 x86
组件(32 位)和 x64
组件(64 位)- 它们应该针对不同的安装路径。以下是一些详细信息:Different Packages are Required for Different Processor Architectures(Microsoft 的 Heath Stewart)。
Setup.exe Launcher:我想你可以送一个setup.exe
包含两个不同的 MSI 文件:一个用于 x86
和一个用于 x64
并安装所需的一个取决于目标系统? setup.exe
必须是 x86
才能在 [=11= 上启动]台机器。在这一点上我没有做太多,大多数机器都是 64 位的,所以我使用 x86(安装在任何机器上)或 x64(安装在任何 64 位机器上)。