前段时间忙了很久的系统总算上线了,由于是WinForm程序不能整个文件夹的发给客户使用。所以必须要打包,记得以前在VS2005中是自带部署功能的。现在换了VS2013那个部署功能完全弄不清方向。最后在网上找了NSIS这个开源的安装程序制作工具。翻看了一下它的说明,和网上的一些教程。最后打包出了一个个人认为还比较可以的安装程序。其中主要遇到的两个问题:
- 判断操作系统是否安装.NET
- 给安装界面配上友好的皮肤
由于我的程序是用C#写的,所以必需要判断客户机器上面是否安装了.NET框架。使用NSIS解决如下:
在代码中加上以下代码:
[code lang=”vb”]
#– 判断.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请加QQ群:44329330 联系群主进行安装。”
Abort
ExitCheckFramework4:
FunctionEnd
[/code]
再在.onInit函数第一句里面加上:“Call CheckFramework4”
OK,当你发给客户安装时如果客户没有安装.net4.0那么就会提示出该消息框。其实这里还可以把.net也打包进去,但是那样也比较麻烦。会导致安装包比较大。所以我采取的是联系我们人工安装。
本博客所有文章如无特别注明均为原创
如果觉得对你有帮助,可以通过下方打赏对作者表示鼓励
本文采用知识共享署名-非商业性使用-相同方式共享
如若转载,请注明出处:《NSIS安装程序制作工具判断系统是否安装.NET》https://www.fangsi.net/809.html
评论列表(2条)
写死版本号的话,如果对方用的是v3.5或者v2.0也会提示了
@xjwebs:是的,但是你可以在里面多加几个判断。这种方式也不一定用到检测.NET上面。其它需要判断注册表的也能用到。