通知用户.exe适用于比当前安装的更高版本的.NET

时间:2019-06-20 19:06:07

标签: c# .net winforms

使用一个简单的单个.exe应用程序,就可以定位比最终用户计算机上安装的.NET框架版本新的.NET Framework版本,并在启动该应用程序时以某种方式通知最终用户他/她需要安装新版本的.NET才能使用该应用程序?

通常情况下,当启动的.NET .exe是针对.NET的新版本(而不是当前安装的版本)进行编译时,似乎有时会弹出一条可理解的消息,指出要运行该应用程序,您必须首先安装.NET Framework版本X。很好但是,它不一定会通知您安装正确/所需的版本(请参见下面的屏幕快照,即使需要4.6也要安装4.0.30319),而在其他情况下,弹出的消息似乎只是一个通用的CLR错误,带有没有说明这是由于安装了错误的.NET版本造成的。

是否存在任何巧妙的方法来向最终用户生成/显示一致/可靠的,更有意义的或定制的消息,从而使他/她永远不会仅收到通用CLR错误或表明消息的​​版本的消息。 .NET是必需的,但它指出要安装的版本错误?

当应用程序针对.NET 4.6时,安装了.NET 3.5.1的Windows 2008R2:

enter image description here

当应用程序针对.NET 4.6时安装了.NET 4.5的Windows 2012R2:

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以编写一个预启动程序,检查Windows系统以查看安装了什么。然后,您可以弹出任何想要的警告,或者如果一切正常,则只需启动主程序。

此外,正如Lex Li所说,您可以创建安装程序包。我们在我工作的地方使用Inno Setup,它是免费的并且非常全面。