TeratermとWinSCPとサクラエディタをサイレントインストールする

TeratermWinSCPサクラエディタはInno Setupを使って作られてることが分かったので、サイレントインストールしてみる。まずはこんな感じで、infファイル(セットアップ情報ファイル)を保存しながらのインストール開始を指示する。

>winscp514setup /SAVEINF="winscp514.inf"

インストールが始まったら、あとはふつうにインストールしていく。

インストールが完了すると、infファイル(セットアップ情報ファイル)ができてる。中身はこんな感じ。

[Setup]
Lang=jp
Dir=C:\Program Files (x86)\WinSCP
Group=WinSCP
NoIcons=0
SetupType=full
Components=main,shellext,pageant,puttygen,transl,transl\eng,transl\jp
Tasks=enableupdates,enableupdates\enablecollectusage,desktopicon,desktopicon\common,sendtohook,urlhandler

Teratermサクラエディタも同じように作る。できた中身はこんな感じ。

[Setup]
Lang=ja
Dir=C:\Program Files (x86)\teraterm
Group=Tera Term
NoIcons=0
SetupType=custom
Components=teraterm,ttssh,cygterm,logmett,ttproxy,additional_plugins,additional_plugins\ttxresizemenu,additional_plugins\ttxttyrec
Tasks=desktopicon,quicklaunchicon
[Setup]
Lang=ja
Dir=C:\Program Files (x86)\sakura
Group=サクラエディタ
NoIcons=0
SetupType=all
Components=main,help,keyword
Tasks=startmenu,quicklaunch,proglist,fileassoc

infファイルができたら、今度はそのinfファイルを読み込ませてサイレントインストールしてみる。3ついっぺんに、かつ、時間を計測したかったのでcygwinbashスクリプトでやってみた。作ったスクリプトはこんな感じ。/SILENTが「黙ってやれ」、/LOADINFが「このinfファイルを読んでやれ」、/SP-が「StartupPromptを表示しない(ホントに初めていいですか?とか聞くな)」とゆーよーな指示みたい。

time ./teraterm-4.77 /SILENT /LOADINF="teraterm-4.77.inf"
time ./winscp514setup /SILENT /LOADINF="winscp514.inf"
time ./sinst2-0-5-0 /SP- /SILENT /LOADINF="sakura2-0-5-0.inf"

実行してみる。

$ bash ./all.sh

real    0m1.733s
user    0m0.000s
sys     0m0.015s

real    0m3.396s
user    0m0.015s
sys     0m0.015s

real    0m0.881s
user    0m0.000s
sys     0m0.015s

合計でだいたい6秒くらいでインストール完了した。

参考にしたページ→ Inno Setup Help