現在我們接著玩上次的試驗結果,雙擊生成的install.jar運行安裝,如下圖:

圖lzPack1-1
下一步如圖:(你發現和lzPack本身的安裝過程和界面是一樣的,不過也已經夠漂亮了,是吧)(以后都是下一步的圖)

圖lzPack1-2

圖lzPack1-3

圖lzPack1-4

圖lzPack1-5

圖lzPack1-6

圖lzPack1-7

圖lzPack1-8
點擊Done完成安裝
看看我們sample的結構(即要安裝的軟件)

圖lzPack1-9
看看安裝好的文件結構

圖lzPack1-10
少了一個文件listener,多了一個文件uninstaller,進入uninstaller雙擊uninstaller.jar就看到卸載界面了(超簡單的界面,就不貼了)。我們在回頭看看那個配置文件install.xml,如下:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
- <!--
A sample installation file.
Use it as a base for your own installers :-)
To compile it :
- go in the bin directory where you installed IzPack
- call "compile ../sample/install.xml -b ../sample"
-->
- <installation version="1.0">
- <!--
The info section.
The meaning of the tags should be natural ...
-->
- <info>
<appname>Sample Installation</appname>
<appversion>1.4 beta 666</appversion>
- <authors>
<author name="JPz" email="jpz@superman.org" />
<author name="Hidden Man" email="hidden@hisdomain.com" />
</authors>
<url>http://www.anotherworld-inspace-website.net/</url>
</info>
- <!--
The gui preferences indication.
Sets the installer window to 640x480. It will not be able to change the size.
-->
<guiprefs width="640" height="480" resizable="no" />
- <!--
The locale section.
Asks here to include the English and French langpacks.
-->
- <locale>
<langpack iso3="eng" />
<langpack iso3="fra" />
</locale>
- <!--
The resources section.
The ids must be these ones if you want to use the LicencePanel and/or the InfoPanel.
-->
- <resources>
<res id="LicencePanel.licence" src="Licence.txt" />
<res id="InfoPanel.info" src="Readme.txt" />
</resources>
- <!--
The panels section.
We indicate here which panels we want to use. The order will be respected.
-->
- <panels>
<panel classname="HelloPanel" />
<panel classname="InfoPanel" />
<panel classname="LicencePanel" />
<panel classname="TargetPanel" />
<panel classname="PacksPanel" />
<panel classname="InstallPanel" />
<panel classname="FinishPanel" />
</panels>
- <!--
The packs section.
We specify here our packs.
-->
- <packs>
- <pack name="Base" required="yes">
<description>The base files</description>
<file src="Readme.txt" targetdir="$INSTALL_PATH" />
<file src="Licence.txt" targetdir="$INSTALL_PATH" />
<file src="script.bat" targetdir="$INSTALL_PATH" />
<parsable targetfile="$INSTALL_PATH/script.bat" />
- <!--
The file will be parsed
-->
</pack>
- <pack name="Docs" required="no">
<description>The documentation</description>
<file src="doc" targetdir="$INSTALL_PATH" />
- <!--
Reccursive adding
-->
</pack>
- <pack name="Sources" required="no">
<description>The sources</description>
<file src="src" targetdir="$INSTALL_PATH" />
</pack>
</packs>
</installation>
我算它是七段,第一段
<installation version="1.0">
聲明安裝的版本
第二段
<info>
<appname>Sample Installation</appname>
<appversion>1.4 beta 666</appversion>
- <authors>
<author name="JPz" email="jpz@superman.org" />
<author name="Hidden Man" email="hidden@hisdomain.com" />
</authors>
<url>http://www.anotherworld-inspace-website.net/</url>
</info>
聲明軟件的基本信息:名稱、版本、各個作者和聯系方式、公司主頁。對應圖lzPack1-2。
第三段
<guiprefs width="640" height="480" resizable="no" />
設置安裝導航的寬高等屬性。
第四段
<locale>
<langpack iso3="eng" />
<langpack iso3="fra" />
</locale>
語言選擇,對應圖圖lzPack1-1。
第五段
<resources>
<res id="LicencePanel.licence" src="Licence.txt" />
<res id="InfoPanel.info" src="Readme.txt" />
</resources>
提供兩個資源給客戶閱讀,對應兩個界面,圖lzPack1-3和lzPack1-4。分別為軟件說明和基本條款。
第六段
<panels>
<panel classname="HelloPanel" />
<panel classname="InfoPanel" />
<panel classname="LicencePanel" />
<panel classname="TargetPanel" />
<panel classname="PacksPanel" />
<panel classname="InstallPanel" />
<panel classname="FinishPanel" />
</panels>
說明順序下來都經過那些界面。
第七段
<packs>
- <pack name="Base" required="yes">
<description>The base files</description>
<file src="Readme.txt" targetdir="$INSTALL_PATH" />
<file src="Licence.txt" targetdir="$INSTALL_PATH" />
<file src="script.bat" targetdir="$INSTALL_PATH" />
<parsable targetfile="$INSTALL_PATH/script.bat" />
- <!--
The file will be parsed
-->
</pack>
- <pack name="Docs" required="no">
<description>The documentation</description>
<file src="doc" targetdir="$INSTALL_PATH" />
- <!--
Reccursive adding
-->
</pack>
- <pack name="Sources" required="no">
<description>The sources</description>
<file src="src" targetdir="$INSTALL_PATH" />
</pack>
</packs>
提供了要復制的文件夾結構,由<packs>標簽包括
共有三個包,每個包由<pack>標簽標識, name=”base” 的包為基本包,包括所有文件和文件夾的文件夾,其下包括三個文件。$INSTALL_PATH即安裝路徑,由用戶給出
包Docs 是文件夾doc。
<file >元素標明文件或文件夾,src屬性為文件或文件夾名,targetdir屬性為要放到的路徑
包Sources是文件夾src。
整個文件結構和關系就由最后這一段來闡釋。
另外,包<pack>還可以有其他的用途,下一節是個較實用的實例,你會看到它的用途,要不我們打的包都和izpack一樣光禿禿的,沒快捷鍵,沒環境變量,在實踐中我們慢慢發現光明,原來有趣的東西等著我們去探索。
一種更好的態度,更好的學習、思維方式。它會是網絡極佳的生存方式,你喜歡就對。