通过安装项目安装适当的位Visual C ++运行时库

时间:2010-03-30 06:28:34

标签: c++

背景:  我有一个解决方案,其中包含其他C#项目,一个VC ++项目,只支持编译为x64或Win32(但不是任何CPU)。为了运行应用程序(实际上是第三方应用程序的宏),它需要Visual C ++运行时库(x86)或(x64)(宏将在x64和x86操作系统上运行。)

问题:  我想创建一个Visual Studio安装项目,它将在x86和x64操作系统上安装宏,我遇到的问题是指定Visual C ++运行时库使用的先决条件。如果两者都被选中(x64和x86),而不是我在运行setup.exe时遇到运行时错误消息,就像在x86操作系统上一样,你无法运行x64可执行文件,例如Visual C ++运行时库(x64)工具包是...(其中在后面设置呼叫)。  所以我需要一个比特条件,或类似的东西告诉设置Visual C ++运行时库试图安装什么位数版本...我不确定这是否可能,或者甚至这样的代码应该是放在设置中。

感谢您的支持,   瓦利

1 个答案:

答案 0 :(得分:1)

我相信您无法使用Visual Studio安装项目构建的单个MSI部署到x86和x64平台。你有几个选择:

1)创建两个独立的MSI,一个用于x86,一个用于x64,并要求用户为其平台运行适当的MSI。这是一个非常常见的解决方案,如果您的安装文件是通过互联网分发的,则具有减少下载大小的优势(因为只需要提供一个架构的模块)。

2)使用替代工具,如WiX(如评论中所述)或InstallShield等。这确实提供了可在不同平台上运行的单个安装程序,但创建和维护起来有点困难。

我的偏好是1),因为使用您当前的设置是最简单的事情,这是一个众所周知的安装程序范例(微软倾向于为他们的大多数产品提供单独的x86,x64和Itanium安装程序下载网站,例如)。

相关问题