1
Help us understand the problem. What are the problem?

posted at

updated at

Qtで作ったアプリケーションを配布するためのインストーラを作ろう

Qtで作ったアプリケーションを配布するためのインストーラを作ろう

直近でQtを使った業務が行われるのだが、それをお客さんに配布するのだが、あまりパソコン操作が得意じゃないお客さんなので親切心からインストーラを作ることにした

使用環境

  • Windows 11
  • Qt6
  • Inno Setup: 6.2.0

事前準備のため必要ツールをインストール

# Inno Setupをインストールする
> winget install JRSoftware.InnoSetup

手順

Qtを使ったアプリを作成する

とりあえずアプリがないと始まらないので以下のようなアプリを作ってみる

qt_demo.gif

※ 久しぶりに触ってみたら開発環境が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ボタンを押しましょう

image.png

アプリケーションの情報を記入します。Application nameApplication version以外は空欄でも動きます。

image.png

インストーラでアプリケーションをインストールした際に、インストールフォルダの名前をどうするか入力します。

image.png

今回、配布するアプリケーションの実行ファイル.exeを選択し、Other application filesにはAdd folderボタンから先ほど作成したdistフォルダを追加する。

distフォルダを追加する際、サブディレクトリを検索するか聞かれるので必ずYesと答えましょう。

image.png

あとは適当にNextボタンを押していればインストーラが完成します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?