引言
通常一个需要发布的程序都需要使用安装包进行安装,不可能给客户发送一套程序和依赖性文件,这样如果需要桌面添加软件的快捷方式,就得让客户自己添加(因为每台电脑、每个用户的桌面路径是不一样的),非常的麻烦,而且占用空间非常大,十分不方便,我们需要把他们打包成一个安装包,让用户运行这个安装包进行安装
步骤
1、安装NISI,下载网址
傻瓜式安装,下一步下一步即可。
2、安装HM NIS Edit
链接:http://pan.baidu.com/s/1c1Rrk5q 密码:8kr8
傻瓜式安装,下一步下一步即可。
3、打包PyQGIS程序
打包方式可以参考:PyQGIS自定义应用程序打包,要保证打包后的程序能够运行才可以进行下面的步骤。
4、打开 HM NIS Edit编辑器
4.1 配置编译器
配置编译器路径(安装nsis路径的bin下的makensis.exe)和帮助路径(安装nsis路径的NSIS.chm)
我这里使用压缩包内NSIS目录下的makensis.exe来制作安装包,而不是Bin目录下的makensis.exe
4.2 新建NSIS脚本向导
步骤一应用程序名称、应用程序出版人支持中文
步骤二 安装包的名字支持中文
如果界面的安装程序语言上没有语言选项,则无法继续下一步。出现这种状况的原因是VNISEdit调用NSIS核心,但语言文件并不属于VNISEdit,而是NSIS,所有的安装语言的文件都必须让VNISEdit找到,我们需要调整VNISEdit默认读取路径,即步骤4.1的设置。
步骤四中应用程序默认目录非常重要,决定了你的程序内一堆文件默认装在哪里,默认地址最好选择 $PROGRAMFILES\你的程序名文件夹,不存在时将被创建,这里的 $PROGRAMFILES每台电脑都不一样,但是都是系统识别的位置, $是一个转义符, $PROGRAMFILES代表程序安装目录,除此之外还有其他地址代号,代表不同的意思。
授权文件就是软件安装须知,中文的协议会乱码,最好使用英文协议或者改变编码形式:
步骤五中我们加入需要自解压的文件。界面中自动会写上两个项目,这两个项目仅仅指示你这里应该加入程序文件,这里先用“删除文件”按钮把两个默认的东西删掉
注意:如果你的程序目录下还有文件夹的话,一定要选择包含子目录,否则包在文件夹的文件不会被打包。
目的目录要根据你的需要设置,如果你的各个组件彼此独立,最好每个组件目标目录设置为$INSTDIR\你的独立组件名文件夹,不存在时将被创建,这样就可以做到彼此独立,但是如果各个组件互相依赖,最好放进一个目录下,装进同一组件,解压到同一目录。(这段我没用到,因为我的程序下的各个目录不是彼此独立的)
步骤六是 开始菜单文件夹名称,NSIS会在开始菜单加入一个文件夹,用来放你的程序的快捷方式
步骤8 设定卸载时你对用户说的话,解除安装的方式有两种,如果你的NSIS没有日志记录功能,下面会提示你不能使用安全方式,一般来说不移动安装目录的情况下选择简易模式就够了,安全模式会多出一些复杂的代码。
点击完成后会弹出一个对话框,选择安装包文件保存的位置
安装完成后命令行界面:
打包好的安装包
参考:使用HM NIS Edit将pyinstaller后的exe打包成安装包
详细介绍:使用NSIS和VNISEdit制作一个安装包,学来不亏,建议收藏!