此篇文档主要讲述了如何使用inno setup制作安装包,如果要打包的内容已经准备好,可以跳过“QT操作”部分。
1、在QT中将编译模式设置成Release,点击编译后在文件夹中找到生成exe文件,并将其复制出来单独放到一个文件夹中。
2、考虑到用户可能将软件安装到Program Files (x86)等系统文件夹中,此时如果程序没有管理员权限会出现一些问题,因此可以给编译出的exe添加管理员权限。在工程文件夹中,pro文件的同目录下创建一个.manifest文件,这里我用getAdmin.manifest举例。向getAdmin.manifest中写入下列代码。
然后找到与工程编译出的exe文件同名的.rc文件,向其中添加下列代码。
1 24 DISCARDABLE "getAdmin.manifest"
如果没有找到.rc文件,可以自己创建一个,这里我使用getAdmin.rc举例。向创建的getAdmin.rc文件中写入上述代码,然后在QT中打开pro文件添加下列语句。
RC_FILE += getAdmin.rc
以管理员身份运行重新运行QT点击编译,如果此时编译出的exe文件图标的右下角有小盾牌标志,则代表管理员权限添加成功。
3、通过搜索找到QT 5.14.2(MinGW),版本根据QT工程的编译器选择,如果是32-bit的编译器,那么MinGW就使用32位版本。如果QT工程使用的是MSVC编译器,这里也选择同版本的MSVC编译器。
4、打开后,输入"cd exe文件的路径"来使该工具找到exe文件存储位置。然后输入"windeployqt 文件名称.exe",该工具会自动添加此exe文件需要的.dall文件。但是该工具添加的.dall文件不一定齐全,所以.dall文件自动添加完毕后,手动点击exe文件,如果报错,则根据提示信息,在QT安装文件夹找到对应的dall文件并手动添加。直到点击exe后能正常打开使用。
1、打开Inno Setup后,选择使用向导,根据提示创建一个脚本模板。
2、点下一步,填写程序信息。
3、点击浏览,选择之前准备好的exe文件。点击添加文件,把exe文件同一目录下的其它文件全部添加。点击添加文件夹,把exe文件目录下的其它文件夹全部添加。完成后点击下一步。
4、根据需求选择创建快捷方式,完成点下一步。
5、许可文件不是必要的,点击浏览可添加安装前和安装后显示信息文件,安装前显示信息文件通常为用户协议。支持txt和rtf文件格式,添加完成后点击下一步。
6、语言选择中文。
7、选择编译出的安装包的保存位置、名称和图标,安装密码可以不用设置。
8、勾选"是,使用#define编译指令",点击下一步完成模板创建。此时会弹出一个提示框询问“是否立即开始编译”,点击否。
9、对模板生成的添加文件夹的代码进行修改。向导生成的模板代码,会把文件夹中的文件复制到exe同一目录下,并删除原本的文件夹,这会导致安装后的exe文件报错。将代码修改成如下格式,点击编译即可得到一个最简单的安装包。
10、在wpInfoBefore页面,即“显示安装前文件”的那个页面,添加一个复选框。复选框显容为“我已阅读,并同意该协议”,并将该页面的 “下一步”按钮默认设置为不可用。只有用户勾选复选框,表示同意协议,才能点击下一步继续安装,代码如下。
11、为了避免安装时因权限不足发出发生错误,可以给安装包添加管理员权限。在脚本的[Setup]节点添加 PrivilegesRequired=admin。 进入Inno Setup安装根目录,找到文件SetupLdr.e32,这是一个二进制配置文件,需要用到ResHacker.exe这个工具修改。找到<requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivileges>,修改为<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/></requestedPrivileges>,如下图所示。重新编译后若安装包右下角出现小盾牌,则管理员权限添加成功。
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多以太网模组产品和无线通信技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!
相关阅读:
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 无锡办事处刘经理:13558641933
成都总部销售经理:
秦 科(无线模块):18884314654 冯子恒(无线模块):18828049434
蔡友银(无线模块):13882211021 葛宇龙(通信设备):19138800613
胡兵(外贸销售经理):18584911141、 sales06@ebyte.com
业务邮箱:support@cdebyte.com 全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都亿佰特电子科技有限公司【版权所有】 蜀ICP备13019384号