为什么我的.NET 4应用程序知道没有安装.NET 4

时间:2012-04-05 16:16:50

标签: c# .net .net-4.0 xcopy

我开发了一个针对.NET 4的应用程序,并且XCOPY将它安装到Windows XP计算机上。我告诉机器的所有者他们需要安装.NET Framework 4来运行我的应用程序,他告诉我他做了(不是一个可靠的来源)。当我运行应用程序时,我看到一个消息框,说该应用程序需要.NET Framework 4,我想安装它吗?单击Yes按钮将我带到Microsoft网站,稍后单击几次,安装了.NET 4,并且应用程序已成功启动。

过去,XCOPY将.NET应用程序安装到没有安装正确版本的.NET的计算机上会导致应用程序在启动时崩溃而没有向用户显示有用的信息。这次为什么会有所不同?

  1. 它是否内置于我的应用中,因为我的目标是.NET X?
  2. 是否已在目标计算机上安装了某些内容?
  3. 我喜欢这个功能。我想知道将来如何利用它。

1 个答案:

答案 0 :(得分:22)

这是一个非常保密的秘密。当您以.NET 4为目标并且用户在未安装.NET 4时运行应用程序时,将会发生这种情况。或者,当您定位早期版本并在Windows 8上运行应用程序时,用户将看到此对话框:

enter image description here

有点太gobbledegooky也许但很好。它在this blog post中有很好的描述。

请记住,.NET 4具有最低Windows版本和Service Pack要求。最低配置为XP SP3,Vista SP1,Win7 RTM。因此,这不是安装正确服务包的神奇解决方案。