zoukankan      html  css  js  c++  java
  • NSIS安装程序制作工具判断系统是否安装.NET

    前段时间忙了很久的系统总算上线了,由于是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 "SOFTWAREMicrosoftNET Framework SetupNDPv4Client" "Install2"
    06  
    07  
    08  IfErrors 0 ExitCheckFramework4
    09   ClearErrors
    10   ReadRegDWORD $0 HKLM "SOFTWAREMicrosoftNET Framework SetupNDPv4Full" "Install"
    11  IfErrors 0 ExitCheckFramework4
    12     ;没有安装Framework
    13     MessageBox MB_OK "装程序无法检测到.NET Framework V4.0 $ 请加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

  • 相关阅读:
    ArrayList removeRange方法分析
    LinkedHashMap源码分析(基于JDK1.6)
    LinkedList原码分析(基于JDK1.6)
    TreeMap源码分析——深入分析(基于JDK1.6)
    51NOD 2072 装箱问题 背包问题 01 背包 DP 动态规划
    51 NOD 1049 最大子段和 动态规划 模板 板子 DP
    51NOD 1006 最长公共子序列 Lcs 动态规划 DP 模板题 板子
    8月20日 训练日记
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/Bonker/p/3670270.html
Copyright © 2011-2022 走看看