qt如何生成exe安装程序

在QT中生成exe安装程序并不困难,下面将为您详细介绍如何用QT生成exe安装程序的过程。本教程假设您已经具备一定的QT编程基础。

开发工具:

1. Qt Creator IDE

2. NSIS (Nullsoft Scriptable Install System)

开发环境:

1. 学习本教程需要安装Qt框架和Qt Creator,下载地址:https://www.qt.io/download

2. 学习本教程需要下载NSIS安装程序制作工具,下载地址: https://nsis.sourceforge.io/Download

步骤1:创建一个简单的Qt窗体程序

在Qt Creator中新建一个Qt Widgets Application项目,例如:TestApp。编写程序、设计界面等,确保程序能正常编译运行。

步骤2:编译程序生成.exe文件

在Qt Creator中,选择Release模式编译生成exe文件。一般路径位于:“项目根目录/build-项目名-Desktop_Qt_版本号_MinGW_位数-bit-Release/release/”。

步骤3:收集依赖库

将程序所依赖的.dll文件复制到exe所在目录。可以通过以下方法收集依赖库:

1. 使用windeployqt工具(位于Qt安装目录的bin文件夹内),在命令提示符执行以下命令:

```

[PATH TO YOUR QT BIN FOLDER]\windeployqt.exe --release [PATH TO YOUR EXE FILE]

```

例如:

```

C:\Qt\5.15.2\mingw81_32\bin\windeployqt.exe --release C:\TestApp\build-TestApp-Desktop_Qt_5_15_2_MinGW_32_bit-Release\release\TestApp.exe

```

运行windeployqt工具后会自动将所需要的依赖库复制到.exe文件的同级目录下。

步骤4:创建NSIS脚本文件

首先,安装并打开NSIS程序。接着,参考以下示例创建一个名为TestApp.nsi的NSIS脚本文件,用于定义安装包的配置。示例脚本内容:

```nsis

Outfile "TestAppInstaller.exe"

InstallDir $PROGRAMFILES\TestApp

Section "MainSection"

SetOutPath $INSTDIR

File /r "C:\TestApp\build-TestApp-Desktop_Qt_5_15_2_MinGW_32_bit-Release\release\*"

WriteUninstaller $INSTDIR\Uninstall.exe

CreateDirectory $SMPROGRAMS\TestApp

CreateShortCut "$SMPROGRAMS\TestApp\TestApp.lnk" "$INSTDIR\TestApp.exe"

CreateShortCut "$SMPROGRAMS\TestApp\Uninstall.lnk" "$INSTDIR\Uninstall.exe"

WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\TestApp" "DisplayName" "TestApp"

WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\TestApp" "UninstallString" "$INSTDIR\Uninstall.exe"

SectionEnd

Section "Uninstall"

Delete "$INSTDIR\*"

Delete "$SMPROGRAMS\TestApp\TestApp.lnk"

Delete "$SMPROGRAMS\TestApp\Uninstall.lnk"

RMDir /r $SMPROGRAMS\TestApp

DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\TestApp"

RMDir /r $INSTDIR

SectionEnd

```

请根据实际情况修改示例脚本中的路径、文件名等。

步骤5:编译并生成安装程序

在NSIS中,打开NSIS脚本文件(TestApp.nsi),单击左上角的“Compile Script”按钮,NSIS将自动生成名为TestAppInstaller.exe的安装程序。

现在,可将TestAppInstaller.exe发送给其他人进行安装。成功安装后,他们将可以正常使用您基于Qt的TestApp程序。

注意:确保您拥有所有使用的依赖库(.dll文件)的发布许可。有一些库可能要求在发布时遵循特定的开源许可证,或者购买商业许可。