前段时间忙了很久的系统总算上线了,由于是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

NSIS安装程序制作工具判断系统是否安装.NET的更多相关文章

  1. 基于NSIS脚本开发的安装程序制作软件:易量安装

    原文 基于NSIS脚本开发的安装程序制作软件:易量安装 前几天“萝卜”给我推荐了一款安装程序制作工具——易量安装. 易量安装是一款安装程序制作软件,基于著名的NSIS(Nullsoft Scripta ...

  2. 简单易用的安装文件制作工具NSIS的使用demo示例

    安装文件制作工具NSIS 使用总结   在给客户开发客户端软件时,为避免技术人员亲自上门安装带来额外的成本损耗,通常我们都会自作一个安装包,以确保我们开发的程序的相关依赖资源.环境在客户端运行前能自动 ...

  3. .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)

    .net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...

  4. .net Windows服务程序和安装程序制作图解

    最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作不成功,可能是开发环境或项目配置的不同,这里把自 ...

  5. VS安装程序制作之MSI/EXE

    MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据.MSI文件将程序的组成文件与功能关联起来 ...

  6. Windows7安装程序无法定位现有系统分区,也无法创建新的系统分区

    解决Windows7.Windows8系统安装时“安装程序无法定位现有系统分区,也无法创建新的系统分区”提示. 方法一 把Windows7镜像发在你电脑的非系统盘的其他硬盘上. 重启机器,通过U盘启动 ...

  7. vb6.0安装程序制作图解教程

    如何制作vb安装程序,是在学习Vb6.0过程中比较常见的一个入门问题. 在此笔者介绍一个最简单的安装方法,就是用VB自带的打包程序进行打包,虽然比较普通,不过内部却有不少窍门,相信这一点知道的人可能不 ...

  8. 解决Win7系统安装时“安装程序无法定位现有 系统分区,也无法创建新的系统分区”提示

    第一步:U盘启动装系统时,格式化主分区的内容后出现上面的问题 第二步:重启机器,通过U 盘启动.进入win pe系统. 第三步:把windows 7的ISO镜像解压到电脑的非系统盘的其他硬盘上.如D: ...

  9. win8转win7+真正解决 “安装程序无法定位现有系统分区,也无法创建新的系统分区”的方法

    问题情况:win8电脑转win7系统,出现问题:“安装程序无法定位现有系统分区,也无法创建新的系统分区”   第一种:猜测可行的方法: 1.老毛桃U盘启动电脑,进入PE系统后,直接使用Diskgeni ...

随机推荐

  1. Linux 系统sudo命令

    Linux系统中有许多的系统命令和服务为了安全性考虑,因此只有root超级用户才可以去使用.如果普通用户需要做此类操作,则可以使用su - 命令(减号(-)指完全切换到新的用户,即把环境变量信息也变更 ...

  2. 升级openssh基于openssl

    OpenSSH is the premier connectivity tool for remote login with the SSH protocol. It encrypts all tra ...

  3. 阿里云ESC搭建SVN服务端

    CentOS7)下yum命令快速安装svn服务端,学习在思考中独孤中度过,在孤独中进取! 01.SVN服务的安装(subversion) 02.ESC安全组策略 1.在线安装svn服务 $ sudo  ...

  4. My Sql 高效分页

    /* *普通分页 *在数据文件上偏移1000000查出10条 */ select * from zoldesk_92game_net_ecms_bj where classid=303 ORDER B ...

  5. Linux下PHP5.5编译参数详解

    一.配置参数 ./configure --prefix=/data/app/php --with-config-file-path=/etc --with-mysql=/usr\ --with-mys ...

  6. [转载]安装archlinux 以后没有 ifconfig,route ,nslo

    原文地址:安装archlinux 以后没有 ifconfig,route ,nslookup 等命令作者:十阿哥 ifconfig, route在net-tools中, nslookup, dig在d ...

  7. message 弹出窗口

    import  javax.swing.JOptionPane;public class gong {    public static void main(String [] args){      ...

  8. 避免全表扫描的sql优化

    对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引:  .尝试下面的技巧以避免优化器错选了表扫描: ·   使用ANALYZE TABLE tbl_na ...

  9. C 应用

    前言 1)操作符两端必须加空格,(每行第一个赋值语句对齐). 2)变量名必须是英文(不能是拼音):英文.数字.下划线和美元符号. 3)等于号 == 反过来写(0 == i%4)防止少些赋值号的错误. ...

  10. Jmeter----HTTP Request Defaults

    一.HTTP Request Defaults的作用: 该组件可以为我们的http请求设置默认的值.假如,我们创建一个测试计划有很多个请求且都是发送到相同的server,这时我们只需添加一个Http ...