NSIS学习笔记
Date:2015-05-20
Author:kagula
Env:VS2013Update4、nsis-2.46.5-Unicode-setup.exe、CoolSoft_NSISDialogDesigner_1.4.0、eclipse-jee-kepler-SR2-win32、Win7-64bits
设置NSIS环境
Step1:(编译NSIS脚本)
从http://www.scratchpaper.com/网站下载“nsis-2.46.5-Unicode-setup.exe”文件并安装。
Step2:(NSIS脚本语法高亮)
参考资料[3]为Eclipse安装NSIS插件,用来编译NSIS脚本。
[Eclipse main menu]->[Help]->[Install new software...]->type the nsis http address and select component to install.
这里要注意的是
[1]Eclipse NSIS插件不支持JDK1.8或更高版本。不支持Windows8或更高版本。
[2]要先建一个空的project,然后通过向导添加NSIS Script会报错。错误信息为空。
[3]通过向导添加Install Options文件(ini)文件
最新版本(不稳定版)可以直接从下面网址下载
https://github.com/henrikor2/eclipsensis
Step3:(自定义GUI)
参考资料[1]下载"CoolSoft_NSISDialogDesigner_1.4.0.exe",我们需要这个工具来自定义安装界面。
最简单的流程是
第一步:先在EclipseNSIS(或其它NSIS脚本编辑器)里把脚本写好.
第二步:启动NSIS compiler。[NSIS Menu]->[Compiler]->[compiler NSI scripts]。
第三步:把nsi文件,拖到NSIS compiler里,NSIS compiler会自动编译,setup.exe的生成。
要使用NSIS首先得学会使用它的脚本语言,NSIS脚本的每一行代表命令,源文件扩展名为nsi,头文件扩展名为.nsh。
一个软件可能有很多组件组成,NSIS用section代表每个组件。示例代码如下:
Section "My Program"
SetOutPath $INSTDIR
File "My Program.exe"
File "Readme.txt"
SectionEnd
下面是一个典型的NSIS示例代码,除了自定义页面风格,该有的都有了。
Date:2015-05-20
Author:kagula
Env:VS2013Update4、nsis-2.46.5-Unicode-setup.exe、CoolSoft_NSISDialogDesigner_1.4.0、eclipse-jee-kepler-SR2-win32、Win7-64bits
设置NSIS环境
Step1:(编译NSIS脚本)
从http://www.scratchpaper.com/网站下载“nsis-2.46.5-Unicode-setup.exe”文件并安装。
Step2:(NSIS脚本语法高亮)
参考资料[3]为Eclipse安装NSIS插件,用来编译NSIS脚本。
[Eclipse main menu]->[Help]->[Install new software...]->type the nsis http address and select component to install.
这里要注意的是
[1]Eclipse NSIS插件不支持JDK1.8或更高版本。不支持Windows8或更高版本。
[2]要先建一个空的project,然后通过向导添加NSIS Script会报错。错误信息为空。
[3]通过向导添加Install Options文件(ini)文件
输出文件名必须为[/"项目名"/"你文件的事名字"]这种形式,否则会报输出文件名非法的提示。
[4]你可能通过outline子窗口,快速定位NSI脚本中的变量与函数。
现在你可以直接把nsi文件拖入Eclipse中编辑了。最新版本(不稳定版)可以直接从下面网址下载
https://github.com/henrikor2/eclipsensis
Step3:(自定义GUI)
参考资料[1]下载"CoolSoft_NSISDialogDesigner_1.4.0.exe",我们需要这个工具来自定义安装界面。
最简单的流程是
第一步:先在EclipseNSIS(或其它NSIS脚本编辑器)里把脚本写好.
第二步:启动NSIS compiler。[NSIS Menu]->[Compiler]->[compiler NSI scripts]。
第三步:把nsi文件,拖到NSIS compiler里,NSIS compiler会自动编译,setup.exe的生成。
要使用NSIS首先得学会使用它的脚本语言,NSIS脚本的每一行代表命令,源文件扩展名为nsi,头文件扩展名为.nsh。
一个软件可能有很多组件组成,NSIS用section代表每个组件。示例代码如下:
Section "My Program"
SetOutPath $INSTDIR
File "My Program.exe"
File "Readme.txt"
SectionEnd
下面是一个典型的NSIS示例代码,除了自定义页面风格,该有的都有了。
# All the other settings can be tweaked by editing the !defines at the top of this script
!define APPNAME "比价系统"
!define COMPANYNAME "浙江天下商邦科技股份有限公司"
!define SETUPFILENAME "setup.exe"
!define DESCRIPTION ""
!define APPEXENAME "cat8637_priceComparingSystem.exe"
# These three must be integers
# 这里定义的是安装包的版本,应该和当前主程序(EXE文件)的版本一致
!define VERSIONMAJOR 2
!define VERSIONMINOR 0
!define VERSIONBUILD 0
!define VERSIONREVISION 0
#定义当前软件(EXE文件)的版本
!define VERSIONLONG "${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONBUILD}.${VERSIONREVISION}"
#安装程序ico文件名和位置
!define ICOFILENAME "cat8637_brand2.ico"
!define ICOFULLPATH "..\PriceComparingSystem\res\${ICOFILENAME}"
# These will be displayed by the "Click here for support information" link in "Add/Remove Programs"
# It is possible to use "mailto:" links in here to open the email client
!define HELPURL "http://www.8637.com/" # "Support Information" link
!define UPDATEURL "http://www.8637.com/" # "Product Updates" link
!define ABOUTURL "http://www.8637.com/" # "Publisher" link
# This is the size (in kB) of all the files copied into "Program Files"