C++ 安装合适的钻头Visual C++;通过安装项目运行时库

C++ 安装合适的钻头Visual C++;通过安装项目运行时库,c++,C++,背景: 我有一个解决方案,其中包含许多其他C#项目,一个VC++项目,它只支持编译为x64或Win32(但不支持任何CPU)。为了使应用程序(实际上是第三方应用程序的宏)运行,它需要VisualC++运行库(X86)或(x64)(宏将在X64和x86操作系统上运行)。 问题是: 我想创建一个VisualStudio安装项目,它将在X86和X64操作系统上安装宏,而我的问题是指定什么VisualC++运行库使用一个先决条件。如果选择了(x64和x86)都比运行StupU.EXE时有一个运行时错误消

背景: 我有一个解决方案,其中包含许多其他C#项目,一个VC++项目,它只支持编译为x64或Win32(但不支持任何CPU)。为了使应用程序(实际上是第三方应用程序的宏)运行,它需要VisualC++运行库(X86)或(x64)(宏将在X64和x86操作系统上运行)。 问题是: 我想创建一个VisualStudio安装项目,它将在X86和X64操作系统上安装宏,而我的问题是指定什么VisualC++运行库使用一个先决条件。如果选择了(x64和x86)都比运行StupU.EXE时有一个运行时错误消息,像x86操作系统一样,则无法运行X64可执行文件,比如VisualC++运行库(X64)工具包……(安装程序在后面调用)。 因此,我需要一个比特条件,或者类似的东西来告诉安装程序VisualC++运行库的BITY版本要安装……我不确定这是可能的,或者甚至在这样的代码应该放置在设置。 谢谢大家的支持,,
Vali

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

1) 制作两个单独的MSI,一个用于x86,一个用于x64,并要求用户运行适合其平台的MSI。这是一个非常常见的解决方案,如果您的安装文件是通过internet分发的,则具有减少下载大小的优势(因为只需要提供一种体系结构的模块)

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


我的首选是1),因为这是使用当前设置最容易实现的,而且这是一个众所周知的安装范例(例如,Microsoft倾向于在其下载站点上为大多数产品提供单独的x86、x64和安腾安装程序).

我认为,使用Visual Studio安装项目构建的单个MSI无法部署到x86和x64平台。您有两个选择:

1) 制作两个单独的MSI,一个用于x86,一个用于x64,并要求用户运行适合其平台的MSI。这是一个非常常见的解决方案,如果您的安装文件是通过internet分发的,则具有减少下载大小的优势(因为只需要提供一种体系结构的模块)

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


我的偏好是1),因为这是使用当前设置最容易实现的,而且这是一种众所周知的安装模式(例如,Microsoft倾向于在其下载站点上为大多数产品提供单独的x86、x64和安腾安装程序)。

您是否考虑过使用不同的安装技术,例如WiX,您在哪里获得了更多的控制?您是否考虑过使用不同的安装程序技术,例如WiX,您在哪里获得了更多的控制?