NSIS安装程序制作工具判断系统是否安装.NET

时间:2024-01-14 20:55:14

前段时间忙了很久的系统总算上线了,由于是WinForm程序不能整个文件夹的发给客户使用。所以必须要打包,记得以前在VS2005中是自带部署功能的。现在换了VS2013那个部署功能完全弄不清方向。最后在网上找了NSIS这个开源的安装程序制作工具。翻看了一下它的说明,和网上的一些教程。最后打包出了一个个人认为还比较可以的安装程序。其中主要遇到的两个问题:

  1. 判断操作系统是否安装.NET
  2. 给安装界面配上友好的皮肤

由于我的程序是用C#写的,所以必需要判断客户机器上面是否安装了.NET框架。使用NSIS解决如下:
在代码中加上以下代码:

01 #-- 判断.NET4.0是否安装 --#
02 Function CheckFramework4
03  ;Clinet 和 Full存在一个都说明安装了Framework
04  ClearErrors
05  ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "Install2"
06  
07  
08  IfErrors 0 ExitCheckFramework4
09   ClearErrors
10   ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Install"
11  IfErrors 0 ExitCheckFramework4
12     ;没有安装Framework
13     MessageBox MB_OK "装程序无法检测到.NET Framework V4.0 $\n请加QQ群:44329330 联系群主进行安装。"
14     Abort
15  
16  
17  ExitCheckFramework4:
18 FunctionEnd

再在.onInit函数第一句里面加上:“Call CheckFramework4”
OK,当你发给客户安装时如果客户没有安装.net4.0那么就会提示出该消息框。其实这里还可以把.net也打包进去,但是那样也比较麻烦。会导致安装包比较大。所以我采取的是联系我们人工安装。

转http://www.fangsi.net/archives/809.html#6685007-sqq-1-85588-a3f995ad60ccf80e4739d0cda6e22fe3