NSIS安装程序制作工具判断系统是否安装.NET
前段时间忙了很久的系统总算上线了,由于是WinForm程序不能整个文件夹的发给客户使用。所以必须要打包,记得以前在VS2005中是自带部署功能的。现在换了VS2013那个部署功能完全弄不清方向。最后在网上找了NSIS这个开源的安装程序制作工具。翻看了一下它的说明,和网上的一些教程。最后打包出了一个个人认为还比较可以的安装程序。其中主要遇到的两个问题:
- 判断操作系统是否安装.NET
- 给安装界面配上友好的皮肤
由于我的程序是用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的更多相关文章
- 基于NSIS脚本开发的安装程序制作软件:易量安装
原文 基于NSIS脚本开发的安装程序制作软件:易量安装 前几天“萝卜”给我推荐了一款安装程序制作工具——易量安装. 易量安装是一款安装程序制作软件,基于著名的NSIS(Nullsoft Scripta ...
- 简单易用的安装文件制作工具NSIS的使用demo示例
安装文件制作工具NSIS 使用总结 在给客户开发客户端软件时,为避免技术人员亲自上门安装带来额外的成本损耗,通常我们都会自作一个安装包,以确保我们开发的程序的相关依赖资源.环境在客户端运行前能自动 ...
- .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)
.net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...
- .net Windows服务程序和安装程序制作图解
最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作不成功,可能是开发环境或项目配置的不同,这里把自 ...
- VS安装程序制作之MSI/EXE
MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据.MSI文件将程序的组成文件与功能关联起来 ...
- Windows7安装程序无法定位现有系统分区,也无法创建新的系统分区
解决Windows7.Windows8系统安装时“安装程序无法定位现有系统分区,也无法创建新的系统分区”提示. 方法一 把Windows7镜像发在你电脑的非系统盘的其他硬盘上. 重启机器,通过U盘启动 ...
- vb6.0安装程序制作图解教程
如何制作vb安装程序,是在学习Vb6.0过程中比较常见的一个入门问题. 在此笔者介绍一个最简单的安装方法,就是用VB自带的打包程序进行打包,虽然比较普通,不过内部却有不少窍门,相信这一点知道的人可能不 ...
- 解决Win7系统安装时“安装程序无法定位现有 系统分区,也无法创建新的系统分区”提示
第一步:U盘启动装系统时,格式化主分区的内容后出现上面的问题 第二步:重启机器,通过U 盘启动.进入win pe系统. 第三步:把windows 7的ISO镜像解压到电脑的非系统盘的其他硬盘上.如D: ...
- win8转win7+真正解决 “安装程序无法定位现有系统分区,也无法创建新的系统分区”的方法
问题情况:win8电脑转win7系统,出现问题:“安装程序无法定位现有系统分区,也无法创建新的系统分区” 第一种:猜测可行的方法: 1.老毛桃U盘启动电脑,进入PE系统后,直接使用Diskgeni ...
随机推荐
- linux的fork()函数-进程控制
进程作为构成系统的基本细胞,不仅是系统中独立活动的实体,而且是独立竞争资源的基本实体.它要经历创建.执行.等待.终止等一系列过程. 一.fork入门知识(转载) 一个进程,包括代码.数据和分配给进程的 ...
- [Python]网络爬虫(六):一个简单的百度贴吧的小爬虫
转自:http://blog.csdn.net/pleasecallmewhy/article/details/8927832 # -*- coding: utf-8 -*- #----------- ...
- 【Python】学习笔记六:循环
循环是一个结构,导致一个程序要重复一定的次数 条件循环也一样,当条件变为假,循环结束 For循环 在python for循环遍历序列,如一个列表或一个字符. for循环语法: ——for iter ...
- eclipse查看源码失败总结
之前看的网上查看源码的方法,查看了JDK,只是知其然不知所以然. 后来发现要是查看其他源码,总是查看失败. 最开始每次点击Attach Source包到所要查看源码的jar包,但是还是这样. 但是依 ...
- tomcat在线部署且查看堆栈状态
配合ab压测tomcat站点的并发量,适当调整JVM参数,堆栈,连接数 00.修改conf/tomcat-user.xml 1. 在$Tomcat_Home/conf/tomcat-users.xml ...
- Java中将InputStream读取为String, 各种方法的性能对比
如下, 一共存在11种实现方式及其对应的性能测试结果: 1. 使用IOUtils.toString (Apache Utils) String result = IOUtils.toString(in ...
- ubuntu简易部署Python3编写的djangoWeb应用
1.更新软件源 sudo apt-get update 2.安装Python3 sudo apt-get install python3 安装Python3之后建议不要修改此命令的名称,保持pytho ...
- selenium2.0关于python的常用函数
转: 新建实例driver = webdriver.Chrome() 1.获取当前页面的Url函数 方法:current_url 实例: driver.current_url 2.获取元素坐标 方法: ...
- JMeter学习笔记--JMeter前置处理器
前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来 ...
- UNIX域套接字编程和socketpair 函数
一.UNIX Domain Socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络soc ...