Setting Default Installation Directories
You can set a list of default installation directories depending on the target installation platform.
When the compiled installer is executed, IzPack chooses the default that matches the platform.
The prefix: TargetPanel.dir is used to specify variables related to setting the default installation directory.
IzPack recognizes this as a built-in variable which can be user-modified.
For example, change the resources to variables:
Default path definition in IzPack 4.x
<resources>
<res id="TargetPanel.dir.windows" src="@{izpack.dir.app}/installpath.windows.txt"/>
<res id="TargetPanel.dir.unix" src="@{izpack.dir.app}/installpath.unix.txt"/>
</resources>to
Default path definition in IzPack 5.x
<variables>
<variable name="TargetPanel.dir.windows" value="C:/MyApp"/>
<variable name="TargetPanel.dir.unix" value="/usr/local/myapp"/>
</variables>This uses the following variable search order to determine the default directory to display:
TargetPanel.dir.<platform symbolic name> e.g. TargetPanel.dir.windows_7
TargetPanel.dir.<platform name> e.g. TargetPanel.dir.windows
TargetPanel.dir.<parent platform> e.g. given platform "FEDORA_LINUX" looks for TargetPanel.dir.linux, followed by TargetPanel.dir.unix
TargetPanel.dir
DEFAULT_INSTALL_PATH
SYSTEM_user_dir corresponds to the system property "user.dir"
Available platforms can be found in the class Platforms. The names are the lowercase versions of those defined.
Allowed names include:
aix
debian_linux
fedora_linux
freebsd
hp_ux
linux
mac
mac_osx
mandrake_linux
mandriva_linux
os_2
red_hat_linux
sunos
sunos_x86
sunos_sparc
suse_linux
unix
ubuntu_linux
windows
windows_7
windows_8
windows_xp
windows_2003
windows_vista
The DEFAULT_INSTALL_PATH variable is initialised to <PARENT_DIRECTORY>/$APP_NAME where <PARENT_DIRECTORY> is determined by:
OS | Parent Directory |
|---|---|
Windows | ProgramFiles environment variable |
Mac OSX | /Applications |
Others | /usr/local/ if writeable, or System.getProperty("user.home") if not |
Changes from 4.3.6
The range of values the variable can have has been significantly enhanced, as per IZPACK-829.
Changes from earlier versions
Prior to 4.3.6, resources were used rather than variables. Resources were searched for with the following names
"TargetPanel.dir." + lower case version of System.getProperty("os.name"), with any spaces replace with underscores
"TargetPanel.dir." + <platform> where platform is one of ("windows", "mac", "unix")
"TargetPanel.dir"
IZPACK-798 changed the above to use variables instead of text files, following the same naming convention.