/
Setting Default Installation Directories

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:

  1. TargetPanel.dir.<platform symbolic name> e.g. TargetPanel.dir.windows_7
  2. TargetPanel.dir.<platform name> e.g. TargetPanel.dir.windows
  3. TargetPanel.dir.<parent platform> e.g. given platform "FEDORA_LINUX" looks for TargetPanel.dir.linux, followed by TargetPanel.dir.unix
  4. TargetPanel.dir
  5. DEFAULT_INSTALL_PATH
  6. 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:

OSParent Directory
WindowsProgramFiles 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.

Related content

UserPathPanel
UserPathPanel
More like this
Mixed Installation Mode Using Variable Defaults
Mixed Installation Mode Using Variable Defaults
More like this
InstallationTypePanel
InstallationTypePanel
More like this
Compiling Using Maven
Compiling Using Maven
More like this
Variables
Variables
Read with this
Panels
More like this