经过程序员抓耳挠腮的开发,应用终于开发完毕了,那接下来无论发布给客户还是给测试,最好的方式时打一个安装包,直接给release文件夹,就显得不太专业了。
程序的打包分为两步:
1,将所以依赖文件收集全,确保其它非开发机器运行时,不会缺少库。
2,用第三方打包软件,制作安装包。
一,收集依赖文件
1,我们以一个QML程序为例,新建一个pkg/v1.0.0/bin文件夹,并将 release版本的pkgTest.exe拷贝到这个bin文件夹下。
2,找到对应版本的Qt命令行工具。
3,执行windeployqt.exe 执行,自动收集依赖文件。
- windeployqt.exe 为打包工具
- –qmldir 是自己的qml文件所在的目录,如果QWidget程序,这个参数 及后面的路径就不需要了。这个也告诉我们,我们的目录结构最好将所有自定义的qml文件放到一起,便于打包。
- 自定义qml文件所在的路径
- pkgTest.exe 我们的主程序
4,这个指令只能收集一部分程序,执行后自己双击一下主程序(pkgTest.exe),看还缺啥,手动拷贝一下。最可靠的办法是找一台非开发机器验证。
二,打包工具打包
我习惯使用NSIS+HM NIS EDIT 这两个工具进行打包,原因就是颗粒度更细,可以控制环境变量、自启动等。并且官网提供了大量的插件,设置上更加的自由。
1,安装打包工具 NSIS ,这个是一个基础的库( Download - NSIS)
2,安装编辑器,这是配套使用的一个编辑器。只用上边那个也可以,只是加上这个更方便(HM NIS Edit: A Free NSIS Editor/IDE)
3,使用。我们第一步可以建立一个向导,按照向导,一步一步操作。
安装语言可以自己选择,一个或者多个都可以。
选择目录这一步很关键,把自带的两个删掉,然后指定我们的主程序的父目录,也就是bin文件夹。
之后下一步,下一步,选择将脚本保存,便于后期修改。
最后就是编译脚本,生成安装包。
安装包生成到了脚本所在目录,双击可以自己验证下。
三,NSIS 指令
NSIS 官网提供了大量的插件(Category:Plugins - NSIS),自己可以根据业务需要去下载,并且它本身也有大量的指令,可以支持更高的定制化需求。