IzPackでインストーラーを作成に挑戦
簡単なインストーラをネットで探していたら、IzPack(http://izpack.org/)というものが目にとまりました。何人かの方が試してみて、わるい批評がなかったので試してみることにしました。ダウンロードしてきたファイル(IzPack-install-4.3.3.jar)をダブルクリックするとインストーラーが起動します。たとえばインストール先に、C:\IzPackを選択したとすると、C:\IzPack\binにcompile.batというファイルがあるので、そのファイルに対してオプションを指定して起動することになります。インストーラーの設定をxml形式で作成することになります。
たとえば、インストールしたいファイル一式がC:\tmpにあり、作成されるインストーラの名前をinst.jar、作成されるインストーラの場所をC:\、インストーラーの形式をinstall.xmlだとすると以下のようにコマンドプロンプトから実行します。
C:\> C:\IzPack\bin\compile.bat C:\tmp\install.xml -b C:\tmp -o C:\inst.jar -k standard
<?xml version="1.0" encoding="UTF-8"?> <installation version="1.0"> <!-- アプリケーション名、バージョンなどの情報を定義 --> <info> <appname>Installerのテスト</appname> <appversion>1.0.0</appversion> <url>http://www.XXX.XXX.XXX/</url> <uninstaller path="C:\tmp" name="uninstaller.jar" write="no" /> <writeinstallationinformation>no</writeinstallationinformation> </info> <!-- 画面のサイズなどを定義 --> <guiprefs width="800" height="640" resizable="yes" /> <locale> <!-- インストーラで使用する言語を定義 --> <langpack iso3="jpn" /> </locale> <resources> <res id="TargetPanel.info" src="info.txt" /> <res id="TargetPanel.warn" src="confirm.txt"/> <res id="TargetPanel.dir" src="default-dir.txt"/> </resources> <!-- 指定した順番で各画面を表示 --> <panels> <panel classname="HelloPanel" /> <panel classname="TargetPanel" /> <panel classname="InstallPanel" /> <panel classname="SimpleFinishPanel" /> </panels> <!-- インストールしたいファイルを定義 --> <packs> <pack name="appli" required="yes"> <description>appli</description> <fileset dir="" targetdir="$INSTALL_PATH"> <include name="appli/**/*" /> </fileset> </pack> <pack name="config" required="yes"> <description>config</description> <fileset dir="" targetdir="$INSTALL_PATH"> <include name="config/**/*" /> </fileset> </pack> </packs> </installation>
アンインストーラーを作りたくなかったので、
<uninstaller path="C:\tmp" name="uninstaller.jar" write="no" /> <writeinstallationinformation>no</writeinstallationinformation>
の設定を入れています。
ただ、表示上のメッセージなどを変更したかったのですが、全然うまくいきませんでした。ソースやリソースを直接変更したらうまくいけそうですが、それも微妙なので。。。どうしようか迷い中です。。。