2010-09-23 55 views
6

如何在.NET 3.5上编写的WinForms应用程序启动时检查.net框架版本?如果.net 3.5没有安装,应用程序应该显示关于它的消息(可能与.net安装程序或其他一些链接)。现在它显示了一些用户不清楚的错误。从WinForms应用程序检查.Net框架版本

+2

如果未安装.Net 3.5框架,您会如何运行.Net 3.5应用程序?你有没有在这看到这个catch-22? – slugster 2010-09-23 12:03:05

+0

++++ slugster !!! – Aliostad 2010-09-23 12:08:30

回答

2

看看这个C++项目应该做你要求的。

http://www.codeproject.com/KB/mcpp/DotNetTester.aspx

你只设置你的快捷方式来启动该应用程序,这又将启动您的.net应用程序。

从项目描述:

例如(测试最少FW 1.1和启动应用程序):

dotNetTester.exe 1.1 C:\ TEMP \ Myapp.exeC:\温度\ Myapp.exe

2

你必须创建一个启动应用或者.NET 2.0中或作为非托管的应用程序写入(覆盖如果没有安装在所有版本的.NET),并启动第一,然后如果NET 3.5的安装它会启动真正的应用程序,否则它会显示一个很好的错误消息。

但是,更好的解决方案是让您的安装程序安装.Net 3.5,这样您就不必担心它(但这显然不适用于XCopy部署等)。

1

我重读你的问题的文章 - 你不能.NET x未安装时运行.NET x ver应用程序!结束。

如果你安装了它,那么对于其他为特定目的

使用System.Environment.Version找到你所使用的版本目前。

要知道所有安装的版本,check this

枚举HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP的子项。每个子项都是.Net版本。如果它存在于机器上,它应该具有Install = 1值,显示Service Pack的SP值以及使用MSI安装的MSI = 1值。 (.NET 2.0在Vista没有最后一个例子,因为它是操作系统的一部分)

你可以访问此注册表项“HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ NET Framework安装\新民主党”和迭代值。

+0

这是一个问题:如果安装了framework 4.0,而3.5不是... – 2010-09-23 12:11:21

+0

我重新阅读Danny这个问题,并更正了我的答案。 – Nayan 2010-09-23 12:12:40

相关问题