部署c#win表单应用程序时的兼容性问题

部署c#win表单应用程序时的兼容性问题,c#,winforms,deployment,C#,Winforms,Deployment,在CD上部署windows窗体应用程序时,我遇到了很多麻烦。我已经在.NETFramework2.0中创建了应用程序,我想在安装盘中包含框架的设置。该应用程序将在WindowsXP上运行(该死,用户要求)。我尝试在VS2010中通过单击一次部署来部署它,但安装程序没有在winXP上运行。(错误-.NET framework 4.0是运行应用程序所必需的)。是否有任何方法可以部署可以在winXP(.NET 2.0)、win7(.NET 4.0)-32位和64位环境下运行的应用程序。32位应用程序将

在CD上部署windows窗体应用程序时,我遇到了很多麻烦。我已经在.NETFramework2.0中创建了应用程序,我想在安装盘中包含框架的设置。该应用程序将在WindowsXP上运行(该死,用户要求)。我尝试在VS2010中通过单击一次部署来部署它,但安装程序没有在winXP上运行。(错误-.NET framework 4.0是运行应用程序所必需的)。是否有任何方法可以部署可以在winXP(.NET 2.0)、win7(.NET 4.0)-32位和64位环境下运行的应用程序。

32位应用程序将在32位或64位操作系统上运行

.NET2.0应用程序将在.NET2.0或.NET4.0上运行


听起来你的安装程序是对.NET4的唯一依赖。检查您在项目上设置的发布先决条件。

Visual Studio 2010没有为部署项目提供.Net 2.0先决条件。MSDN技术支持代表对此进行了解释(?):

在VS2010中,它不支持将.NETFramework2.0设置为 先决条件您可以改为设置.NET 3.5 SP1客户端配置文件。 尽管您的应用程序仍然是.NET2.0、.NET3.5的构建目标 客户端配置文件是一个轻量级的.NET framework运行时 支持运行基于.NET 2.0的应用程序。所以微软删除了.NET 先决条件列表中的2.0

但在该线程中有一个解决方案:

如果从VS2008引导程序包中获取.NET 2.0包 文件夹并将其复制到VS2010的相应位置,即可正常工作 好的我在运行WindowsXP和no.NET的虚拟机上测试了它

在Vista或Windows 7上,VS2008软件包如下所示:

c:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFX(这是.NET 2.0)

在Vista或Windows 7上,VS2010软件包如下所示:

c:\Program Files\Microsoft SDK\Windows\v7.0A\BootStrapper\Packages


有关更多详细信息,请参阅该线程中的其他帖子。

您开发了2.0v或4.0v.NET应用程序吗?请查看Wix(Windows Installer XML),它可以更灵活地构建MSI。您可能必须构建一个引导程序(setup.exe),确定目标系统上已经存在的内容,然后为该平台运行正确的MSI。.NET是向前兼容的,您不需要4.0就可以在Windows 7等上运行。只需针对.NET Framework 2.0将其作为目标。你不能两者都支持。。当然,仅仅要求.NET4.0要容易得多,因为它支持XP