今回は、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