TeratermとWinSCPとサクラエディタをサイレントインストールする
TeratermとWinSCPとサクラエディタは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ついっぺんに、かつ、時間を計測したかったのでcygwinのbashのスクリプトでやってみた。作ったスクリプトはこんな感じ。/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