Inno Setup で ネットワークインストーラを作成する方法

2018年3月25日日曜日

未分類

t f B! P L
どうもこんにちは。

今回は、Inno Setup5 で ネットワークインストーラを作成する方法を皆さんに紹介したいと思います。

ネットワークインストーラを作成する方法


それでは本題に行きましょう。

準備


今回は、Inno Download Pluginを使っていこうと思います。

サイト(https://mitrichsoftware.wordpress.com/inno-setup-tools/inno-download-plugin/)によるとオープンソースでZlib licenseで公開されているそうです。

サイトに下のほうにあるDownloadからダウンロードしてインストールします。



↑の画像はクリックすると拡大します。

インストーラを作成する


サンプルプログラムを作ってみました
[Setup]
;アプリ名
AppName=MyApp
;ようこそ画面
DisableWelcomePage = no
;アプリ名+バージョン
AppVerName=MyApp
;作成するインストーラのファイル名
OutputBaseFilename=MyApp
;初期インストールディレクトリ
DefaultDirName={pf}\MyApp
;プログラムグループ設定
DisableProgramGroupPage = no
DefaultGroupName = MyApp
;進捗表示
ShowTasksTreeLines=yes

[Icons]
;スタートメニューにリンクを追加
Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"; WorkingDir: "{app}"

;ネットワークインストーラ用のファイル読み込み
#include <idp.iss>

[Languages]
;日本語用のファイル読み込み
Name: japanese; MessagesFile: compiler:Languages\Japanese.isl

[UninstallDelete]
;アンインストール時にMyApp.exeを削除する
Type: files; Name: "{app}\MyApp.exe"

;ここから下がネットワークインストール部分
[Code]
procedure InitializeWizard();
begin
idpAddFile('http://127.0.0.1/MyApp.exe', ExpandConstant('{tmp}\MyApp.exe'));

idpDownloadAfter(wpReady);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
FileCopy(ExpandConstant('{tmp}\MyApp.exe'), ExpandConstant('{app}\MyApp.exe'), false);
end;
end;

翻訳について


自信はありませんが大体翻訳してみました。よろしければご利用ください。

使い方はインストーラのファイルに次の内容を張り付けるだけです。
[CustomMessages]
IDP_FormCaption =追加ファイルをダウンロード中
IDP_FormDescription =セットアップが追加ファイルをダウンロード中です。しばらくお待ちください。
IDP_TotalProgress =Total progress
IDP_CurrentFile =Current file
IDP_File =File:
IDP_Speed =Speed:
IDP_Status =Status:
IDP_ElapsedTime =経過時間:
IDP_RemainingTime =残り時間:
IDP_DetailsButton =詳細
IDP_HideButton =隠す
IDP_RetryButton =再試行
IDP_IgnoreButton =無視
IDP_KBs =KB/s
IDP_MBs =MB/s
IDP_X_of_X =%.2f of %.2f
IDP_KB =KB
IDP_MB =MB
IDP_GB =GB
IDP_Initializing =初期化中...
IDP_GettingFileInformation=ファイル情報の取得中...
IDP_StartingDownload =ダウンロードの開始...
IDP_Connecting =接続中...
IDP_Downloading =ダウンロード中
IDP_DownloadComplete =ダウンロード完了
IDP_DownloadFailed =ダウンロード失敗
IDP_CannotConnect =接続失敗
IDP_CancellingDownload =ダウンロードをキャンセル中...
IDP_Unknown =Unknown
IDP_DownloadCancelled =ダウンロードキャンセル
IDP_RetryNext =接続を確認し、[再試行]をクリックしてファイルをもう一度ダウンロードしてください。または、[次へ]をクリックしてインストールを続行してください。
IDP_RetryCancel =接続を確認して[再試行]をクリックしてファイルをもう一度ダウンロードするか、[キャンセル]をクリックしてセットアップを終了してください。
IDP_FilesNotDownloaded =次のファイルはダウンロードされませんでした:
IDP_HTTPError_X =HTTP error %d
IDP_400 =Bad request (400)
IDP_401 =Access denied (401)
IDP_404 =File not found (404)
IDP_407 =Proxy authentication required (407)
IDP_500 =Server internal error (500)
IDP_502 =Bad gateway (502)
IDP_503 =Service temporaily unavailable (503)

終わりに


ネットワークインストーラって簡単に作れるんですね。

サイズの大きいファイルや通常インストールしないファイル(オフラインヘルプなど)をインストールするときに使えそうですね。

参考にしたサイト


https://stackoverflow.com/questions/6887428/inno-setup-install-file-from-internet

QooQ