C# VC++;根据paltform目标将先决条件转换为单个安装程序

C# VC++;根据paltform目标将先决条件转换为单个安装程序,c#,.net,visual-studio-2010,setup-project,prerequisites,C#,.net,Visual Studio 2010,Setup Project,Prerequisites,我有一个.NET4.0应用程序,需要安装VC++2010可再发行软件包。在使用VisualStudioStudioProject创建安装项目时,我选择了 Visual C++ 2010运行库(X64)和 Visual C++ 2010运行库(X86),以支持32位和64位平台。 在32位机器上测试安装程序时,会出现错误 系统组件Visual C++ 2010运行时的先决条件检查 库(x64)失败,错误消息如下:“安装” 仅在X64上支持Visual C++ 2010运行库(X64) 机器。” 如

我有一个.NET4.0应用程序,需要安装VC++2010可再发行软件包。在使用VisualStudioStudioProject创建安装项目时,我选择了 Visual C++ 2010运行库(X64)和 Visual C++ 2010运行库(X86),以支持32位和64位平台。 在32位机器上测试安装程序时,会出现错误

系统组件Visual C++ 2010运行时的先决条件检查 库(x64)失败,错误消息如下:“安装” 仅在X64上支持Visual C++ 2010运行库(X64) 机器。”


<>如何使VisualC++ 2010运行库在平台目标下有条件地执行。

< P>,如果VC ReDIST包不允许,则不能。原因是不同的体系结构需要单独的MSI设置:


因此,如果您真的要构建一个应用程序和设置,该应用程序和设置同时适用于32位和64位,那么您将构建两个设置,一个是使用x86 VC redist(32位)的x86设置,另一个是使用redist(64位)的x64设置。您可以添加一个条件,阻止x86安装程序在x64上安装,将客户端引用x64安装程序

或者我可以使用平台目标x86和x86 VC redist作为prerequsite进行一次设置。目前,我的所有项目平台目标仅设置为
x86
。所以,如果安装程序是在64位机器上执行的,那么就安装x86 VC redist。可以吗?如果您将所有代码都设置为x86,那么是的,您只需要使用x86 redist进行x86安装。这一切都很有效。是的!!我已使用“一切正常”完成设置。:)