安装 VC++如果系统是 64 位,则运行时为 64 位
我正在创建一个 Visual Studio 2010 安装项目来安装我的应用程序。我的应用程序通过针对不同系统位数提供多个可执行文件来工作,并检测您是在 32 位还是 64 位系统上运行。
如果是 64 位系统,我希望安装程序安装 Visual C++ 2010 x64 运行时。将此设置为先决条件,将禁用 32 位系统上的安装。有什么方法可以将此设置为先决条件,但仅限于 64 位系统,而无需求助于两个不同的安装程序?
I am creating a Visual Studio 2010 Setup project for installing my application. My application works by having multiple executable for different system bitness, and detects if you are running on a 32-bit or 64-bit system.
I'd like to have the Visual C++ 2010 x64 Runtime installed by the installer if it is a 64-bit system. Setting this as a prerequisite, disables installation on 32-bit systems. Is there any way to set this as a prerequisite, but only on 64-bit systems, without resorting to two different installers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要为64位版本和32位版本创建单独的MSI文件以处理WOW64的特殊性。
不可能让一个 MSI 同时安装 64 位和 32 位版本:
因为您将拥有单独的 MSI 文件,所以应该很容易分别将 64 位 VC++ 运行时可再发行组件添加到 64 位 MSI,将 32 位可再发行组件添加到 32 位 MSI。
当然,您可以创建一个引导程序来检查系统架构,然后启动相应的 MSI 文件。我相信 dotNetInstaller 提供了这样一种机制,如 相关问题。
You need to create separate MSI files for the 64-bit version and the 32-bit version to deal with the specialities of WOW64.
It is not possible to have one single MSI install both a 64-bit and a 32-bit version:
Because you will have separate MSI files it should be easy to add the 64-bit VC++ Runtime Redistributables to the 64-bit MSI and the 32-bit ones to the 32-bit MSI respectively.
Of course, you may create a bootstrapper that checks the system architecture and then launches the respective MSI file. I believe dotNetInstaller offers such a mechanism as has been indicated in a related question.