使用windeployqt和InstallShield打包发布Qt软件的流程

前言

Qt编译之后需要打包发布,并且发布给用户后需要增加一个安装软件,通过安装软件可以实现Qt软件的安装;用于安装软件的软件有很多,这里主要介绍InstallShield使用的流程;

使用windeployqt打包Qt编译后的程序

Qt程序编译后是这样的文件,没有包括依赖的dll环境;此时发布给别人会报错缺少dll文件,因此需要将dll文件打包发布;

方法一:

如果是VS+Qt联合编译的,需要添加一个VS的环境变量。如果是Qt单独编译,则直接跳到3

  1. 找到VS的安装目录,比如我的是默认安装在C盘。复制路径
cpp 复制代码
C:\Program Files\Microsoft Visual Studio\2022\Community\VC
  1. 打开环境变量,添加一个系统变量,变量名为VCINSTALLDIR,变量值为
cpp 复制代码
C:\Program Files\Microsoft Visual Studio\2022\Community\VC
  1. win+R输入cmd打开命令窗口,通过cd /d命令进入到我们要操作的文件夹(.exe所在文件夹)
cpp 复制代码
cd /d C:\Users\BaiYang\Desktop\asd

或者直接在文件窗口地址栏输入cmd回车。

  1. 执行 "windeployqt ExamSys.exe" 命令,换成自己的.exe名字

方法二:

  1. 先找到windeployqt.exe的位置
    比如说,我的qt安装位置是:
cpp 复制代码
C:\Qt\Qt5.9.6\5.9.6\msvc2015_64\bin\windeployqt.exe

命令行切换到此位置

  1. 再找到自己生成的exe文件位置,比如说,我的是:
cpp 复制代码
G:\bin\Test.exe
  1. cmd进入命令行,执行命令
cpp 复制代码
C:\Qt\Qt5.9.6\5.9.6\msvc2015_64\bin\windeployqt.exe G:\bin\Test.exe

windeployqt执行后会将依赖的dll文件打包在一起;

使用InstallShield软件发布Qt打包后的文件,制作成程序压缩包

下载及安装InstallShield

安装后的InstallShield软件界面是:

第一步

点击Home->New,选择Basic MSI,这里是管理整个项目的意思,给项目起个名字。

名称为test,会在G盘建立一个test.ism的文件;

第二步

软件的Installation Designer。这里是整个项目各个参数的设置,可以对项目细节完善。可以先用快捷方式先确定好项目,再从Installation Designer这里完善。

第三步

先用快捷方式完成项目。点击view->ProgectAssistant。进入助手界面。

第四步

按照最下面一行的提示,逐步修改项目。

  1. 确定软件信息
  2. 这里可以直接选默认选项
  1. 最重要的是这里,确定安装文件,将自己的exe文件和依赖的dll文件添加到文件内;文件夹选择Add Folders(注意软件很容易卡死,随时点击save项目,不然又要从头开始)

    在ProgramFilesFolder上面就是CommonFileFolder,这里存放的是软件的一些配置文件等;也可以将这个路径设置成系统环境变量,将dll放在这里,这样你可以安装一个纯exe文件,程序会从系统路径内寻找dll文件;

    像我自己的电脑里便有Common Files里面有之前安装软件存放的配置文件;

  2. 这两个可以跳过默认,也可以自己选择

  3. 这里设置的是:是否需要许可证文件、是否需要用户填写公司名称,用户是否自定义选择安装位置,用户是否可以选择完整安装/部分安装,用户是否可以选择安装完成后打开软件;

  4. 选择安装时的语言

  5. 发布程序安装包

    点击Build Installation便开始制作安装包,等待制作完成

第六步

若是用户安装时需要设定用户的系统变量,比如说path,可以跳回到Installation Designer界面,选择Environment Variables;

增加系统环境变量

设置环境变量Path

对这里的参数说明:

On Install:

Set:已经存在的环境变量

Create:创建一个新的环境变量

Placement:

Replace:替换以前的值

Prefix:在前面追加值

Append:在后面追加值

On Uninstall:

Remove:在卸载的时候删除

Leave:在卸载的时候保留

Type:

User:用户变量

System:系统变量

以上流程走完就是一个简易的InstallShield发布过程,当然,比如说setup.exe的ICON设置等都可以在Installation Designer慢慢完成;

验证发布

上述流程走完之后,便可以在test.ism同级目录下,生成一个test文件夹;

在DISK1目录下会看到安装程序,点击会看到安装过程;

至此,Qt编译生成的exe发布完成;

相关推荐
远望清一色9 分钟前
基于MATLAB边缘检测博文
开发语言·算法·matlab
何曾参静谧17 分钟前
「Py」Python基础篇 之 Python都可以做哪些自动化?
开发语言·python·自动化
Prejudices21 分钟前
C++如何调用Python脚本
开发语言·c++·python
我狠狠地刷刷刷刷刷34 分钟前
中文分词模拟器
开发语言·python·算法
wyh要好好学习38 分钟前
C# WPF 记录DataGrid的表头顺序,下次打开界面时应用到表格中
开发语言·c#·wpf
AitTech38 分钟前
C#实现:电脑系统信息的全面获取与监控
开发语言·c#
qing_04060340 分钟前
C++——多态
开发语言·c++·多态
孙同学_40 分钟前
【C++】—掌握STL vector 类:“Vector简介:动态数组的高效应用”
开发语言·c++
froginwe1141 分钟前
XML 编辑器:功能、选择与使用技巧
开发语言
Jam-Young1 小时前
Python的装饰器
开发语言·python