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

Ter*_*ver 25 .net c# xcopy .net-4.0

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

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

  1. 它是否内置于我的应用程序中,因为我针对.NET X?
  2. 它是否已经安装在目标机器上?

我喜欢这个功能.我想知道将来如何利用它.

Han*_*ant 22

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

在此输入图像描述

有点太gobbledegooky也许但很好.在这篇博文中很好地描述了它.

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

  • 这篇MSDN文章中有更多信息.http://msdn.microsoft.com/en-us/library/w671swch.aspx (2认同)