2010-03-30 39 views
1

上下文: 我有一个解决方案,其中包含其他C#项目,一个只支持x64或Win32(但不是任何CPU)编译的VC++项目。为了使应用程序(实际上是第三方应用程序的宏)能够运行,它需要Visual C++运行时库(x86)或(x64)(宏可以在x64和x86操作系统上运行。)通过安装项目安装适当的位数Visual C++运行时库

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

感谢大家的支持, 瓦利

+0

您是否考虑过使用不同的安装程序技术,例如WiX,您可以获得更多的控制权? – 2010-03-30 06:30:57

回答

1

我相信,你不能部署到x86和x64平台与单个MSI建有一个Visual Studio安装项目。您有几个选项:

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

2)使用另一种工具,如WiX(如评论中所建议的)或InstallShield等。这确实提供了一个可在不同平台上工作的安装程序,但创建和维护有点困难。

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

相关问题