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

前言

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

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

Qt程序编译后是这样的文件,没有包括依赖的dll环境;此时发布给别人会报错缺少dll文件,因此需要将dll文件打包发布;
使用windeployqt和InstallShield打包发布Qt软件的流程_第1张图片

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

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

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

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

方法二:

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

命令行切换到此位置

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

使用windeployqt和InstallShield打包发布Qt软件的流程_第2张图片
windeployqt执行后会将依赖的dll文件打包在一起;

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

下载及安装InstallShield
InstallShield
百度网盘提取码:abcd
安装过后,把fix文件夹内的文件更新到安装后的system文件夹内;

安装后的InstallShield软件界面是:
使用windeployqt和InstallShield打包发布Qt软件的流程_第3张图片

第一步

点击Home->New,选择Basic MSI,这里是管理整个项目的意思,给项目起个名字。
名称为test,会在G盘建立一个test.ism的文件;
使用windeployqt和InstallShield打包发布Qt软件的流程_第4张图片

第二步

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

第三步

先用快捷方式完成项目。点击view->ProgectAssistant。进入助手界面。
使用windeployqt和InstallShield打包发布Qt软件的流程_第5张图片

第四步

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

  1. 确定软件信息
    使用windeployqt和InstallShield打包发布Qt软件的流程_第6张图片
  2. 这里可以直接选默认选项

使用windeployqt和InstallShield打包发布Qt软件的流程_第7张图片

  1. 最重要的是这里,确定安装文件,将自己的exe文件和依赖的dll文件添加到文件内;文件夹选择Add Folders(注意软件很容易卡死,随时点击save项目,不然又要从头开始)
    使用windeployqt和InstallShield打包发布Qt软件的流程_第8张图片
    在ProgramFilesFolder上面就是CommonFileFolder,这里存放的是软件的一些配置文件等;也可以将这个路径设置成系统环境变量,将dll放在这里,这样你可以安装一个纯exe文件,程序会从系统路径内寻找dll文件;
    像我自己的电脑里便有Common Files里面有之前安装软件存放的配置文件;
    使用windeployqt和InstallShield打包发布Qt软件的流程_第9张图片

  2. 这两个可以跳过默认,也可以自己选择
    在这里插入图片描述

  3. 这里设置的是:是否需要许可证文件、是否需要用户填写公司名称,用户是否自定义选择安装位置,用户是否可以选择完整安装/部分安装,用户是否可以选择安装完成后打开软件;使用windeployqt和InstallShield打包发布Qt软件的流程_第10张图片

  4. 选择安装时的语言 使用windeployqt和InstallShield打包发布Qt软件的流程_第11张图片

  5. 发布程序安装包
    使用windeployqt和InstallShield打包发布Qt软件的流程_第12张图片
    点击Build Installation便开始制作安装包,等待制作完成
    使用windeployqt和InstallShield打包发布Qt软件的流程_第13张图片

第六步

若是用户安装时需要设定用户的系统变量,比如说path,可以跳回到Installation Designer界面,选择Environment Variables;
使用windeployqt和InstallShield打包发布Qt软件的流程_第14张图片
增加系统环境变量
使用windeployqt和InstallShield打包发布Qt软件的流程_第15张图片
设置环境变量Path
使用windeployqt和InstallShield打包发布Qt软件的流程_第16张图片
对这里的参数说明:
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目录下会看到安装程序,点击会看到安装过程;

使用windeployqt和InstallShield打包发布Qt软件的流程_第17张图片
至此,Qt编译生成的exe发布完成;

你可能感兴趣的:(Qt,qt,开发语言)