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

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

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

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

#-- 判断.NET4.0是否安装 --#
Function CheckFramework4
 ;Clinet 和 Full存在一个都说明安装了Framework
 ClearErrors
 ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "Install2"


 IfErrors 0 ExitCheckFramework4
  ClearErrors
  ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Install"
 IfErrors 0 ExitCheckFramework4
    ;没有安装Framework
    MessageBox MB_OK "装程序无法检测到.NET Framework V4.0 $\n"
    Abort


 ExitCheckFramework4:
FunctionEnd

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

原文:http://www.fangsi.net/809.html