2012-11-07 70 views
0

这是一个两部分问题。我需要解决两个部分的完整答案。要求.NET 4.0 for .NET 4.5应用程序

第一部分

我有一个.NET 4.5的桌面应用程序,我想知道如果我可以,如果在应用程序的Installshield的项目“要求”中,我剔它部署到Windows XP”。 NET 4.0完整软件包安装“复选框,而不是”.NET 4.5完整软件包安装“之一。

我读here说:

您可以编译应用程序的.NET 4.5和4.0运行时运行它 - 那就是直到你打一个新功能,不上4.0存在。在这个时候应用程序在运行时炸弹。假设你编写了一些主要是.NET 4.0的代码,但是只有.NET 4.5的一些新特性,比如aync/await被深埋在应用程序的内部,偶尔会触发它。 .NET会很高兴地启动你的应用程序,并且运行所有4.0版本,直到它达到4.5代码 - 然后在运行时不经意地崩溃。

所以我知道我的应用程序在.NET 4.0上运行Windows XP的能力取决于。让我们假设这个问题,我的应用程序不会像上面的报价中所描述的那样崩溃。

第二部分

我还需要知道什么样的影响选择“.NET 4.0完全软件包安装”,而不是“.NET 4.5完整软件包安装”与安装应用程序到计算机时将有.NET 4.5,但不是.NET 4.0,已安装。 Installshield安装程序会将安装的.NET 4.5软件包看作是.NET 4.0,因此不会投诉吗?或者它会挑剔,并阻止应用程序的安装,因为具体.NET 4.0没有安装?

回答

1

您需要做的第一件事是将项目的Target Framework版本从4.5更改为4.0并重建。如果你使用了任何4.5特定的功能,那么你现在就会知道。你需要修复错误。

第2部分不是问题,.NET 4.5是用于.NET 4.0的替代。安装程序不会首先卸载4.5,因此它可以安装4.0,这将打破该机器上所有现有的.NET应用程序。

+0

关于第1部分,除了缺少访问新的4.5功能之外,是否有针对4.0的缺点?关于第2部分,我已经知道4.5代替4.0。但我的问题是:Installshield知道吗? – HappyNomad

+2

1:不。 2:Installshield是必须知道这一点的业务。 –

相关问题