Qtで作ったアプリケーションを配布するためのインストーラを作ろう
直近でQtを使った業務が行われるのだが、それをお客さんに配布するのだが、あまりパソコン操作が得意じゃないお客さんなので親切心からインストーラを作ることにした
使用環境
- Windows 11
- Qt6
- Inno Setup: 6.2.0
事前準備のため必要ツールをインストール
# Inno Setupをインストールする
> winget install JRSoftware.InnoSetup
手順
Qtを使ったアプリを作成する
とりあえずアプリがないと始まらないので以下のようなアプリを作ってみる
※ 久しぶりに触ってみたら開発環境がQtCreatorとQt Design Studioに増えてたので次回触ってみよう
ここまでで以下のようなフォルダ構成になっているとします
Test/
├───build
│ └───Release
│ └ Test.exe # 今回作成したアプリケーションの実行ファイル
依存関係DLLを配布用に集める
Qtには配布をするために実行ファイルに依存しているDLLを調べて、直下にコピーしてくれるコマンドがある。
それを利用させてもらう。
> cd .\Test
> windeployqt --dir .\dist .\build\Release\Test.exe
コマンドを実行したことで'\dist'フォルダにQt6Core.dll
などの依存していたDLLがコピーされている。
この段階で以下のようなフォルダ構成になる
Test/
├───build
│ └───Release
│ └ Test.exe # 今回作成したアプリケーションの実行ファイル
└───dist # 依存するファイルがここに準備される
インストーラを作成する
ここからはInno Setup
を使用する
Inno Setup
を起動するとInno Setup Script Wizard
が起動します。新規でインストーラを作る場合に起動するようです。
ここは気にせずNext
ボタンを押しましょう
アプリケーションの情報を記入します。Application name
とApplication version
以外は空欄でも動きます。
インストーラでアプリケーションをインストールした際に、インストールフォルダの名前をどうするか入力します。
今回、配布するアプリケーションの実行ファイル.exe
を選択し、Other application files
にはAdd folder
ボタンから先ほど作成したdist
フォルダを追加する。
※dist
フォルダを追加する際、サブディレクトリを検索するか聞かれるので必ずYes
と答えましょう。
あとは適当にNext
ボタンを押していればインストーラが完成します。