2011-02-09 133 views
5

在开始我的应用程序(在表单加载)之前,我想检查并确保.NET框架(3.5或更高版本)安装在机器上 - if不是我想提示用户下载并安装它(简单的MessageBox与互联网链接到微软网页将是最好的主意没有?) 所以,这实际上需要两个问题...如何检查是否安装了.Net框架[C#/ WPF]

a)如何做我确定如果安装了.NET FrameWork 3.5或更高版本? (我不信任或只想查找C:\ Program Files \ Microsoft.NET文件夹,似乎很容易出错?) 由于这非常重要,因此在C#中必须有一种很好的方式来确定用户在他的机器上运行的.NET版本?我只是不知道如何......如何在一个MessageBox中粘贴一个INTERNET LINK(超链接?)?所以,如果用户没有安装.NET框架(1.1或2.0),我可以让他们只需点击链接去下载它?

任何帮助/提示将不胜感激。

感谢, 锭

+0

看到这个问题:http://stackoverflow.com/questions/951856/is-there-an-easy-way-to-check-net-framework-verison-using-c – 2011-02-09 12:50:19

回答

3

a)您必须使用非.NET语言(C++,VB6等)而不是Form_Load引导程序(其他海报是正确的 - 如果未安装该框架,.NET程序将不会跑)。一个例子是在这里:

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

b)你不能把一个超链接在一个MessageBox,所以你必须创建自己的弹出式对话框(表格)。 编辑:该表单/对话框必须在引导程序中。

0

您的代码将不无框架运行,所以你将无法显示该对话框。

该检查应该在安装时完成。

+0

那么,从技术上说,你可以有一个.NET 2.0应用程序boostrap(或其他语言,如C++) – RQDQ 2011-02-09 12:50:50

1

你不能从你的应用程序做到这一点。应用程序将无法启动。

您可以执行的一个选项是进行ClickOnce安装,以验证是否安装了.NET。

0

所以你想制作一个.NET应用程序来检查.NET是否安装在机器上?

如果未安装.NET Framework,那么您如何设想该程序能够首先启动?

0

这个问题没有意义。

作者希望能够检测.NET Framework 3.5是否已安装,但提供了到.NET Framework 1.1和/或.NET Framework 2.0的链接。除了事实上,您可以轻松构建一个完全像Paint.net一样的安装项目(虽然他们确实有引导程序),但您需要确保安装正确版本的.NET Framework。

如果安装的唯一东西是.NET Framework 1.1,并且没有为用户安装.NET Framework 4.0/3.5,则会产生严重问题。

如果您推送.NET Framework 4.0,那么您不会帮助您的其他程序员。