如何检查是否安装了 .Net Framework [C# / WPF]

5
在启动我的应用程序(在表单加载时),我想检查并确保机器上安装了.NET Framework(3.5或更高版本) - 如果没有,我想提示用户下载和安装它(使用一个带有指向Microsoft WebPage的INTERNET链接的简单MessageBox是最好的想法,对吧?
所以,这实际上涉及两个问题...
a) 我如何确定.NET FrameWork 3.5或更高版本是否已安装?(我不信任也不想仅查找C:\Program Files\Microsoft.NET文件夹,似乎容易出错,对吧?) 既然这非常关键,肯定有一种漂亮的方法在C#中确定用户在其计算机上运行的.NET版本。只是我不知道怎么做。
b) 如何在MessageBox中粘贴INTERNET链接(超链接)?这样,如果用户没有安装.NET Framework(1.1或2.0),我可以让他们简单地单击链接以下载它?
任何帮助/提示将不胜感激。
谢谢, Din

请参考这个问题:https://dev59.com/MXNA5IYBdhLWcg3wdtpd - Fredrik Hedblad
6个回答

3
a) 如果.NET框架未安装,则需要使用非.NET语言(如C ++,VB6等)而不是Form_Load来引导程序。以下是一个示例:http://www.codeproject.com/KB/mcpp/DotNetTester.aspx b) 你不能在MessageBox中放置超链接,所以你需要创建自己的弹出对话框(一个表格)。编辑:该表格/对话框必须位于引导程序中。

1

你不能从你的应用程序中这样做。应用程序将无法启动。

你可以选择创建一个 ClickOnce 安装程序,它将验证 .NET 是否已安装。


1

0

没有框架,你的代码将无法运行,因此你将无法显示对话框。

这个检查应该在安装时进行。


技术上讲,你可以有一个.NET 2.0应用程序引导程序(或另一种语言,如C++)。 - RQDQ
@RQDQ,你的意思是说可以在没有安装相关框架的情况下安装 .net 应用程序吗? - Shiraz Bhaiji
当然不是免费的午餐。正如我在上面回答的那样(这个评论只是为了解决原帖可能尝试解决的边缘情况)。 - RQDQ

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,那么你并没有帮助你的同行程序员。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接