[izpack-changes] r1618 - in izpack-src/tags: . 3.9.0 3.9.0/src 3.9.0/src/dist-files 3.9.0/src/lib/com/izforge/izpack/panels

noreply at berlios.de noreply at berlios.de
Mon Sep 25 06:19:44 CEST 2006


Author: jponge
Date: 2006-09-25 06:19:33 +0200 (Mon, 25 Sep 2006)
New Revision: 1618

Added:
   izpack-src/tags/3.9.0/
   izpack-src/tags/3.9.0/Versions.txt
   izpack-src/tags/3.9.0/src/build.xml
   izpack-src/tags/3.9.0/src/dist-files/IzPack-install.xml
   izpack-src/tags/3.9.0/src/lib/com/izforge/izpack/panels/ShortcutPanel.java
Removed:
   izpack-src/tags/3.9.0/Versions.txt
   izpack-src/tags/3.9.0/src/build.xml
   izpack-src/tags/3.9.0/src/dist-files/IzPack-install.xml
   izpack-src/tags/3.9.0/src/lib/com/izforge/izpack/panels/ShortcutPanel.java
Log:
Tag for 3.9.0

Copied: izpack-src/tags/3.9.0 (from rev 1615, izpack-src/branches/branch-3.9)

Deleted: izpack-src/tags/3.9.0/Versions.txt
===================================================================
--- izpack-src/branches/branch-3.9/Versions.txt	2006-09-24 19:05:08 UTC (rev 1615)
+++ izpack-src/tags/3.9.0/Versions.txt	2006-09-25 04:19:33 UTC (rev 1618)
@@ -1,916 +0,0 @@
-[ The list of the different public versions of IzPack ]
-
-  > 3.9.0 (build 2006.mm.dd)
-- Fix Accents In French Langpack (Fabrice Mirabile)
-- Update French Langpack (Julien Ponge)
-- New Indonesian Langpack (Hans Aikema, thanks to Thomas Edwin Santosa)
-- Updated Dutch Langpack (Hans Aikema) 
-- Fix for ComboBox in SearchField of UserInputPanel returning
-  java.lang.reflect.InvocationTargetException
-  if no options added.(Fabrice Mirabile, thanks to Oliver Kiddle)
-- Fix for the header of the window runs the message into
-  the filename (Fabrice Mirabile, thanks to Oliver Kiddle)
-- Added TroubleShooting for ShellLink.dll missing in help (DocBook and XHTML)
-  (Fabrice Mirabile).
-- Swing threading fixes (Julien Ponge).
-- Some fixes adviced by IntelliJ IDEA 5.1 code inspector (Julien Ponge).  
-- Spanish langpack update (Cesar Martinez Izquierdo).
-- New Polish langpack (Fabrice Mirabile, thanks to Radek)
-- Fixed the createPWD.sh (Fabrice Mirabile, thanks to Radek)
-- Workaround for crashes at end of installation with Java VM version
-  1.5 (also known as 5.0) (Klaus Bartz).
-- Updated russian langpack (Fabrice Mirabile)
-- Fixed indent of ShortcutPanels Headline (Marc Eppelmann)
-- Made available all IzPack Variable in the ShortCut Specs (Marc Eppelmann)
-- Configurable heading panel added to InstallerFrame (Klaus Bartz).
-- Panels counter (text or progressbar) useable in the heading or 
-  navigation panel (Klaus Bartz).
-- Fixed logfile for AntActions (Eric Rose).
-- PacksPanels: fixed disk space requirements (Ryan Shillington, via Julien
-  Ponge).
-- Compiler fix (Ryan Shillington, via Julien Ponge).
-- fixed Shotcut(s)(Panel) for Administrators on Win32 (Marc Eppelmann)
-- Fixes on Launcher, handling stuff (Julien Ponge)
-- MAC OS: Launcher is built as universal (ie, i386/ppc) binary  (Julien Ponge)
-- MAC OS: Qt is embedded in the application bundle  (Julien Ponge)
-- Added a variable for install log, InstallerFrame.logfilePath (Klaus Bartz).
-- Added the docu for install log (Fabrice Mirabile).
-- TwoColumnLayout fix (Amit Bhayani @JBoss/RedHat).
-- New compiler (packager) comandline argument -h for IZPACK_HOME; try to 
-  automatic resolving of IZPACK_HOME if not specified (Klaus Bartz).
-- New layout manager (IzPanelLayout) for simplify layouting of IzPanels. 
-  Configurable anchor, gaps, stretch rules etc. (Klaus Bartz).
-- Documentation figures refreshment (Julien Ponge).
-- Throw an IllegalArgumentException in the compiler if the declared panel
-  name differs in case from the founded class name (Klaus Bartz).
-- Re-Activated Shortcut Support for the Automated Installation (Marc Eppelmann).
-- Expanded Debug.log()'s possibility to log with Timestamp and or new Date()
-  Default is now: with both. (Marc Eppelmann).
-- Suppress a NullPointerException in the RuleInputField (Dennis Reil, via Marc
-  Eppelmann).
-- Merged normal installer and registry-enabled installers (Julien Ponge).
-- A potential null pointer exception has been discovered in Unpacker with a
-  custom action. (Dennis Reil, via Julien Ponge).
-- Implemented the X-KDE subsitute user - shortcut attribute (see Unix_shortcutSpec.xml)
-  (Marc Eppelmann).
-- Write Desktop shortcuts to all known local and ypbinded users "desktop" folders.
-  (Marc Eppelmann)
-- Write common shortcuts and their icons to the new freedesktop.org common
-  "/usr/share/applications"   and "/usr/share/pixmaps" folders to display 
-  these in the commons [start].menu (Marc Eppelmann)
-- New InstallationGroupPanel for grouping packs together (Amit Bhayani, Scott Starks,
-  Alex Pinkin @JBoss/RedHat, via Julien Ponge).
-- Variable substitution in the description-elements of the PacksPanel (Dennis Reil, via
-  Julien Ponge).
-- Added a src.tar.gz target in the build.xml to create a IzPack.src.tar.gz (Marc Eppelmann)
-
-  > 3.8.1 (build 2006.01.06)
-- Added Greek language support (Fabrice Mirabile, thanks to Panayotis
-  Katsaloulis for the translation and flag).
-- New splashscreen artwork (Nicolas Deschaume).
-- Added IPAdress and ClassPath variable (Fabrice Mirabile).
-- Added HostName variable (Fabrice Mirabile, thanks to Oliver Kiddle).
-- Fixes for IPAdress (Fabrice Mirabile).
-- Patch for WebAccessor: indeterminate progress bar (Julian Payne).
-- Finish language support update (Ari Voutilainen).
-- Script parser fix when no application URL is given.
-- Fix for installer spanning screens with xinerama.
-- Fix for bug #4551 (Weiji Guo).
-- Subgrouping of shortcuts (Weiji Guo).
-- Added Korean language support (Fabrice Mirabile, thanks to Dongsu Jang).
-- Added new panel SelectedPrinterPanel which allows the user to chose any local
-  printer installed and set it to the $SELECTED_PRINTER variable. (Hal Vaughan 
-  and Fabrice Mirabile).
-
-  > 3.8.0 (build 2005.10.27)
-- Added 2 processor classes having the ability to fill a combobox 
-  with all available unix user and groups (Thorsten Kamann)
-- All default values for the InputPanel (the values of the set attribute)
-  can conatins variables at now.  All
-  variables will be replaces by the VariableSubstitutor (Thorsten Kamann)
-- The resources of the target panel can contains variables at now. All
-  variables will be replaces by the VariableSubstitutor (Thorsten Kamann)
-- Fixed chinese Flag.
-- Patch for InstallerFrame to support user confirmation after pressing 
-  windows "X" closing button.
-- Update the IzPackTask to support an embedded xml installation document that
-  replaces @{x} property references with the corresponding ant property.
-  (patch #442 - Scott Stark).
-- Compiler refactor into an xml parser and xml independent compiler + Pack
-  group, installGroups (patch #439/440 - Scott Stark).
-- IzPack is now released under the terms of the Apache Software License 2.0.
-- Support for a jar attribute on the listener element (patch #432 - Scott Stark).
-- PacksPanels: translations loading fix (patch #446 - Stefan Heidrich).
-- Fixing bug with comboboxes. There was no text shown if you do not use a
-  processor to generate the choices. At now you can us the id or txt attribute
-  (Thorsten Kamann)
-- Uninstaller: use the system Look and Feel instead of the cross-platform one
-  (feature request #470).
-- The uninstaller name can be changed (Thomas Girard).
-- Documentation on the panels creation updates (Elmar Grom).
-- New SummaryPanel (Klaus Bartz).
-- New SummaryLoggerInstallerListener which loggs the summary
-  into a log file (Klaus Bartz).
-- Langpack up-to-date check script (Oscar Sierra | Klaus Bartz).
-- Custom langpacks (Klaus Bartz).
-- New variable APPLICATIONS_DEFAULT_ROOT (Klaus Bartz).
-- Bugfix in MultiLineLabel; now a line break will be performed also
-  it is needed at the last word of the line (Klaus Bartz).
-- Bugfix in JDKPathPanel: now it is possible to select an out-of-version
-  JDK (Klaus Bartz).
-- Properties can be substituted at compile time from the environment,
-  command line, java properties, ant, or <property> tag (Chad McHenry
-  and Scott Stark).
-- New Turkish langpack (Levent Bayindir).
-- Mac OS X: better Swing integration.
-- Configurable notation of language names in the language selection dialog 
-  (Christian Murphy | Klaus Bartz).
-- Fail message in SimpleFinishPanel (Klaus Bartz).
-- Interrupt handling changed (Klaus Bartz).
-- Fixed shortcuts for RedHat and Mandrake (Fabrice Mirabile, thanks to Vitor 
-  Rodrigues for the code).
-- New ConditionalUserInputPanel (Andreas Breiter, patches #407, #408).
-- ExecuteForPack, allow processing depending on the selected pack (Fabrice
-  Mirabile, thanks to Johannes Gutleber for the code).
-- Ant file cleanup: requires ant 1.6. Incremental builds of jar files.
-- Macrodefs instead of antcalls (Chad McHenry).
-- createForUnselectedPack, show a userinputapanel if a pack is not selected 
-  (Fabrice Mirabile, thanks to Stefano Gamma)
-- Registry support on Windows (Klaus Bartz).
-- New CheckedHelloPanel which checks already installed products (Klaus Bartz).
-- Most IzPackTask output for ant is only dumped in VERBOSE mode (Chad McHenry).
-- Introduction of a JUnit test suite.
-- Scripts for easier built of password validation and encrytion addon classes (Fabrice Mirabile)
-- standalone-compiler.jar no longer has duplicate entries (bug #3928).
-- Building process: Java source and target compatibility enforced to 1.4.
-- IzPack installer: use JGoodies Looks on *nix as MlF is buggy on 1.5.
-- "Made with IzPack label": enforce a specific font for the label, making it
-  look finally good with JGoodies Looks.
-- ImgPacksPanel: removed the useless/ugly border around the description area.
-- New compressor pack added to support different compression algorithm for the
-  packs; initial supported are "raw", "deflate" and "bzip2" (Klaus Bartz).
-- New documentation in XHTML Strict 1.0 + CSS (Fabrice Mirabile).
-- New documentation in DocBook (Fabrice Mirabile).
-- Unicode port of shortcuts and registry stuff (Klaus Bartz).
-- New Mac OS X icon (.icns).
-- Added the American Locale XML and Flad (Fabrice Mirabile thanks to Joe Favero)
-
-  > 3.7.2 (build 2005.04.22)
-
-- IoHelper.getPrimaryGroup: bugfix for SunOS (Klaus Bartz).
-- Russian langpack fixes (Alexey Makhmutov).
-- Swedish langpack update (Nils Nordman).
-- Spanish langpack update (Juan Alvarez).
-- UserInputPanel: made 'instanceNumber' a protected atribute (patch #406,
-  Andreas Breiter).
-
-  > 3.7.1 (build 2005.02.15)
-
-- The Danish langpack was empty by mistake in 3.7.0.
-- Silent installations fix (Oscar Sierra).
-- Free disk space bugfix on Solaris (Oscar Sierra).
-- Installation runable with VM versions < 1.4 again (Klaus Bartz) 
-  (implementation for bug #2268 changed).
-- Italian langpack fixes (Fabrice Mirabille).
-- UserInputPanel: bug fixes by Per Abich (bugs #3233 and #3283).
-- Russian langpack fixes (Alexey Makhmutov).
-- ProcessPanel log file creation fix on Win32 (Anthony Xin Chen).
-- IoHelper.getenv: on Windows keys are not case sensitive (Klaus Bartz).
-
-  > 3.7.0 (build 2005.01.11)
-
-- Adding custom action stuff for packaging, installation and uninstallation
-  (Klaus Bartz).
-- The packs files can now be located on disk if needed, for instance to install
-  an application located on a live cd (Erik Artzmark).
-- The attributes "includes" and "excludes" now are supported for filesets
-  (Klaus Bartz).
-- As many sensitive clean-ups as possible have been made after a FindBugs run.
-- Support of native libraries and additional jar files in the uninstaller (Klaus Bartz).
-- InfoPanel: variables substitution is now allowed (Borje Jonsson).
-- InstallPanel supports internationalized package names (Gaganis Giorgos).
-- Support for package dependencies (Gaganis Giorgos).
-- ShortcutPanel: can be optionally skipped on non-supported platforms.
-- PacksPanels: free disk space stuff (Klaus Bartz).
-- New Malaysian langpack (Redhuan Daniel Oon).
-- System properties can now be used as variables (Borje Jonsson).
-- New Norwegian langpack (Mohammed Sourouri).
-- New Chinese langpack (Xi Ping Wang).
-- The language selection box will now appear in the Windows tasks list (Harald
-  Spfle).
-- Spanish langpack update (David Perez Carmona).
-- Fix that prevented the correct detection of OS X.
-- Custom actions for ant calls (Klaus Bartz).
-- IzPanel.setInitialFocus( Component ) stuff added (Klaus Bartz).
-- Configurable button and label icons (Klaus Bartz).
-- Configurable subpath for $INSTALL_PATH default (Klaus Bartz).
-- New base class PathInputPanle for TargetPanel; new JDKPathPanel (Klaus Bartz).
-- Common helper in IzPanel (Klaus Bartz).
-- JGoodies loading fix.
-- Unified OS detection in OsVersion (Hani Suleiman).
-- Default installation path on unix now checks for writable 'usr/local' instead
-  of 'root' username (Hani Suleiman).
-- Removed incomplete and non-functional support for Mac OS9 (Hani Suleiman).
-- Fixed punctuation and some wording in English langpack (Hani Suleiman).
-- Logfile for ProcessPanel (Klaus Bartz).
-- Automatic scrolling of ProcessPanel output (Anthony Xin Chen).
-- Fixed bug parsing some brace enclosed variables (Chad McHenry) (bug #2451).
-- New Serbian translation (Filip Brcic).
-- Bug at loading Panels from other packages fixed (Klaus Bartz).
-- Unix (KDE/Gnome) shortcuts support (Marc Eppelmann).
-- ShortcutPanel: going to a previous panel could lead to strange situations
-  (bug #2713).
-- Installers: avoid showing an empty JFrame behind the languages selection
-  dialog (observed on X11).
-- UserInputPanel: the autodetect button is hidden if not needed 
-  (Michael Hagedorn).
-- A tutorial is now available.
-- New Czech langpack (Jan Pavlovic).
-- German langpack: the uninstaller checkbox string was confusing about the
-  uninstaller performing a full deletion, including the files not unpacked
-  by an IzPack installer.
-- Liquid LnF: version bump (0.2.9-alpha5).
-
-  > 3.6.1 (build 2004.10.09)
-
-- Slovak translation updates (Milan Madzia).
-- Java class execution bug fix (Erik Artzmark).
-- ImgPacksPanel was not aware of i18n by using the packsLang.xml_xxx resource.
-- Portuguese langpack updates (Flavio Fonseca).
-- Blocking the GUI interaction (like in InstallPanel) was only working with the
-  mouse events. It now works with the keyboard ones too (Eduard Jodas Samper).
-- TargetPanel: refuse selecting read-only directories.
-- Documentation fixes.
-- TargetPanel: more sanity checks (Andreas Vox).
-- InstallPanel: register errors as failures (Andreas Vox).
-- Polish translation updates (Bronek Truzkowski).
-  > 3.6.0 (build 2004.07.28)
-- New Danish langpack (Frank Bille Jensen).
-- Web installers can now prompt for passwords and a proxy (Chad McHenry).
-- Fixed all javadoc warnings and errors (Chad McHenry).
-- ImgPacksPanel has been reworked to offer some features that only PacksPanel
-  had (Volker Friedritz).
-- Panels can be from any package (Chad McHenry)
-- Uninstaller not included, if it is not to be written anyway (Chad McHenry).
-- Packager and Compiler refactored.
-- Changed the JFrame icon shown in the installers and uninstallers.
-- New SimpleFinishPanel that don't have the automated installers feature.
-- Heavy refactorings on the look and feels side. The Kunststoff packagers have
-  been removed. The look and feels can now be specified on a per-OS basis. If
-  no look and feel is specified for a particular OS, then the platform default
-  one will be used.
-- The IzPack own installer uses the ImgPacksPanel again with some refreshed
-  packages pictures.
-- UserInputPanel: more parameters and a regular expressions validator have been
-  added (Mike Cunneen).
-- 3 new UserInputPanel validators (Thorsten Kamann):
-  * PortValidator (checks whether a port on localhost is available)
-  * IsPortValidator (checks whether the enterd value is a port in the range
-    between 0 and 32000)
-  * HostAddressValidator (checks whether the combination host:port is available)
-- 1 new UserInputPanel processor that checks checks whether the combination of
-  host:port is available. If not the port will be arised until it is available.
-  (Thorsten Kamann)
-- Web install location specified in xml, not resource. (Chad McHenry)
-- Web installer packs are in separate jars to minimize downloads. (Chad McHenry)
-- fix bug so <fileset> uses same default excludes as ant. (Chad McHenry)
-- added 'defaultexcludes' attribute to <fileset> (Chad McHenry)
-- More elements in dtd are optional, fixed bugs causing errors if certain
-  optional elements were omitted. (Chad McHenry)
-- It is now possible to have a specific picture for a specific panel by using
-  the Installer.image.n resources where n is the panel 0-based index.
-  (Peter Mikula).
-- Adding support for i18n to the pack panel (Thorsten Kamann)
-- Removing limtation the going backward is disabled if a pack not selected and
-  the pack using a panel (Thorsten Kamann)
-- Adding support for floating text in a langpack file (Thorsten Kamann).
-- At now you can specify a processor class to pre process the set value of a
-  RuleInputField (Thorsten Kamann).
-- The choices of a combo box can be generated throug a processor class
-  (Thorsten Kamann).
-- The message of a validator can be a i18n message (Thorsten Kamann).
-- If a translation string value cannot be found, then the key will be returned
-  instead of null, avoiding null exceptions when new strings are added.
-- The finish panels are now setting the quit button text to 'Finish' instead of
-  'Quit', which could confuse some users (Dario Yuri).
-- Many Windows shortcuts code fixes and enhancements (Bill Wong).
-- UserInputPanel and PacksPanel i18n support (Gaganis Giorgos).
-- ProcessPanel can now execute Java classes (Alex Bradley).
-- TargetPanel: pressing enter in the target editor will move to the next panel
-  (Gaganis Giorgos).
-- Polish langpack fix (Bronek Truszkowski).
-
-  > 3.5.4 (build 2004.06.05)
-
-- German langpack fixes once again (Klaus Bartz).
-- Slovak langpack fix (pbe at whitestein.com).
-- The variable for the ISO3 language code was IS03_LANG instead of ISO3_LANG (a
-  zero instead of a 'o'). This stupid bug is now fixed (bug report #1883).
-- Catalan langpack update (Oscar Aubareda Fernandez).
-- UserInputPanel: fix for the directory detection failure (bug #1849) + added
-  the possibility to use a '*' in the choices
-  (ex: <choice value="/opt/java/*"/>). Patch by Thorsten Kamann.
-
-  > 3.5.3 (build 2004.05.15)
-
-- German langpack punctuation fixes (jonelo).
-- TargetPanel: the target path could be written several times in the automated
-  install XML descriptor (bug #1864).
-- TargetPanel: the path is now always converted to absolute (could cause
-  problems in variables substitutions). (bug #1866).
-- Target Panel: the path input field could be a bit short if a picture was used.
-  Fixed by Klaus Bartz (bug #1875).
-- German langpack: spelling correction (Dustin Sacks)
-- Fixed probelems creating a web-kunststoff installer (bug #1904)
-- IzPack installer: simpler and refreshed readme text.
-
-  > 3.5.2 (build 2004.05.01)
-
-- Fixed moving empty directory to root (pbe at whitestein.com).
-- UserInputPanel getResult() fix (bug #1769).
-- Slovak langpack fix (patch #88).
-- A new mailing-list izpack-changes at lists.berlios.de has been set up to receive
-  various development-related notifications.
-- German langpack fix (bug #1828).
-- Web installer fix: wrong jar was getting izpack classes
-- RuleTextField input bug fix (bug #1618)
-
-  > 3.5.1 (build 2004.03.16)
-
-- No custom look and feel will be applied on Mac platforms (Chad McHenry).
-- A message box is now raised when the installer detects that the Java version
-  it is running on is lower than the one required by the package provider.
-- The Win32 documentation shortcuts are now back again.
-- If 'user.home' is set to something like 'C:' on Windows, it will be changed to
-  'C:\'.
-- German langpack: minor fix on 'LicencePanel.agree' translation.
-- UserInputPanel.getResult(): path construction fix (bug #1634).
-
-  > 3.5.0 (build.2004.02.26)
-
-- The developer services have moved to BerliOS (http://developer.berlios.de/).
-- Uninstaller is now able to delete itself and the install directory
-  (Chad McHenry)
-- Upate Checking: The installer is now able to "update" an already installed
-  package, therefore removing superfluous files after installation
-  (Tino Schwarze).
-- Dutch langpack update (Hans Aikema).
-- The compiler now emits some warnings when processing an incorrect installation
-  file (Chad McHenry / Marcus Stursberg).
-- New SudoPanel (Jan Blok).
-- ShortcutPanel: the action is now performed when the 'next' button is pressed
-  (Jan Blok).
-- Nasty bug in AutomatedInstallData variables setting fix.
-- Ant build: 'clean' target fix (Chad McHenry).
-- Language selection dialog: the 'ok' button gains the focus by default (Chad
-  Mchenry).
-- Uninstaller: various fixes (Chad McHenry).
-- Installer: the 'next' button requests focus whenever it is available.
-- Switched to the Crystal icons from KDE 3.2.
-- Uninstaller: proper use of the ButtonFactory.
-- Packs can now be restricted to a certain OS list (Jan Blok).
-- Fixed a bug that caused the automated installers to produce broken installers
-  (bug #1472).
-- Files with the same file source are never stored more than once anymore in the
-  resulting installer jar (Jan Blok).
-- Various documentation refreshments. The PostScript[tm] version is not produced
-  anymore (PDF + HTML are the 2 targets).
-- Language selection box: UI rendering fix (Chad McHenry).
-
-  > 3.4.0 (build 2003.12.06)
-
-- The frontend which had been deprecated in 3.3.0 has been removed. There won't
-  be another frontend until someone volunteers to make a new one.
-- The files executor has been fixed when dealing with classpath arguments
-  passing.
-
-  > 3.3.0 (build 2003.11.15)
-
-- Various bugs fixed (taken from the bugs database).
-- The current GUI frontend is deprecated. The project is looking for people to
-  take over the development of a new one.
-- The compiler now returns a sensible exit code on error. This way, it can be
-  used in scripts.
-- Italian localization updates by Cristian Ghezzi.
-- Win32: Rewrote the localization of "Program Files" and added support for all
-  24 localized versions of Windows 2000/XP (Dennis Lundberg).
-- Portuguese localization updates from Alex Carlos Braga Antao.
-- Swedish localization updates from Dennis Lundberg.
-- InstallPanel: the overall progress bar makes steps forward only after a pack
-  has been fully processed. The previous behaviour was to step forward at the
-  beginning of a pack extraction.
-- CompilePanel: disable Start button after successful compilation (T.Schwarze).
-- improve search field of the UserInputPanel: add checkfilename (T.Schwarze).
-- XInfoPanel: UI fix.
-
-  > 3.2.1 (build 2003.09.19)
-
-- Added a new built-in variable ISO3_LANG that contains the selected language
-  ISO3 code (Elmar's idea).
-- Added a new 'run.installer' target to the Ant build file.
-- Added an uninstall target to the documentation makefile.
-
-  > 3.2.0 (build 2003.09.18)
-
-- Added 3 built-in variables that you can use with the variables substitutor:
-  o APP_NAME for the application name
-  o APP_URL for the application URL
-  o APP_VER for the application version.
-- New ProcessPanel (Tino Schwarze).
-- The documentation is now licensed under a Commons Creative license.
-- The documentation now has a nicer cover page.
-- Jar file execution fix on the classpath arguments passing.
-- Win32: "Program Files" can now be localised (resolves problems with German
-  Windows for instance).
-- com.izforge.izpack.util.OsConstraint was missing in uninstaller.jar .
-- Small documentation typing errors fixed.
-- Added an install target to the documentation Makefile.
-- Frontend: Jar files could be listed in the panels tab. Fixed.
-- The scripts execution flag is now set to every users on Unix-like systems
-  (chmod a+x), regardless of who the user is (i.e. root or a single user).
-- Reformatting (imports, Ant build file).
-
-  > 3.1.0b (build 2003.08.22)
-
-- Fix in the standalone compiler (Tino Schwarze).
-
-  > 3.1.0a (build 2003.08.15)
-
-- Fixes a bug while generating a Kunststoff installer.
-
-  > 3.1.0 (build 2003.08.11)
-
-- Added the possibility to use a standalone compiler (Tino Schwarze).
-- Added a new target to the Ant build system in order to fix the files CR/LF and
-  encodings.
-- Includes the following enhancements from Jonathan Halliday and Tino Schwarze.
-- Added overall progress bar to InstallPanel
-- Added SearchField to the UserInputPanel which allows to search for
-  files or directories at installation time
-- Added CompilePanel which allows Java classes to be compiled after
-  installation
-- Add infrastructure for automated installation - after installation,
-  the FinishPanel allows the user to save an XML file which can later be
-  used for automated installation (simply pass it to the installer as an
-  argument, for example:
-    java -jar my_super_program.jar super_program_autoinstall.xml
-  )
-- (internal) add infrastructure for GUI abstraction
-- Improved documentation:
-  o build better PDF using pdflatex (with hyperlinks and bookmarks)
-  o reorganize documentation for the <packs> section
-- Add <singlefile> tag which is useful if a file's name after
-  installation is different from the source file name
-- Add support for os attribute and <os> tag to all pack entries
-  (hopefully, the DTD is correct)
-- Allow files to be kept after execution
-- Allow packs to be preselected for installation or not
-- Allow packs to be OS dependent
-- Provide finer control when overwriting files:
-  o ask for overwriting, default yes
-  o ask for overwriting, default no
-  o update (only considers mtime - no real update)
-- Allow absolute paths in source files (might already be in 3.0.9)
-- Finer error handling - report missing attributes
-- (internal) TwoColumnLayout now supports WESTONLY and EASTONLY
-- (internal) made the ResourceManager a singleton
-- Add new kind of script parsing: shell - used %{variable} syntax to
-  avoid clashes within shell scripts
-
-  > 3.0.9 (build 2003.06.29)
-
-- New Romanian language pack (Dani Orza).
-- Absolute paths problems patch (Tom Moore).
-- DTD, documentation fixes.
-
-  > 3.0.8a (build 2003.05.02)
-
-- A bug had been introduced in 3.0.8 during the files extraction. Fixed.
-- Polish langpacks update.
-
-  > 3.0.8 (build 2003.04.26)
-
-- Packs OS-targeting (Fran Taylor).
-- OS selection improved accuracy (Sanjay Linganna).
-- The standard installers can now use the native look and feel if the
-  'useNativeLAF' resource is specified (nice feature especially with the
-  incoming JDK 1.4.2).
-- The standard installers get back the button icons and highlighting effects.
-- Russian langpack update (Igor Anikeev).
-- Directory creation patch (Jonathan Halliday).
-
-  > 3.0.7 (build 2003.04.04)
-
-- Slovakian langpack thanks to Milan Madzia.
-- Japanese, Russian and Dutch langpacks updates.
-- The uninstallers can now run scripts thanks to a patch from Hani Suleiman.
-
-  > 3.0.6 (build 2003.02.27)
-
-- Updated the French and German langpacks.
-- Fixed the building process to take care of all classes related to the InputPanel.
-- Made some fixes on the installers DTD.
-- Elmar Grom / UserInputPanel:
-  o Fixed a bug with the drop down box that always return the value for the last
-    option in it, regardless of what had been selected during installation.
-  o Implemented the automated installer mode.
-  o RuleInputTextField can now be validated and processed with custom code
-    (documentation to come soon).
-  o A password field is now available and can also be validated and processed
-    with custom code (documentation to come soon).
-
-  > 3.0.5 (build 2003.02.14)
-
-- This release becomes the new stable version, waiting for the 3.1 release which
-  is not yet ready. The stable/unstable versions separation is suspended.
-- Fixed a TargetPanel inconsistency when the target directory is empty.
-- Fixed Ant filesets-related problems.
-- UI fonts fixes for Linux/Sun JDK-1.4.
-- Empty directories can now be included.
-- IzPack's own installer now makes uses of the Ant-style filesets.
-- Splitted the documentation pack into several ones.
-- MacOS X UI fixes (Hani Suleiman).
-
-  > 3.1.0 pre5 (build 2003.01.12)
-
-- Included Elmar's new UserInputPanel documentation.
-- A panel can now be added several times in an installation. This is mostly
-  useful for the new UserInputPanel.
-- Separated the installer generation from the 'dist' target in the Ant building
-  process. The new target is 'generate.installer'.
-- Move the com.izforge.izpack.util.EtchedBorder class to com.izforge.izpack.gui.
-  The class has also been rewritten because the original code was introduced
-  with a proprietary license notice.
-
-  > 3.1.0 pre4 (build 2002.12.08)
-
-- A lot of installer GUI improvements by Jan Blok :
-  o an image can be shown in the installer left side
-  o buttons will look great under OSX
-  o HelloPanel : don't display authors if not present
-  o InstallPanel : immediate installation launching (the silly install button
-    has gone to heaven)
-  o LicencePanel : better GUI
-  o PackPanel : use table and display description, complete rewrite of this
-    panel
-  o IzPackMetalTheme : Tahoma is used if present on the target machine.
-- New UserInputPanel that allows to prompt the users for some values that can
-  later be stored as variables that can be parsed for in files (Elmar Grom).
-  Sorry but I did not have time to include the related documentation at the
-  release time.
-
-  > 3.1.0 pre3 (build 2002.11.24)
-
-- Restyled, cleaned, javadoc'ed the whole IzPack source code.
-- The full IzPack source code Javadocs are generated when making a release.
-- Wiped the Enroll* classes that were polluting IzPack.
-- Added the creation of shortcuts for the IzPack documentation and the
-uninstaller.
-
-  > 3.1.0 pre2 (build 2002.10.19)
-
-- New (and clean) ResourceManager thanks to Marcus Stursberg.
-- Shorcut fixes by Elmar Grom.
-
-  > 3.1.0 pre1 (build 2002.09.21)
-
-- When InstallPanel was the last panel, it unlocked the next button and this was
-  of course not the desired behaviour.
-- ImgPacksPanel and PacksPanel can now display the total disk space required
-  (Adam Barclay for this task).
-- MacOSX GUI fix thanks to Hani Suleiman.
-- GUI Frontend fixes by Andrew De Torres.
-- Support for files overriding behaviour (override or keep old version if
-  present) by Adam Barclay.
-- New Italian langpack thanks to Franco Graziosi.
-
-  > 3.0.0 (build 2002.08.13)
-
-- First stable release of the 3.x series ;-)
-- Ant task : the trailing '/' is appended on the IzPack directory when it is
-  omitted (Gareth Cronin).
-- Many improvements on the documentation which should be quite fine - Elmar Grom
-  helped a lot on this.
-- Updated ant.jar from the Ant 1.5 stable release.
-- German language pack fixes by Jonelo.
-
-  > 3.0.0 rc3 (build 2002.07.28)
-
-- The Japanese langpack has been fixed by Akky Akimoto (now Windows shortcuts
-  compliant).
-- Windows shortcuts counterpart is now fully working thanks to the big efforts
-  of Elmar Grom with the additional help of Marcus Stursberg.
-- Documentation mispelling fixes and additions by Elmar Grom.
-
-  > 3.0.0 rc2 (build 2002.07.06)
-
-- Added some documentation on the *LicencePanel and *InfoPanel panels.
-- Bugfix in HTMLLicencePanel.
-- The uninstaller is now able to take care of the jar new location (under the
-  install path) and wipes everything cleanly.
-- The 'create shortcut' button in ShortcutPanel is now disabled after the
-  shortcuts are created.
-
-  > 3.0.0 rc1 (build 2002.07.03)
-
-- Fixes on the shortcuts sytem.
-- New Hungarian language pack thanks to Harsan Peter.
-- New Japanese language pack thanks to Hiroki Akimoto.
-- New documentation.
-- Fixed many source coding style errors.
-- Coding guidelines publication.
-- Some Javadoc text is now generated for those who need to make panels.
-
-  > 3.0.0 pre4 (build 2002.06.15)
-
-- Polish language pack thanks to Piotr Bzdyl.
-- Shortcut system fixes.
-- The IzPack installer is now able to create shortcuts on Windows systems
-  while not creating any problem on another Operating System.
-- Catalan language pack thanks to Oscar Aubareda Fernandez.
-- The uninstaller is now copied under $INSTALL_PATH/Uninstaller.
-- Closing the language selection box of an installer will (finally !) close
-  the installer.
-- Removed the same named directories and files from the installers jars.
-- The ShortcutPanel now uses the IzPack highlighted buttons.
-- Many improvements from the e-xmlmedia.fr people including the Ant fileset
-  support, all these features will be documented in the coming new
-  documentation.
-
-  > 3.0.0 pre3 (build 2002.05.19)
-
-- HTML licence panel agreement system fix by Jonelo.
-- Official inclusion of Elmar Grom's Windows library to create some shortcuts on
-  this operating system.
-( following : Johannes Lehtinen )
-- Cleaned up the InstallData interface and added utility methods.
-- Made the special variables (such as $INSTALL_PATH) available to panels using
-  the standard interface.
-- Made InstallData a singleton class.
-- Added InstallData properties for Panel interoptability.
-- Added a new variable : $FILE_SEPARATOR.
-
-  > 3.0.0 pre2 (build 2002.04.27)
-
-- Fixes & enhancements in the executable files support (Olexij Tkatchenko).
-- 2 new splash screens by Nicolas Deschaume.
-- The launching scripts of the pre1 were corrupted.
-
-  > 3.0.0 pre1 (build 2002.04.21)
-
-- Enhanced splash #5 by Nicolas Deschaume.
-- Improved uninstalling system giving an access to the panels.
-- Image support at the language selection dialog through an optionnal resource
-  (installer.langsel.img).
-- Added executable element support (Olexij Tkatchenko).
-- /usr/local is now the default installation directory only for root user,
-  normal users will have $HOME instead (Unix* - Olexij Tkatchenko).
-- New Ukrainian language support (Olexij Tkatchenko).
-- The uninstaller now deletes itself after the uninstallation job is done.
-- Modified the IzPack Ant building process to integrate IzPack itself in order
-  to generate a ready-to-distribute installer.
-
-  > 2.12.0 (build 2002.03.31)
-
-- Removed the JScrollPane for the panels container.
-- Improved panels sizing policy due to the JScrollPane removing.
-
-  > 2.12.0 pre3 (build 2002.03.02)
-
-- Fixed a problem with the default compiler output file naming.
-- Added the Dutch language packs thanks to Fridjof Jansen.
-- Modified the Ant makefile so that any inner class of a panel can be
-  copied too.
-
-  > 2.12.0 pre2 (build 2002.02.22)
-
-- Changed the font sizes to 12 as it really looks better.
-- Removed the "All rights reserved" portions in the frontend languages
-  packs as it is not really usefull and it now makes the About Box look
-  better.
-- Fix in PacksPanel thanks to Marcus Wolschon.
-- Fixes in both Unix and Windows new startup scripts.
-- Paul Wilkinson added the integration with Ant.
-- Native libraries can now be specified to be added to the IzPack
-  installers through a new optionnal tag.
-
-  > 2.12.0 pre1 (build 2002.02.15)
-
-- Made some modifications to get the source code pass through the
-  IBM Jikes compiler checkings successfully.
-- Updated the Readme.txt file (I forgot to make it reflect the fact that
-  IzPack has a GUI frontend :-)
-- Updated the installer english langpack file so that 'installer.quit.message'
-  is not wrong anymore.
-- Added a complete Javadoc comments set to com.izforge.izpack.installer.IzPanel
-.
-- Inclusion of the IzPack installer XML file in the source directory.
-- The compiler and the frontend can now be invoked outside of the bin/ directory
-  without any problem. This provide a *noticeable* improvement ;-)
-
-  > 2.11.1 (build 2002.02.09)
-
-- Inclusion of the Kunststoff Look And Feel version 2.
-
-  > 2.11.0 (build 2002.01.18)
-
-- Pre-versions modifications have been validated.
-- Improved documentation HTML version.
-- IzPack's own installer : use the ImgPacksPanel instead of the classic
-  PacksPanel.
-- 2 new frontend splash screens thanks to Nicolas Deschaume.
-- HelloPanel : displays the email adresses enclosed by '<' and '>'.
-- This version is compiled with IBM Jikes.
-
-  > 2.11.0 pre2 (build 2001.12.17)
-
-- Frontend : added a toolbar.
-- Ant makefile : removed the 'clean' dependency for the 'all' target.
-- Installer : the next button will automatically lock if the last panel is
-  reached but does not already lock it.
-
-  > 2.11.0 pre1 (build 2001.12.09)
-
-- Installer : cached languages flags.
-- Installer : the languages flags are now grayed when not active (it creates
-  a rollover-effect when choosing the language in the list).
-- Frontend : the about box can't be resized.
-- Errors : now reported on the error output stream (System.err) instead of
-  the output stream (System.out).
-- Frontend : better GUI interaction.
-- ImgPacksPanel : fixed the bug that caused the snapshots not to switch as
-  expected when using the keyboard.
-- Updated Brazilian and Russian flags to conform with the other flags.
-
-  > 2.10.0 (build 2001.12.02)
-
-- Pre-versions modifications have been validated.
-- A panel can now specify some custom variables (Serge Sivkov).
-- New Brazilian-Portuguese translation thanks to Joao Marcelo Pereira Alves.
-- New Russian translation thanks to Serge Sivkov.
-
-  > 2.10.0 pre 2 (build 2001.11.25)
-
-- TargetPanel : it is now possible to specify a specific default installation
-  directory for a specific Operating System thanks to Michael Peterson.
-- Ant makefile : generation of the lib/ directory if not present (Michael
-  Peterson).
-- Documentation : updated to reflect the TargetPanel enhancements.
-
-  > 2.10.0 pre 1 (build 2001.11.11)
-
-- A CVS server is now available thanks to TuxFamily.org .
-- 2 New frontend splash screens pictures by Nicolas Deschaume.
-- Safer command-line compiler invocation.
-- New variable substitution backend by Johannes Lehtinen (backward compatible).
-- Better exceptions reporting system to the end-user.
-- Installer : centered labels at the language selection prompt.
-- LicencePanel : now locks the 'next' button if the 'yes' radio is not selected.
-- TargetPanel : now warns if the specified target is an empty string.
-- InstallPanel : now removes the last processed file path when the installation
-  is over.
-
-  > 2.9.0 (build 2001.10.26)
-
-- Faster and safer I/O thanks to Johannes Lehtinen.
-- Faster frontend splash screen.
-- Removed the finalizers in the code.
-- Windows icon file added.
-
-  > 2.8.0 (build 2001.10.20)
-
-- New Frontend splash screen.
-- New file saving stupid bug fix in the Frontend.
-- FinishPanel : tooltip for the script button.
-- InstallPanel : new animated icon for the install button.
-- XInfoPanel : adaptative text panel.
-- Frontend : recent files list (support for the imported files also).
-- Fixed some size problems with the installer language selection dialog.
-- XML Frontend preferences file spec auto-upgrade.
-- New Finnish language pack thanks to Johannes Lehtinen.
-
-  > 2.7.0 (build 2001.09.26)
-
-- Frontend localisation support.
-- The Frontend remembers the last opened directory.
-- Flags for the language selection for the installers.
-- Language pre-selection for the installers.
-- TargetPanel : warns when the selected directory exists.
-- InstallPanel : animated icon for the install button.
-- New spanish langpack thanks to Carlos Rueda.
-
-  > 2.6.1 (build 2001.09.22)
-
-- Added an image to the frontend about box.
-- Fix in the Ant Makefile that caused it to fail in case of a first-time build.
-
-  > 2.6.0 (build 2001.09.20)
-
-- Cleaner installer icons loading using an XML file.
-- Installation DTD mistake fix.
-- New GUI Frontend.
-- Sample installation XML comment fix.
-- German langpack small fixes.
-- Better internationalisation on Swing-specific strings.
-- Minor bug fixes.
-- Threaded compiling process.
-- Fix in the packs panel.
-- Better installer navigation buttons locking/unlocking.
-
-  > 2.5.0 (build 2001.09.07)
-
-- New web installers support.
-
-  > 2.4.0 (build 2001.09.05)
-
-- Automated installations support.
-- New XPM icons.
-- Improved build.xml.
-- MacOS and MacOSX installation paths support.
-- Minor bug fix in the TargetPanel path selection.
-
-  > 2.3.0 (build 2001.08.29)
-
-- Uninstaller support.
-- Fix on InstallPanel : it does not change its size each time that a new
-  file is processed.
-- Bug fix in the IzPack variables translation system.
-- German langpack thanks to Klaus Hartlage.
-- Made a real documentation (it was time to do it :-) .
-
-  > 2.2.0 (build 2001.08.18)
-
-- New panels available : ImgPacksPanel, HTMLInfoPanel, HTMLLicencePanel.
-- Use of Kunststoff 1.1.1 instead of 1.0.
-- Jakarta Ant script thanks to Pierre Dittgen.
-- API changes to allow a panel to ask for being skipped.
-- Wheights for some panels components fixed.
-- Added a Thanks.txt file :-)
-
-  > 2.1.0 (build 2001.08.14)
-
-- Fixed a problem with the base path and the installation xml file, they don't
-  need to be in the same directory anymore.
-- 2 tips in the source code from Brad Cox have been included.
-- A new kind of installer is available : standard-kunststoff (same as standard
-  but with the Kunststoff Look and Feel support).
-- Fix in TargetPanel : you can specify the installation path by typing it
-  without having to validate it with the enter key.
-- Fixed the bottom components wheights in the installer frame : now it looks
-  much better.
-
-  > 2.0.1 (build 2001.08.11)
-
-- No more warnings when the user wants to quit the installer and the
-  installation is done with the panel InstallPanel.
-
-  > 2.0.0 (build 2001.08.10)
-
-- ... a brand new IzPack !
-- Now it is an XML-based compiler.
-- A more modular architecture (you can create your own panels for instance).
-- No GUI builder for the moment, it will come in the next versions.
-- More kinds of installers to come.
-_______________________________________________________________________________
-
-  > 1.1.1 (build 2001.04.21)
-
-- Faster installer building / installation process.
-- String comparisons are now using the equalsIgnoreCase method instead of an
-  objects equality test '==' (safest).
-- Modified the about box.
-- Clearly made a difference between images & icons in the jar files
-  (restructuration).
-- Tested successfully on BlackDown Linux JVM.
-
-  > 1.1 (build 2001.04.10)
-
-- Adds the extensions to the filenames in the builder if it was omited.
-- Adjusted the fonts in the Metal theme; now it should look right.
-- Adjusted the thread priority of the splash & progress windows, it should be
-  faster.
-- The setup now recognizes the os so that the default installation path is
-  appropriated.
-- Editors now place the caret at the beginning when a need (ex : a new text
-  is loaded).
-- Enhanced the language packs selection in the builder.
-- Added the french language packs.
-- Parses the script files for special variables.
-- Now comes along with a documentation.
-
-  > 1.0 (build 2001.03.18)
-
-- Adjusted the fonts in the Metal theme.
-- Fixed the very stupid bugs with the files in pack deletion.
-- Improved the behaviour of the packs tab functions.
-- Made some small optimizations on various gui code parts.
-- Changed the text editors from JEditorPane to JTextArea : no more lines
-  wrappings problems.
-- Gained 5kb on Setup.jar.
-- Blocks user interaction in the builder during the installer creation.
-
-  > 1.0 beta 1 (build 2001.03.11)
-
-- The first public release :-)
-- There are a lot of features to add and enhance in the next releases, of
-  course.

Copied: izpack-src/tags/3.9.0/Versions.txt (from rev 1617, izpack-src/branches/branch-3.9/Versions.txt)

Deleted: izpack-src/tags/3.9.0/src/build.xml
===================================================================
--- izpack-src/branches/branch-3.9/src/build.xml	2006-09-24 19:05:08 UTC (rev 1615)
+++ izpack-src/tags/3.9.0/src/build.xml	2006-09-25 04:19:33 UTC (rev 1618)
@@ -1,1149 +0,0 @@
-<project name="IzPack" default="all" basedir="..">
-    <!--
-  $Id$
-  
-  build.xml first written by Pierre Dittgen (pierre.dittgen at criltelecom.com)
-  This file is intended to be used with ant (http://jakarta.apache.org/ant),
-  a java/xml makefile utility.
-
-    14.8.2001: (by Pierre Dittgen)
-  Creation of the build.xml. It only compile all the src files.
-
-    16.8.2001: (by Pierre Dittgen)
-  Added creation of compiler.jar, installer.jar and compilation of the
-  panels.
-
-    28.8.2001: (by Pierre Dittgen)
-  Added compile.uninstaller and build.uninstaller targets to create the
-  uninstaller.jar jar file.
-
-    02.9.2001: (by Julien Ponge)
-        Improved compilation options (optimizations, deprecation warnings) and
-        changed the build dir to src/build. Fixed the compiling/building of the
-        uninstaller.
-
-    12.9.2001: (by Julien Ponge)
-        Added creation/compilation of the frontend and its associated jar file.
-
-    22.9.2001: (by Julien Ponge)
-        Small fix in the all target that caused an error if the build dir was
-        not yet created.
-
-    14.10.2001: (by Julien Ponge)
-        Added the XPanel compilation call.
-
-    12.12.2001: (by Julien Ponge)
-        Removed the 'clean' dependency for the 'all' target.
-
-    12.02.2002: (by Julien Ponge)
-        Moved the 'build' directory out of the src/ scope (usefull for my CVS
-        files moving scripts).
-        Added a markup to specify IBM Jikes as the compiler (just comment out to
-        use another one).
-
-    21.02.2002: (by Paul Wilkinson)
-        Added tasks to compiler.compiler and build.compiler to build ant task class.
-
-    02.03.2002: (by Julien Ponge)
-        Modified the building of the panels so that the inner classes can be copied
-        too.
-
-    18.04.2002: (by Julien Ponge)
-        Added the new com.izforge.izpack.util & com.izforge.izpack.util.os
-        packages to the installer.jar build process.
-
-    19.04.2002: (by Olexij Tkatchenko & Julien Ponge)
-        Added "dist" target for bootstrapped IzPack package creation.
-
-    01.06.2002: (by Julien Ponge)
-        Changed the panels building process in order to enable the ShortcutData
-        classes to be move in the same directory as the ShortcutPanel classes.
-
-    15.06.2002: (by Julien Ponge)
-        Added the ant-generated manifests in the clean target scope.
-
-    03.07.2002: (by Julien Ponge)
-        Added a target to generate some javadoc.
-
-    12.01.2003: (by Julien Ponge)
-        Separated the installer generation from the dist target so that it is
-        much cleaner.
-
-    13.01.2003: (by Julien Ponge)
-        Enhanced the clean target.
-
-    27.02.2003: (by Julien Ponge)
-        Fixed the UserInputPanel building process to include all the required
-        files.
-
-    30.04.2003: (by Jonathan Halliday)
-        Change to panel compilation target, for panel automation
-        (silent install) support.
-        
-    05.07.2003: (by Julien Ponge)
-        Added a target to fix the files encoding and cr/lf (fix.crlf).
-    
-    10.09.2003: (by Julien Ponge)
-        Reformatting, 4 spaces tabs, got rid of residual hard tabs.
-    
-    19.09.2003: (by Julien Ponge)
-        Added a run.installer target to test an installer.
-    
-    06.12.2003: (by Julien Ponge)
-        Removed the frontend-related sections.
-
-    16.12.2003: (by Julien Ponge)
-        Added the SudoPanel building call.
-    
-    18.02.2004: (by Julien Ponge)
-        New installer naming scheme (IzPack-install-{version}.jar).
-    
-    29.05.2004: (by Julien Ponge)
-        New SimpleFinishPanel.
-
-    30.07.2004: (by Klaus Bartz)
-        Simple CustomAction stuff added.
-    
-    09.09.2004: (by Klaus Bartz)
-        Clean up of CustomActions added.
-        New uninstaller-ext.jar with native helper stuff for native libs
-           in uninstaller.
-    
-    14.10.2004: (by Klaus Bartz)
-        New izevent.jar with the base classes of the custom action stuff
-          to support creation of custom action jars without IzPack source tree
-    
-    25.10.2004: (by Klaus Bartz)
-        "Standard" CustomActions AntActionInstallerListener and
-        AntActionUninstallerListener added
-    
-    03.05.2005: (by Klaus Bartz)
-        Target generated.installer-reg added:
-        Creates an installer for IzPack with registry support
-    
-    09.05.2005: (by Marc Eppelman)
-        Target dist+run added:
-        convenient :) makes a complete dist an installer and run them
-    
-    11.05.2005: (by Fabrice Mirabile)
-        Target cleandistreg added:
-        Clean, Regenerate installer and installer with reg support. Avoid use of bad jars during installation.
-    
-    18.07.2005: (by Julien Ponge)
-    	Enforce source / target compatibility, now 1.4 / 1.4.
-    
-    02.09.2005: (by Klaus Bartz)
-    	Unicode support of ShellLink.
-    
-    09.09.2005: (Marc.Eppelmann)
-		Added start.sh to the shipped files in bin-folder.
-		
-	10.01.2006: (by Fabrice Mirabile)
-		Added the splashscreen to the cleandistreg target
-		
-	06.04.2006: (Marc Eppelmann)
-	    Inserted the fix.crlf target in the depends-list of target "all" to prevent encoding problems.
-	    
-	26.06.2006: (Marc Eppelmann)
-	    Extracted / Reordered some dist related targets to prevent double copy actions.
-        Also fixed the fix.crlf basedir
-        
-	27.08.2006: (Marc Eppelmann)
-      Embedd ShortcutPanel*.java     
-        
-  14.09.2006: (Marc Eppelmann)   
-      Added target src.tar.gz and clean.src.tar.gz
-              
-  Mini-HowTo:
-
-  To compile and package the compiler.jar jar file, type:
-    ant build.compiler
-
-  To compile and package the installer.jar jar file, type:
-    ant build.installer
-
-  To compile and package the uninstaller.jar jar file, type:
-    ant build.uninstaller
-
-  To compile the panels and put them in the bin/panels directory, type:
-    ant build.panels
-
-    To compile and package the frontend.jar jar file, type:
-        ant build.frontend
-
-  To make all, type:
-    ant all
-  or
-    ant
-  (this is the default target)
-
-    To compile and create IzPack distribution package type:
-    ant dist
-
-    To delete the classes directory after packaging, just type:
-    ant clean
-  -->
-
-    <!-- Compiler to use put your own here (jikes, modern, gcj, ...) -->
-    <!--<property name="build.compiler" value="jikes" />-->
-
-    <!-- Define directories -->
-    <property name="cwd" value="${basedir}" />
-
-    <property file="src/ant.properties" />
-    <property name="ver" value="3.9" />
-    <property name="rel" value="0-RC1" />
-    <property name="build.number" value="${ver}.${rel}" />
-
-    <property name="src.dir" value="${basedir}/src/lib" />
-    <property name="img.dir" value="${basedir}/src/img" />
-    <property name="bin.dir" value="${basedir}/bin" />
-    <property name="doc.dir" value="${basedir}/doc" />
-
-    <property name="langpacks.subdir" value="langpacks" />
-    <property name="langpacks.dir" value="${basedir}/bin/${langpacks.subdir}" />
-
-    <property name="build.subdir" value="_build" />
-    <property name="build.dir" value="${basedir}/${build.subdir}" />
-
-    <property name="dist.subdir" value="_dist" />
-    <property name="dist.dir" value="${basedir}/${dist.subdir}" />
-    <property name="dist-files.dir" value="${basedir}/src/dist-files" />
-
-    <!-- Define Main-Classes -->
-    <property name="compiler.class" value="com.izforge.izpack.compiler.Compiler" />
-    <property name="installer.class" value="com.izforge.izpack.installer.Installer" />
-    <property name="uninstaller.class" value="com.izforge.izpack.uninstaller.Uninstaller" />
-
-    <!-- Define file paths -->
-    <property name="compiler.jar" value="${basedir}/lib/compiler.jar" />
-    <property name="standalone-compiler.jar" value="${basedir}/lib/standalone-compiler.jar" />
-    <property name="installer.jar" value="${basedir}/lib/installer.jar" />
-    <property name="uninstaller.jar" value="${basedir}/lib/uninstaller.jar" />
-    <property name="uninstaller-ext.jar" value="${basedir}/lib/uninstaller-ext.jar" />
-    <property name="izevent.jar" value="${basedir}/lib/izevent.jar" />
-
-    <!-- Compilation parameters -->
-    <property name="debug" value="true" />
-    <property name="debuglevel" value="lines,vars,source" />
-    <property name="compat.source" value="1.4" />
-    <property name="compat.target" value="1.4" />
-
-
-    <!-- paths -->
-    <path id="classpath">
-        <fileset id="ext.libs" dir="${basedir}/lib">
-            <!-- older ant jar, which izpack distributes and uses for fileset behavior -->
-            <include name="ant.jar" />
-            <include name="jakarta-regexp-1.3.jar" />
-        </fileset>
-        <!-- current ant jar, for compiling IzPackTask which uses modern ant features -->
-        <fileset dir="${ant.home}/lib" includes="ant.jar" />
-    </path>
-
-    <!-- Checking target -->
-    <target name="check">
-        <echo message="basedir=${basedir}" />
-        <echo message="dist.dir=${dist.dir}" />
-        <echo message="build.dir=${build.dir}" />
-        <echo message="debug=${debug}" />
-    </target>
-
-    <!-- Creates the classes directory -->
-    <target name="prepare" depends="time">
-        <mkdir dir="${build.dir}" />
-        <mkdir dir="${basedir}/lib" />
-        <mkdir dir="${dist.dir}" />
-    </target>
-
-    <!-- Compiles the compiler src files -->
-    <target name="compile.compiler" depends="prepare">
-        <javac srcdir="${src.dir}"
-               classpath="${basedir}/lib/jakarta-regexp-1.3.jar"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/*.java" />
-            <include name="com/izforge/izpack/compiler/*.java" />
-            <include name="com/izforge/izpack/compressor/*.java" />
-            <include name="com/izforge/izpack/ant/*.java" />
-            <include name="com/izforge/izpack/util/Debug.java" />
-            <include name="com/izforge/izpack/util/OsConstraint.java" />
-            <include name="com/izforge/izpack/util/JarOutputStream.java" />
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-        <copy todir="${build.dir}/com/izforge/izpack/ant/langpacks">
-            <fileset dir="${src.dir}/com/izforge/izpack/ant/langpacks" />
-        </copy>
-    </target>
-
-    <!-- Package compiler.jar -->
-    <target name="build.compiler" depends="compile.compiler">
-        <jar jarfile="${compiler.jar}">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="ant.jar" />
-                <attribute name="Main-Class" value="${compiler.class}" />
-            </manifest>
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/*.class" />
-                <include name="com/izforge/izpack/compiler/*.class" />
-                <include name="com/izforge/izpack/compressor/*.class" />
-                <include name="com/izforge/izpack/util/OsConstraint.class" />
-                <include name="com/izforge/izpack/util/Debug.class" />
-                <include name="com/izforge/izpack/util/*Validator.class" />
-                <include name="com/izforge/izpack/util/*Processor.class" />
-                <include name="com/izforge/izpack/util/VariableSubstitutor.class" />
-                <include name="com/izforge/izpack/util/JarOutputStream.class" />
-                <include name="com/izforge/izpack/ant/*.class" />
-                <include name="com/izforge/izpack/ant/langpacks/*.properties" />
-                <include name="com/izforge/izpack/event/CompilerListener.class" />
-                <include name="com/izforge/izpack/event/SimpleCompilerListener.class" />
-                <include name="net/n3/nanoxml/*.class" />
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- Package standalone-compiler.jar -->
-    <target name="build.standalone-compiler"
-            depends="compile.compiler, build.installer, build.uninstaller, build.uninstaller-ext, build.panels, build.listeners">
-        <jar jarfile="${standalone-compiler.jar}" duplicate="preserve">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="ant.jar" />
-                <attribute name="Main-Class" value="${compiler.class}" />
-            </manifest>
-            <zipfileset src="${installer.jar}" />
-            <zipfileset src="${compiler.jar}">
-                <!-- skip files already included via installer.jar -->
-                <exclude name="com/izforge/izpack/*.class" />
-                <exclude name="com/izforge/izpack/installer/*.class" />
-                <exclude name="com/izforge/izpack/util/*.class" />
-                <exclude name="net/n3/nanoxml/*.class" />
-            </zipfileset>
-            <zipfileset src="lib/ant.jar" />
-            <fileset dir="${basedir}">
-                <include name="bin/langpacks/flags/*" />
-                <include name="bin/langpacks/installer/*" />
-                <include name="bin/native/izpack/*" />
-                <include name="bin/native/3rdparty/*" />
-                <include name="bin/panels/*Panel.jar" />
-                <include name="bin/customActions/*.jar" />
-                <include name="lib/uninstaller.jar" />
-                <include name="lib/uninstaller-ext.jar" />
-                <include name="lib/installer.jar" />
-                <include name="lib/kunststoff.jar" />
-                <include name="lib/liquidlnf.jar" />
-                <include name="lib/metouia.jar" />
-                <include name="lib/looks.jar" />
-                <include name="lib/ant.jar" />
-                <exclude name="**/CVS" />
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- Compiles the installer src files -->
-    <target name="compile.installer" depends="prepare">
-        <javac srcdir="${src.dir}"
-               classpath="${basedir}/lib/jakarta-regexp-1.3.jar"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/*.java" />
-            <include name="com/izforge/izpack/gui/*.java" />
-            <include name="com/izforge/izpack/installer/*.java" />
-            <include name="com/izforge/izpack/util/*.java" />
-            <include name="com/izforge/izpack/util/os/*.java" />
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-    </target>
-
-    <!-- Package installer.jar -->
-    <target name="build.installer" depends="compile.installer">
-        <jar jarfile="${installer.jar}">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="" />
-                <attribute name="Main-Class" value="${installer.class}" />
-            </manifest>
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/*.class" />
-                <include name="com/izforge/izpack/gui/*.class" />
-                <include name="com/izforge/izpack/installer/*.class" />
-                <include name="com/izforge/izpack/util/*.class" />
-                <include name="com/izforge/izpack/util/**/*.class" />
-                <include name="net/n3/nanoxml/*.class" />
-            </fileset>
-            <zipfileset src="${basedir}/lib/jakarta-regexp-1.3.jar">
-                <include name="org/apache/regexp/*.class" />
-            </zipfileset>
-            <fileset dir="${src.dir}">
-                <include name="com/izforge/izpack/installer/*.xml" />
-                <include name="com/izforge/izpack/installer/*.properties" />
-            </fileset>
-            <fileset dir="${img.dir}/installer" />
-        </jar>
-    </target>
-
-    <!-- Compiles the uninstaller src files -->
-    <target name="compile.uninstaller" depends="prepare">
-        <javac srcdir="${src.dir}"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/LocaleDatabase.java" />
-            <include name="com/izforge/izpack/gui/*.java" />
-            
-            <include name="com/izforge/izpack/util/*.java"/>
-            <include name="com/izforge/izpack/util/os/*.java"/>
-            <include name="com/izforge/izpack/util/os/unix/*.java"/>
-            
-            <include name="com/izforge/izpack/uninstaller/*.java" />
-            <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.java" />
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-    </target>
-
-    <!-- Package uninstaller.jar -->
-    <target name="build.uninstaller" depends="compile.uninstaller">
-        <jar jarfile="${uninstaller.jar}">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="" />
-                <attribute name="Main-Class" value="${uninstaller.class}" />
-            </manifest>
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/LocaleDatabase.class" />
-                <include name="com/izforge/izpack/gui/*.class" />
-                <include name="com/izforge/izpack/uninstaller/*.class" />
-                <include name="com/izforge/izpack/ExecutableFile.class" />                
-                <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.class" />
-                <include name="net/n3/nanoxml/*.class" />
-            </fileset>
-            <fileset dir="${build.dir}">
-              <include name="com/izforge/izpack/util/**/*.class"/>
-            </fileset>
-            <fileset dir="${img.dir}/uninstaller">
-              <include name="**/*"/>
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- Compiles the extended uninstaller src files -->
-    <target name="compile.uninstaller-ext" depends="prepare">
-        <javac srcdir="${src.dir}"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/util/*.java" />
-            <include name="com/izforge/izpack/util/os/*.java"/>
-            <include name="com/izforge/izpack/util/os/unix/*.java"/>
-            <include name="com/izforge/izpack/util/xml/*.java"/>
-          
-            <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.java" />
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-    </target>
-    <!-- Package extended uninstaller.jar used if one ore more native libs are
-         declared for uninstallation -->
-    <target name="build.uninstaller-ext" depends="compile.uninstaller-ext">
-        <jar jarfile="${uninstaller-ext.jar}">
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/util/**/*.class"/>
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- 
-         ======================================================================
-           Create Panel Modules
-         ======================================================================
-    -->
-
-    <!-- Macro to compile a panel's classes and create it's jar file -->
-    <macrodef name="build-panel">
-        <attribute name="name" description="The panels jar will get this name" />
-        <attribute name="srcdir"
-                   default="${src.dir}"
-                   description="Source directory. Defaults to izpack src dir" />
-        <element name="panel-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating panel sources" />
-        <sequential>
-            <echo message="build-panel: @{name}" />
-            <mkdir dir="${bin.dir}/panels/@{name}" />
-            <!-- sourcepath is cleared so there's no mistaking what goes into the Panel -->
-            <javac srcdir="@{srcdir}"
-                   destdir="${bin.dir}/panels/@{name}"
-                   classpath="${installer.jar}"
-                   sourcepath=""
-                   optimize="on"
-                   deprecation="on"
-                   debug="${debug}"
-                   source="${compat.source}"
-                   target="${compat.target}"
-                   debuglevel="${debuglevel}">
-                <panel-fileset />
-            </javac>
-            <jar jarfile="${bin.dir}/panels/@{name}.jar" basedir="${bin.dir}/panels/@{name}" />
-        </sequential>
-    </macrodef>
-
-    <!-- Compile all panels and put them at the right location -->
-    <!-- 
-         If you add a another, and the build fails because it can't find a class, 
-         be sure to explicitly include the .java file in the nested fileset.
-         This also acts as a check to help limit dependancies.
-    -->
-    <target name="build.panels" depends="build.installer">
-        <mkdir dir="${bin.dir}/panels" />
-
-        <build-panel name="FinishPanel">
-            <include name="com/izforge/izpack/panels/FinishPanel.java" />
-        </build-panel>
-        <build-panel name="HelloPanel">
-            <include name="com/izforge/izpack/panels/HelloPanel.java" />
-        </build-panel>
-        <build-panel name="SelectPrinterPanel">
-	          <include name="com/izforge/izpack/panels/SelectPrinterPanel.java"/>
-	      </build-panel>
-        <build-panel name="CheckedHelloPanel">
-            <include name="com/izforge/izpack/panels/CheckedHelloPanel.java" />
-            <include name="com/izforge/izpack/panels/HelloPanel.java" />
-            <include name="com/izforge/izpack/util/os/*RegistryHandler.java" />
-            <include name="com/izforge/izpack/util/OSClassHelper.java" />
-            <include name="com/izforge/izpack/util/os/WrappedNativeLibException.java" />
-            <include name="com/coi/tools/os/win/NativeLibException.java" />
-            <include name="com/coi/tools/os/win/Reg*.java" />
-            <include name="com/coi/tools/os/win/resources/NativeLibErr*.java" />
-            <include name="com/coi/tools/os/izpack/Registry.java" />
-            <include name="com/coi/tools/os/izpack/COIOSHelper.java" />
-        </build-panel>
-        <build-panel name="InfoPanel">
-            <include name="com/izforge/izpack/panels/InfoPanel.java" />
-        </build-panel>
-        <build-panel name="InstallPanel">
-            <include name="com/izforge/izpack/panels/InstallPanel.java" />
-            <include name="com/izforge/izpack/panels/InstallPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="ExtendedInstallPanel">
-            <include name="com/izforge/izpack/panels/ExtendedInstallPanel.java" />
-            <include name="com/izforge/izpack/panels/ExtendedInstallPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/InstallPanel.java" />
-        </build-panel>
-        <build-panel name="LicencePanel">
-            <include name="com/izforge/izpack/panels/LicencePanel.java" />
-        </build-panel>
-        <build-panel name="PacksPanel">
-            <include name="com/izforge/izpack/panels/ImgPacksPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/ImgPacksPanelBase.java" />
-            <include name="com/izforge/izpack/panels/PacksModel.java" />
-            <include name="com/izforge/izpack/panels/PacksPanel.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelBase.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelInterface.java" />
-        </build-panel>
-        <build-panel name="ImgPacksPanel">
-            <include name="com/izforge/izpack/panels/ImgPacksPanel.java" />
-            <include name="com/izforge/izpack/panels/ImgPacksPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/PacksModel.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelBase.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelInterface.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="HTMLLicencePanel">
-            <include name="com/izforge/izpack/panels/HTMLLicencePanel.java" />
-        </build-panel>
-        <build-panel name="HTMLInfoPanel">
-            <include name="com/izforge/izpack/panels/HTMLInfoPanel.java" />
-        </build-panel>
-        <build-panel name="TargetPanel">
-            <include name="com/izforge/izpack/panels/PathInputPanel.java" />
-            <include name="com/izforge/izpack/panels/PathSelectionPanel.java" />
-            <include name="com/izforge/izpack/panels/TargetPanel.java" />
-            <include name="com/izforge/izpack/panels/TargetPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="JDKPathPanel">
-            <include name="com/izforge/izpack/panels/JDKPathPanel.java" />
-            <include name="com/izforge/izpack/panels/PathInputPanel.java" />
-            <include name="com/izforge/izpack/panels/PathSelectionPanel.java" />
-        </build-panel>
-        <build-panel name="XInfoPanel">
-            <include name="com/izforge/izpack/panels/XInfoPanel.java" />
-        </build-panel>
-        <build-panel name="ShortcutPanel">
-            <include name="com/izforge/izpack/panels/ShortcutData.java" />
-            <include name="com/izforge/izpack/panels/ShortcutPanel*.java" />
-            <include name="com/izforge/izpack/util/xml/*.java" />
-        </build-panel>
-        <build-panel name="UserInputPanel">
-            <include name="com/izforge/izpack/panels/PasswordGroup.java" />
-            <include name="com/izforge/izpack/panels/ProcessingClient.java" />
-            <include name="com/izforge/izpack/panels/Processor.java" />
-            <include name="com/izforge/izpack/panels/RuleInputField.java" />
-            <include name="com/izforge/izpack/panels/RuleTextField.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanel.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/Validator.java" />
-        </build-panel>
-        <build-panel name="ConditionalUserInputPanel">
-            <include name="com/izforge/izpack/panels/ConditionalUserInputPanel.java" />
-            <include name="com/izforge/izpack/panels/PasswordGroup.java" />
-            <include name="com/izforge/izpack/panels/ProcessingClient.java" />
-            <include name="com/izforge/izpack/panels/Processor.java" />
-            <include name="com/izforge/izpack/panels/RuleInputField.java" />
-            <include name="com/izforge/izpack/panels/RuleTextField.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanel.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/Validator.java" />
-        </build-panel>
-        <build-panel name="CompilePanel">
-            <include name="com/izforge/izpack/panels/CompilePanel.java" />
-            <include name="com/izforge/izpack/panels/CompilePanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="ProcessPanel">
-            <include name="com/izforge/izpack/panels/ProcessPanel.java" />
-            <include name="com/izforge/izpack/panels/ProcessPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="SudoPanel">
-            <include name="com/izforge/izpack/panels/SudoPanel.java" />
-        </build-panel>
-        <build-panel name="SimpleFinishPanel">
-            <include name="com/izforge/izpack/panels/SimpleFinishPanel.java" />
-        </build-panel>
-        <build-panel name="SummaryPanel">
-            <include name="com/izforge/izpack/panels/SummaryPanel.java" />
-        </build-panel>
-        <build-panel name="InstallationGroupPanel">
-         <include name="com/izforge/izpack/panels/InstallationGroupPanel.java"/>
-         <include name="com/izforge/izpack/panels/InstallationGroupPanelAutomationHelper.java"/>
-        </build-panel>
-    </target>
-
-    <!-- 
-         ======================================================================
-           Create Listener Modules
-         ======================================================================
-    -->
-
-    <!-- Compiles the base custom action classes which should placed into
-         izevent.jar  -->
-    <target name="compile.listener-base">
-        <javac srcdir="${src.dir}"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}"
-               classpath="${installer.jar};${compiler.jar}">
-            <include name="com/izforge/izpack/event/ActionBase.java" />
-            <include name="com/izforge/izpack/event/Simple*nstallerListener.java" />
-            <include name="com/izforge/izpack/event/InstallerListener.java" />
-            <include name="com/izforge/izpack/event/UninstallerListener.java" />
-            <include name="com/izforge/izpack/util/IoHelper.java" />
-        </javac>
-    </target>
-    <!-- Package izevent.jar  -->
-    <target name="build.listener-base" depends="compile.listener-base">
-        <jar jarfile="${izevent.jar}">
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/event/*.class" />
-                <include name="com/izforge/izpack/util/IoHelper.class" />
-                <exclude name="com/izforge/izpack/event/*Compiler*.class" />
-            </fileset>
-        </jar>
-    </target>
-
-
-    <!-- Macro to compile a listener's classes and create its jar file -->
-    <macrodef name="build-listener">
-        <attribute name="name" description="The listener jar will get this name" />
-        <attribute name="srcdir"
-                   default="${src.dir}"
-                   description="Source directory. Defaults to izpack src dir" />
-        <attribute name="izeventExcludes"
-                   description="excludes patter for files in the ${izevent.jar} file" />
-        <element name="listener-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <echo message="build-listener: @{name}" />
-            <mkdir dir="${bin.dir}/customActions/@{name}" />
-            <!-- sourcepath is cleared so there's no mistaking what goes into the Listener -->
-            <javac srcdir="@{srcdir}"
-                   destdir="${bin.dir}/customActions/@{name}"
-                   classpath="${installer.jar};${compiler.jar};${izevent.jar}"
-                   sourcepath=""
-                   optimize="on"
-                   deprecation="on"
-                   debug="${debug}"
-                   source="${compat.source}"
-                   target="${compat.target}"
-                   debuglevel="${debuglevel}">
-                <listener-fileset />
-            </javac>
-            <jar jarfile="${bin.dir}/customActions/@{name}.jar"
-                 basedir="${bin.dir}/customActions/@{name}">
-                <!-- also include files from the previously built ${izevent.jar} -->
-                <zipfileset src="${izevent.jar}" excludes="@{izeventExcludes}" />
-            </jar>
-        </sequential>
-    </macrodef>
-
-    <!-- Convenience macro to call build-listener for compiler listeners -->
-    <macrodef name="build-compiler-listener">
-        <attribute name="name" />
-        <attribute name="srcdir" default="${src.dir}" />
-        <element name="compiler-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <build-listener name="@{name}"
-                            srcdir="@{srcdir}"
-                            izeventExcludes="**/*Installer*,**/*Uninstaller*">
-                <compiler-fileset />
-            </build-listener>
-        </sequential>
-    </macrodef>
-
-    <!-- Convenience macro to call build-listener for installer listeners -->
-    <macrodef name="build-installer-listener">
-        <attribute name="name" />
-        <attribute name="srcdir" default="${src.dir}" />
-        <element name="installer-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <build-listener name="@{name}" srcdir="@{srcdir}" izeventExcludes="**/*Uninstaller*">
-                <installer-fileset />
-            </build-listener>
-        </sequential>
-    </macrodef>
-
-    <!-- Convenience macro to call build-listener for uninstaller listeners -->
-    <macrodef name="build-uninstaller-listener">
-        <attribute name="name" />
-        <attribute name="srcdir" default="${src.dir}" />
-        <element name="uninstaller-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <build-listener name="@{name}" srcdir="@{srcdir}" izeventExcludes="**/*Installer*">
-                <uninstaller-fileset />
-            </build-listener>
-        </sequential>
-    </macrodef>
-
-    <!-- Compile all custom actions (listener) and put them at the right location -->
-    <!-- 
-         If you add a another, and the build fails because it can't find a class, 
-         be sure to explicitly include the .java file in the nested fileset.
-         This also acts as a check to help limit dependancies.
-    -->
-    <target name="build.listeners" depends="build.compiler,build.installer,build.listener-base">
-        <build-installer-listener name="AntActionInstallerListener">
-            <include name="com/izforge/izpack/event/AntActionInstallerListener.java" />
-            <include name="com/izforge/izpack/event/AntAction.java" />
-        </build-installer-listener>
-
-        <build-uninstaller-listener name="AntActionUninstallerListener">
-            <include name="com/izforge/izpack/event/AntActionUninstallerListener.java" />
-            <include name="com/izforge/izpack/event/AntAction.java" />
-        </build-uninstaller-listener>
-
-        <build-installer-listener name="SummaryLoggerInstallerListener">
-            <include name="com/izforge/izpack/event/SummaryLoggerInstallerListener.java" />
-        </build-installer-listener>
-
-        <build-installer-listener name="RegistryInstallerListener">
-            <include name="com/izforge/izpack/event/RegistryInstallerListener.java" />
-            <include name="com/izforge/izpack/event/NativeInstallerListener.java" />
-            <include name="com/izforge/izpack/util/os/*RegistryHandler.java" />
-            <include name="com/izforge/izpack/util/OSClassHelper.java" />
-            <include name="com/izforge/izpack/util/os/WrappedNativeLibException.java" />
-            <include name="com/coi/tools/os/win/NativeLibException.java" />
-            <include name="com/coi/tools/os/win/Reg*.java" />
-            <include name="com/coi/tools/os/win/resources/NativeLibErr*.java" />
-            <include name="com/coi/tools/os/izpack/Registry.java" />
-            <include name="com/coi/tools/os/izpack/COIOSHelper.java" />
-        </build-installer-listener>
-
-        <build-uninstaller-listener name="RegistryUninstallerListener">
-            <include name="com/izforge/izpack/event/RegistryUninstallerListener.java" />
-            <include name="com/izforge/izpack/event/NativeUninstallerListener.java" />
-            <include name="com/izforge/izpack/util/os/*RegistryHandler.java" />
-            <include name="com/izforge/izpack/util/OSClassHelper.java" />
-            <include name="com/izforge/izpack/util/os/WrappedNativeLibException.java" />
-            <include name="com/coi/tools/os/win/NativeLibException.java" />
-            <include name="com/coi/tools/os/win/Reg*.java" />
-            <include name="com/coi/tools/os/win/resources/NativeLibErr*.java" />
-            <include name="com/coi/tools/os/izpack/Registry.java" />
-            <include name="com/coi/tools/os/izpack/COIOSHelper.java" />
-        </build-uninstaller-listener>
-
-        <!-- CUSTOM ACTION test START
-        <build-compiler-listener name="ChmodCompilerListener">
-            <include name="com/myCompany/tools/install/listener/ChmodCompilerListener.java"/>
-        </build-compiler-listener>
-
-        <build-installer-listener name="ChmodInstallerListener">
-            <include name="com/myCompany/tools/install/listener/ChmodInstallerListener.java"/>
-        </build-installer-listener>
-        COSTOM ACTION test END -->
-    </target>
-
-    <!-- ====================================================================== -->
-
-    <!-- Performs some cleanups -->
-    <target name="clean" description="cleans up the dist">
-        <echo message="Cleaning-up" />
-        <delete includeEmptyDirs="true" quiet="true">
-            <fileset dir="${build.dir}" />
-            <fileset dir="${dist.dir}" />
-            <fileset dir="${basedir}/bin/panels/">
-                <include name="**/*" />
-            </fileset>
-            <fileset dir="${basedir}/bin/customActions/">
-                <include name="**/*" />
-            </fileset>
-            <fileset dir="${basedir}/lib/">
-                <include name="compiler.jar" />
-                <include name="izevent.jar" />
-                <include name="standalone-compiler.jar" />
-                <include name="frontend.jar" />
-                <include name="installer.jar" />
-                <include name="uninstaller.jar" />
-                <include name="uninstaller-ext.jar" />
-            </fileset>
-        </delete>
-    	    <delete file="bin/native/3rdparty/COIOSHelper.dll" />
-        <delete dir="${basedir}/bin/native/izpack" />
-        <delete includeEmptyDirs="true" dir="${basedir}/doc/izpack" />
-        <delete dir="${basedir}/_src${dist.subdir}"/>
-    </target>
-
-    <!-- Builds all compilation targets -->
-    <target name="all"
-            depends="splashscreen, src.tar.gz, build.compiler, build.installer, build.uninstaller, build.uninstaller-ext, build.panels, build.listeners, build.standalone-compiler" description="base: compiles a developer version"/>
-
-    <!-- Builds the Javadoc -->
-    <target name="build.javadoc" depends="prepare" description="Builds the javadoc">
-        <mkdir dir="${build.dir}/javadoc" />
-        <javadoc destdir="${build.dir}/javadoc" access="private" classpathref="classpath">
-            <packageset dir="${src.dir}">
-                <exclude name="**/CVS" />
-            </packageset>
-        </javadoc>
-        <copy todir="${doc.dir}/izpack/javadoc">
-            <fileset dir="${build.dir}/javadoc">
-                <include name="**/*" />
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="build.docu" description="Builds the customer documentation">
-        <mkdir dir="${doc.dir}/izpack/xhtml" />
-        <copy todir="${doc.dir}/izpack/xhtml">
-            <fileset dir="${basedir}/src/doc-ng/XHTML">
-                <include name="**/*" />
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="create.docu"
-            depends="build.javadoc, build.docu"
-            description="Creates the javadoc-api and customer documentation">
-
-    </target>
-	
-	
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: taskdef                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="taskdef.dist">
-        <!-- Allows us to use the IzPack Ant task -->
-        <taskdef name="izpack"
-                 classpath="${basedir}/lib/compiler.jar"
-                 classname="com.izforge.izpack.ant.IzPackTask" />
-    </target>
-	
-	
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: copy.natives                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="copy.dist.natives">
-        <echo message="Copies the recent changed native files to the ${basedir}/bin directory" />
-
-        <mkdir dir="${basedir}/bin/native/izpack" />
-        <!-- If unicode support of ShellLink.dll will be not used, change between  both copy blocks -->
-        <!--
-		<copy todir="${basedir}/bin/native/izpack" file="${basedir}/src/native/ShellLink/Release/ShellLink.dll" verbose="true" overwrite="yes"/>
-		<copy todir="${basedir}/bin/native/3rdparty" file="${basedir}/src/native/win/COIOSHelper/Release/COIOSHelper.dll" verbose="true" overwrite="yes"/>
-		-->
-        <copy todir="${basedir}/bin/native/izpack"
-              file="${basedir}/src/native/ShellLink/Release_Unicode/ShellLink.dll"
-              verbose="true"
-              overwrite="yes" />
-        <copy todir="${basedir}/bin/native/3rdparty"
-              file="${basedir}/src/native/win/COIOSHelper/Release_Unicode/COIOSHelper.dll"
-              verbose="true"
-              overwrite="yes" />
-    </target>
-
-    
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: copy.distfiles                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="copy.dist.files">
-        <echo message="Copies the general files to the dist directory" />
-        <copy todir="${dist.dir}" includeEmptyDirs="yes">
-            <fileset dir="${basedir}">
-                <include name="bin/**" />
-                <include name="lib/*.jar" />
-                <include name="doc/**" />
-                <include name="legal/**" />
-                <include name="src/**" />
-                <include name="sample/**" />
-                <include name="*.txt" />
-            </fileset>
-        </copy>
-        <echo message="Copies the langpacks to the dist directory" />
-        <copy todir="${dist.dir}/bin" includeEmptyDirs="yes">
-            <fileset dir="${basedir}">
-                <include name="langpacks/**" />
-            </fileset>
-        </copy>
-        <echo message="Copies the license images and specs to the dist directory" />
-        <copy todir="${dist.dir}" includeEmptyDirs="yes">
-            <fileset dir="${dist-files.dir}">
-                <include name="useNativeLAF" />
-                <include name="*.jpg" />
-                <include name="*.png" />
-                <include name="*.html" />
-                <include name="Licence.txt" />
-                <include name="IzPack-install*.xml" />
-                <include name="shortcutSpec.xml" />
-                <include name="Unix_shortcutSpec.xml" />
-                <include name="RegistrySpec.xml" />
-            </fileset>
-        </copy>
-        <echo message="Copies the bin files to the dist directory" />
-        <copy todir="${dist.dir}/bin" includeEmptyDirs="yes" overwrite="yes">
-            <fileset dir="${dist-files.dir}">
-                <include name="compile*" />            	
-                <include name="lcp.bat" />
-            	<include name="start.sh"/>
-            </fileset>
-        </copy>
-    </target>
-
-    
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: replace.dist.buildnumber                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="replace.dist.buildnumber">
-        <replace file="${dist.dir}/shortcutSpec.xml"
-                 token="@build.number@"
-                 value="${build.number}"
-                 summary="yes" />
-        <replace file="${dist.dir}/shortcutSpec.xml" token="@ver@" value="${ver}" summary="yes" />
-
-        <replace file="${dist.dir}/Unix_shortcutSpec.xml"
-                 token="@build.number@"
-                 value="${build.number}"
-                 summary="yes" />
-        <replace file="${dist.dir}/Unix_shortcutSpec.xml"
-                 token="@ver@"
-                 value="${ver}"
-                 summary="yes" />
-    </target>
-
-    <!-- Creates an installer for IzPack -->
-    <target name="exec.izpack.compiler">
-
-        <!-- We call IzPack -->
-        <echo message="Makes the installer using IzPack" level="verbose" />
-        <izpack input="${dist.dir}/${installer.xmlfile}"
-                output="${dist.dir}/${installer.name}${ver}.${rel}.jar"
-                installerType="standard"
-                basedir="${dist.dir}"
-                izPackDir="${dist.dir}/"
-                compression="deflate"
-                compressionlevel="9" />
-    	<echo>
-sucessfully created:
-${dist.dir}/${installer.name}${ver}.${rel}.jar    		
-    	</echo>
-    </target>
-	
-	
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: prepare.install.dist                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="prepare.install.dist" depends="taskdef.dist, copy.dist.natives, copy.dist.files, replace.dist.buildnumber, fix.crlf">
-            
-    </target>
-	
-    <!-- =================================
-	   Creates a normal installer for IzPack 
-	  ================================= -->
-    <target name="generate.installer" depends="prepare.install.dist">
-        <antcall target="exec.izpack.compiler">
-            <param name="installer.xmlfile" value="IzPack-install.xml" />
-            <param name="installer.name" value="${product}-install-" />
-        </antcall>
-    </target>
-
-    <!--
-        Fixes CR/LF by applying the Unix convention (\n for endlines).
-        It also fixes the encoding problems by moving it to UTF-8.
-    -->
-    <target name="fix.crlf">
-        <property name="dist.src.dir" location="${dist.dir}/src"/>
-    	<property name="dist.bin.dir" location="${dist.dir}/bin"/>
-        <echo>
-Fixing linefeeds for several files in:
- "${dist.src.dir}"
-   and
- "${dist.bin.dir}"
-        </echo>
-        <fixcrlf srcDir="${dist.src.dir}" eol="lf" eof="remove" encoding="UTF-8">
-            <include name="**/*.java" />
-            <include name="**/*.xml" />
-            <include name="**/*.properties" />
-        </fixcrlf>
-    	<fixcrlf srcdir="${dist.dir}" eol="unix" eof="remove">
-            <include name="**/*.sh"/>
-    	    <include name="dist-files/compile"/>
-        </fixcrlf>
-    	<fixcrlf srcdir="${dist.bin.dir}" eol="unix" eof="remove">
-    	  <include name="**/*.sh"/>
-    	  <include name="compile"/>	    	
-    	</fixcrlf>
-    </target>
-
-    <!-- Runs a testing installer. -->
-    <target name="run.installer">
-        <java jar="${basedir}/_dist/IzPack-install-${build.number}.jar" fork="true" />
-    </target>
-
-    <!-- Makes everything, from compilation to generating an installer. -->
-    <target name="quickdist"
-            depends="all, generate.installer"
-            description="makes a installer without docu" />
-
-    <!-- Makes everything, from compilation, customer and javadoc to generating an installer. -->
-    <target name="dist"
-            depends="all, create.docu, generate.installer"
-            description="makes a complete installer" />
-
-    <!-- Makes everything, from Cleaning to generating both installers: normal and reg support. -->
-    <target name="cleandistreg"
-            depends="clean, splashscreen, dist, generate.installer"
-            description="creates a full dist with Win32 uninstall registry support" />
-  
-    <!-- ================================= 
-          target: clean.src.tar.gz              
-         ================================= -->
-    <target name="clean.src.tar.gz" depends="clean, src.tar.gz" description="--> creates a src.tar.gz after clean up">
-    </target>
-
-  
-    <!-- ================================= 
-          target: src.tar.gz              
-         ================================= -->
-    <target name="src.tar.gz"  description="--> creates a src.tar.gz ">
-      <mkdir dir="${basedir}/_src${dist.subdir}"/>
-      <property name="src.tar.gz" value="${basedir}/_src${dist.subdir}/${product}.src.${ver}.${rel}.tar.gz"/>
-      <tar compression="gzip" destfile="${src.tar.gz}" basedir="${basedir}" excludes="_src${dist.subdir}/**, _dist/**, _build/**, bin/panels/**, bin/customActions/**, doc/izpack/**, eclipse-bin/**, lib/standalone-compiler.jar, lib/izevent.jar, lib/uninstaller*, lib/installer.jar, lib/compiler.jar"/>
-    </target>
-
-
-    <!-- convenient :) makes a quick dist (w/o docu), an installer and run them. -->
-    <target name="quickdist+run"
-            depends="quickdist, run.installer"
-            description="makes a quickdist installer and runs them" />
-
-    <!-- convenient :) makes a complete dist an installer and run them. -->
-    <target name="dist+run"
-            depends="dist, run.installer"
-            description="makes a complete installer and runs them" />
-
-    <!-- ** splashscreen **
-	  shows some ANT specific- and JAVA-
-	  but Platform and Project-independed Properties.
-	================================================================ -->
-    <target name="splashscreen"
-            depends="time"
-            description="shows the used environment and project settings">
-
-        <property name="console_line" value="**************************************************" />
-        <!-- Task splash/ ?? -->
-        <echo message="${console_line}" />
-        <echo message="* ${ant.version}" />
-        <!-- N2H: Test if this is the right ANT-Version (implementation of an own JAVA-Class which compares BuildNumbers) -->
-        <echo message="*   Java JRE version ${ant.java.version} ${java.vm.vendor}" />
-        <!-- 1.3 -->
-        <exec executable="${java.home}/bin/java">
-            <arg line="-version" />
-        </exec>
-        <echo message="${console_line}" />
-        <echo message="*  processing file ....... '${ant.file}'" />
-        <!-- D:\ToDo\_2002-11\AntTest\build.xml -->
-        <echo message="*  in base-directory ..... '${basedir}'" />
-        <!-- D:\ToDo\_2002-11\AntTest -->
-        <echo message="*  building project ...... '${ant.project.name}'" />
-        <!-- CIS -->
-        <echo message="*  working in directory .. '${cwd}'" />
-        <echo message="${console_line}" />
-    </target>
-
-
-    <!-- ================================= 
-          target: ShellLink.Javah              
-         ================================= -->
-    <target name="ShellLink.Javah"
-            depends="compile.installer"
-            description="--> rebuilds the shelllink jni *.h header file">
-        <javah class="com.izforge.izpack.util.os.ShellLink"
-               destdir="${basedir}/src/native/ShellLink">
-            <classpath path="${build.dir}" />
-        </javah>
-    </target>
-
-
-    <!-- ================================= 
-         target: time - takes a timestamp           
-        ================================= -->
-    <target name="time">
-        <tstamp />
-    </target>
-
-
-    <!-- ================================= 
-          target: dump.properties - dumps the curent properties into the $os_$timestamp.properties file             
-         ================================= -->
-    <target name="dump.properties" depends="time" description="dump.environment (for debug)">
-        <echoproperties destfile="${basedir}/ant_properties_at_${os.name}-${os.arch}-${os.version}_at_${DSTAMP}-${TSTAMP}.txt" />
-    </target>
-
-
-</project>

Copied: izpack-src/tags/3.9.0/src/build.xml (from rev 1617, izpack-src/branches/branch-3.9/src/build.xml)

Deleted: izpack-src/tags/3.9.0/src/dist-files/IzPack-install.xml
===================================================================
--- izpack-src/branches/branch-3.9/src/dist-files/IzPack-install.xml	2006-09-24 19:05:08 UTC (rev 1615)
+++ izpack-src/tags/3.9.0/src/dist-files/IzPack-install.xml	2006-09-25 04:19:33 UTC (rev 1618)
@@ -1,228 +0,0 @@
-<!--
-    $Id$
-    
-    IzPack installer XML file
-    
-    By Julien PONGE
-    
-    In order to build an installer for IzPack, let's create a directory
-    named '_dist' in the IzPack root directory. Then copy the files from
-    'src/dist-files' into '_dist'. Copy your IzPack image, that is all
-    the files present at the IzPack root directory. To make it clear,
-    you'll get bin/, lib/, ... and text files like Versions.txt and so
-    on. Now you can invoke the IzPack compiler and it will generate the
-    installer.
-    
-    Alternatively, you can use the IzPack Ant makefile and run 'ant dist'. It's
-    much simpler :-)
--->
-
-        <!-- The installation -->
-<installation version="1.0">
-
-    <!-- The info section -->
-    <info>
-        <appname>IzPack</appname>
-        <appversion>3.9.0-RC1 (build 2006.09.19)</appversion>
-        <authors>
-            <author email="" name="Julien Ponge (maintainer and original developer)"/>
-
-            <author email="" name="Klaus Bartz (developer)"/>
-            <author email="" name="Fabrice Mirabile (developer)"/>
-            <author email="" name="Marc Eppelmann (developer)" />
-
-            <author email="" name="Oliver Kiddle (contributor)"/>
-            <author email="" name="Cesar Martinez Izquierdo (contributor)"/>
-            <author email="" name="Ryan Shillington (contributor)" />
-            <author email="" name="Eric Rose (contributor)" />
-            <author email="" name="Amit Bhayani @JBoss/RedHat (contributors)" />
-            <author email="" name="Scott Starks @JBoss/RedHat (contributors)" />
-            <author email="" name="Alex Pinkin @JBoss/RedHat (contributors)" />
-            <author email="" name="Dennis Reil (contributor)" />
-            <author email="" name="Thomas Edwin Santosa (contributor)" />
-
-            <author email=""
-                    name="... the many other developers and contributors to the previous releases (see Thanks.txt)"/>
-        </authors>
-        <url>http://www.izforge.com/izpack/</url>
-        <javaversion>1.4</javaversion>
-        <summarylogfilepath>$INSTALL_PATH/installinfo/Summary.htm</summarylogfilepath>
-    </info>
-
-    <!-- Flexible and in the screen proportions -->
-    <guiprefs height="600" resizable="yes" width="800">
-        <laf name="looks">
-            <os family="unix"/>
-        </laf>
-        <!-- GUI addaption for more informations see "Modifying the GUI" in the documentation -->
-    	<modifier key="layoutAnchor" value="CENTER"/>
-    	<modifier key="headingPanelCounter" value="progressbar"/>
-		<modifier key="headingPanelCounterPos" value="inNavigationPanel"/>
-		<modifier key="allYGap" value="3"/>
-		<modifier key="paragraphYGap" value="10"/>	
-		<modifier key="filler1YGap" value="5"/>
-		<modifier key="filler3XGap" value="10"/>
-    </guiprefs>
-
-    <variables>
-        <variable name="DesktopShortcutCheckboxEnabled" value="true"/>
-    </variables>
-
-    <!-- We include every langpack -->
-    <locale>
-        <langpack iso3="eng"/>
-        <langpack iso3="fra"/>
-        <langpack iso3="deu"/>
-        <langpack iso3="ita"/>
-        <langpack iso3="jpn"/>
-        <langpack iso3="spa"/>
-        <langpack iso3="dan"/>
-        <langpack iso3="ell"/>
-        <langpack iso3="cat"/>
-        <langpack iso3="ned"/>
-        <langpack iso3="fin"/>
-        <langpack iso3="swe"/>
-        <langpack iso3="por"/>
-        <langpack iso3="pol"/>
-        <langpack iso3="rus"/>
-        <langpack iso3="ukr"/>
-        <langpack iso3="hun"/>
-        <langpack iso3="svk"/>
-        <langpack iso3="rom"/>
-        <langpack iso3="mys"/>
-        <langpack iso3="nor"/>
-        <langpack iso3="chn"/>
-        <langpack iso3="scg"/>
-        <langpack iso3="cze"/>
-        <langpack iso3="kor"/>
-    </locale>
-
-    <!-- The resources needed by the various panels -->
-    <resources>
-        <res src="install-readme.html" id="HTMLInfoPanel.info"/>
-        <res src="Licence.txt" id="LicencePanel.licence"/>
-        <res src="splash-3.9.png" id="installer.langsel.img"/>
-        <res src="shortcutSpec.xml" id="shortcutSpec.xml"/>
-        <res src="Unix_shortcutSpec.xml" id="Unix_shortcutSpec.xml"/>
-        <res src="core.png" id="ImgPacksPanel.img.0"/>
-        <res src="doc-html.png" id="ImgPacksPanel.img.1"/>
-        <res src="javadocs.png" id="ImgPacksPanel.img.2"/>
-        <res src="doc-nanoxml.png" id="ImgPacksPanel.img.3"/>
-        <!--    
-            <res src="doc-pdf.png" id="ImgPacksPanel.img.2" />        
-        -->
-        <res src="sample.png" id="ImgPacksPanel.img.4"/>
-        <res src="src.png" id="ImgPacksPanel.img.5"/>
-        <res src="border1.png" id="Installer.image.0"/>
-        <res src="border2.png" id="Installer.image.1"/>
-        <res src="border3.png" id="Installer.image.2"/>
-        <res src="border4.png" id="Installer.image.3"/>
-        <res src="border5.png" id="Installer.image.4"/>
-        <res src="border5.png" id="Installer.image.5"/>
-        <res src="border6.png" id="Installer.image.6"/>
-        <res src="border7.png" id="Installer.image.7"/>
-        <res src="border8.png" id="Installer.image.8"/>
-        <res src="RegistrySpec.xml" id="RegistrySpec.xml"/>
-    </resources>
-
-    <!-- The panels in a classic order -->
-    <panels>
-        <panel classname="CheckedHelloPanel"/>
-        <panel classname="HTMLInfoPanel"/>
-        <panel classname="LicencePanel"/>
-        <panel classname="TargetPanel"/>
-        <panel classname="ImgPacksPanel"/>
-        <panel classname="SummaryPanel"/>
-        <panel classname="InstallPanel"/>
-        <panel classname="ShortcutPanel"/>
-        <!-- We use temporary the FinishPanel in the 3.9 Release 
-             to get Access to the [Generate an automatic installation script]-Button
-             to get feedback so quick as possible from all of users, 
-             who wants to get back this feature ;-) -->
-        <panel classname="FinishPanel"/>
-    </panels>
-
-    <!-- The listeners section for CustomActions -->
-    <listeners>
-        <listener installer="SummaryLoggerInstallerListener"/>
-        <listener installer="RegistryInstallerListener" uninstaller="RegistryUninstallerListener">
-            <os family="windows"/>
-        </listener>
-    </listeners>
-
-    <!-- The packs section -->
-    <packs>
-
-        <!-- The core files -->
-        <pack name="Core" required="yes">
-            <description>The IzPack core files.</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="*.txt"/>
-                <include name="bin/**/*"/>
-                <include name="lib/**/*"/>
-                <include name="legal/**/*"/>
-            </fileset>
-            <executable targetfile="$INSTALL_PATH/bin/compile" stage="never"/>
-            <executable targetfile="$INSTALL_PATH/bin/start.sh" stage="never"/>
-        </pack>
-
-        <!-- The documentation -->
-        <pack name="XHTML Documentation" required="no">
-            <description>The IzPack documentation (XHTML version).</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="doc/izpack/xhtml/**/*"/>
-            </fileset>
-        </pack>
-        <pack name="Java Documentation" required="no">
-            <description>
-                The IzPack Java documentation (Javadocs for IzPack developers).
-            </description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="doc/izpack/javadoc/**/*"/>
-            </fileset>
-        </pack>
-        <!--
-            Disabled while doc-ng not provides a pdf ...
-            
-            <pack name="PDF Documentation" required="no">
-            <description>The IzPack documentation (PDF version).</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-            <include name="doc/izpack/pdf/**/*" />
-            </fileset>
-            </pack>
-        -->
-        <pack name="NanoXML Documentation" required="no">
-            <description>NanoXML documentation (for IzPack developers).</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="doc/nanoxml/**/*"/>
-            </fileset>
-        </pack>
-
-
-        <!-- A trivial sample to get started -->
-        <pack name="Sample" required="no">
-            <description>A sample installation.</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="sample/**/*"/>
-            </fileset>
-        </pack>
-
-        <!-- The source code of this version -->
-        <pack name="Sources" required="no">
-            <description>The full IzPack source code.</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="src/**/*"/>
-                <exclude name="src/*.manifest"/>
-            </fileset>
-        </pack>
-
-    </packs>
-
-    <!-- The native libraries to add -->
-    <native type="izpack" name="ShellLink.dll"/>
-    <native type="3rdparty" name="COIOSHelper.dll" stage="both">
-        <os family="windows"/>
-    </native>
-
-
-</installation>

Copied: izpack-src/tags/3.9.0/src/dist-files/IzPack-install.xml (from rev 1617, izpack-src/branches/branch-3.9/src/dist-files/IzPack-install.xml)

Deleted: izpack-src/tags/3.9.0/src/lib/com/izforge/izpack/panels/ShortcutPanel.java
===================================================================
--- izpack-src/branches/branch-3.9/src/lib/com/izforge/izpack/panels/ShortcutPanel.java	2006-09-24 19:05:08 UTC (rev 1615)
+++ izpack-src/tags/3.9.0/src/lib/com/izforge/izpack/panels/ShortcutPanel.java	2006-09-25 04:19:33 UTC (rev 1618)
@@ -1,1999 +0,0 @@
-/*
- * IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved.
- *
- * http://www.izforge.com/izpack/ http://developer.berlios.de/projects/izpack/
- *
- * Copyright 2002 Elmar Grom
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.izforge.izpack.panels;
-
-import java.awt.Dimension;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.GridLayout;
-import java.awt.Insets;
-import java.awt.LayoutManager2;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import javax.swing.ButtonGroup;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JFileChooser;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JScrollPane;
-import javax.swing.JTextField;
-import javax.swing.ListSelectionModel;
-import javax.swing.border.Border;
-import javax.swing.border.EmptyBorder;
-import javax.swing.border.TitledBorder;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-
-import net.n3.nanoxml.NonValidator;
-import net.n3.nanoxml.StdXMLBuilder;
-import net.n3.nanoxml.StdXMLParser;
-import net.n3.nanoxml.StdXMLReader;
-import net.n3.nanoxml.XMLElement;
-
-import com.izforge.izpack.ExecutableFile;
-import com.izforge.izpack.Pack;
-import com.izforge.izpack.gui.ButtonFactory;
-import com.izforge.izpack.gui.LabelFactory;
-import com.izforge.izpack.installer.AutomatedInstallData;
-import com.izforge.izpack.installer.InstallData;
-import com.izforge.izpack.installer.InstallerFrame;
-import com.izforge.izpack.installer.IzPanel;
-import com.izforge.izpack.installer.ResourceNotFoundException;
-import com.izforge.izpack.installer.UninstallData;
-import com.izforge.izpack.util.Debug;
-import com.izforge.izpack.util.FileExecutor;
-import com.izforge.izpack.util.MultiLineLabel;
-import com.izforge.izpack.util.OsConstraint;
-import com.izforge.izpack.util.OsVersion;
-import com.izforge.izpack.util.StringTool;
-import com.izforge.izpack.util.TargetFactory;
-import com.izforge.izpack.util.VariableSubstitutor;
-import com.izforge.izpack.util.os.Shortcut;
-import com.izforge.izpack.util.os.unix.UnixHelper;
-import com.izforge.izpack.util.xml.XMLHelper;
-
-//
-// import com.izforge.izpack.panels.ShortcutData;
-
-/*---------------------------------------------------------------------------*/
-
-/**
- * This class implements a panel for the creation of shortcuts. The panel prompts the user to select
- * a program group for shortcuts, accept the creation of desktop shortcuts and actually creates the
- * shortcuts.
- * 
- * @version $Revision$
- */
-public class ShortcutPanel extends IzPanel implements ActionListener, ListSelectionListener // ,//
-// ShortcutConstants
-
-{
-
-    // ~ Static fields/initializers *********************************************************
-    /** serialVersionUID = 3256722870838112311L */
-    private static final long serialVersionUID = 3256722870838112311L;
-
-    // ~ Static fields/initializers *********************************************************
-    
-    /** SPEC_ATTRIBUTE_KDE_USERNAME ="KdeUsername" */
-    public final static String SPEC_ATTRIBUTE_KDE_USERNAME ="KdeUsername";
-    
-    /** SPEC_ATTRIBUTE_KDE_SUBST_UID = "KdeSubstUID" */
-    public final static String SPEC_ATTRIBUTE_KDE_SUBST_UID = "KdeSubstUID";
-
-    /** SPEC_ATTRIBUTE_URL = "url" */
-    public final static String SPEC_ATTRIBUTE_URL = "url";
-
-    /** SPEC_ATTRIBUTE_TYPE = "type" */
-    public final static String SPEC_ATTRIBUTE_TYPE = "type";
-
-    /** SPEC_ATTRIBUTE_TERMINAL_OPTIONS = "terminalOptions" */
-    public final static String SPEC_ATTRIBUTE_TERMINAL_OPTIONS = "terminalOptions";
-
-    /** SPEC_ATTRIBUTE_TERMINAL = "terminal" */
-    public final static String SPEC_ATTRIBUTE_TERMINAL = "terminal";
-
-    /** SPEC_ATTRIBUTE_MIMETYPE = "mimetype" */
-    public final static String SPEC_ATTRIBUTE_MIMETYPE = "mimetype";
-
-    /** SPEC_ATTRIBUTE_ENCODING = "encoding" */
-    public final static String SPEC_ATTRIBUTE_ENCODING = "encoding";
-
-    /** LOCATION_APPLICATIONS=applications */
-    private static final String LOCATION_APPLICATIONS = "applications";
-
-    /** LOCATION_START_MENU = "startMenu" */
-    private static final String LOCATION_START_MENU = "startMenu";
-    
-    /** SPEC_CATEGORIES = "categories" */   
-    public static final String SPEC_CATEGORIES = "categories";
-    
-    /** SPEC_TRYEXEC = "tryexec" */
-    public static final String SPEC_TRYEXEC = "tryexec";
-    
-
-    /**
-     * SEPARATOR_LINE =
-     * "--------------------------------------------------------------------------------";
-     */
-    private static final String SEPARATOR_LINE = "--------------------------------------------------------------------------------";
-
-    /**
-     * The default file name for the text file in which the shortcut information should be stored,
-     * in case shortcuts can not be created on a particular target system. TEXT_FILE_NAME =
-     * "Shortcuts.txt"
-     */
-    private static final String TEXT_FILE_NAME = "Shortcuts.txt";
-
-    /**
-     * The name of the XML file that specifies the shortcuts SPEC_FILE_NAME = "shortcutSpec.xml";
-     */
-    private static final String SPEC_FILE_NAME = "shortcutSpec.xml";
-
-    // ------------------------------------------------------
-    // spec file section keys
-    // -----------------------------------------------------
-
-    /** SPEC_KEY_SKIP_IFNOT_SUPPORTED = "skipIfNotSupported" */
-    private static final String SPEC_KEY_SKIP_IFNOT_SUPPORTED = "skipIfNotSupported";
-
-    /** SPEC_KEY_NOT_SUPPORTED = "notSupported" */
-    private static final String SPEC_KEY_NOT_SUPPORTED = "notSupported";
-
-    /** SPEC_KEY_PROGRAM_GROUP = "programGroup" */
-    private static final String SPEC_KEY_PROGRAM_GROUP = "programGroup";
-
-    /** SPEC_KEY_SHORTCUT = "shortcut" */
-    private static final String SPEC_KEY_SHORTCUT = "shortcut";
-
-    /** SPEC_KEY_PACKS = "createForPack" */
-    private static final String SPEC_KEY_PACKS = "createForPack";
-
-    // ------------------------------------------------------
-    // spec file key attributes
-    // ------------------------------------------------------
-    /** SPEC_ATTRIBUTE_DEFAULT_GROUP = "defaultName" */
-    private static final String SPEC_ATTRIBUTE_DEFAULT_GROUP = "defaultName";
-
-    /** SPEC_ATTRIBUTE_LOCATION = "location" */
-    private static final String SPEC_ATTRIBUTE_LOCATION = "location";
-
-    /** SPEC_ATTRIBUTE_NAME = "name" */
-    private static final String SPEC_ATTRIBUTE_NAME = "name";
-
-    /** SPEC_ATTRIBUTE_SUBGROUP = "subgroup" */
-    private static final String SPEC_ATTRIBUTE_SUBGROUP = "subgroup";
-
-    /** SPEC_ATTRIBUTE_DESCRIPTION = "description" */
-    private static final String SPEC_ATTRIBUTE_DESCRIPTION = "description";
-
-    /** SPEC_ATTRIBUTE_TARGET = "target" */
-    private static final String SPEC_ATTRIBUTE_TARGET = "target";
-
-    /** SPEC_ATTRIBUTE_COMMAND = "commandLine" */
-    private static final String SPEC_ATTRIBUTE_COMMAND = "commandLine";
-
-    /** SPEC_ATTRIBUTE_ICON "iconFile" */
-    private static final String SPEC_ATTRIBUTE_ICON = "iconFile";
-
-    /** SPEC_ATTRIBUTE_ICON_INDEX "iconIndex" */
-    private static final String SPEC_ATTRIBUTE_ICON_INDEX = "iconIndex";
-
-    /** SPEC_ATTRIBUTE_WORKING_DIR = "workingDirectory" */
-    private static final String SPEC_ATTRIBUTE_WORKING_DIR = "workingDirectory";
-
-    /** SPEC_ATTRIBUTE_INITIAL_STATE = "initialState" */
-    private static final String SPEC_ATTRIBUTE_INITIAL_STATE = "initialState";
-
-    /** SPEC_ATTRIBUTE_DESKTOP = "desktop" */
-    private static final String SPEC_ATTRIBUTE_DESKTOP = "desktop";
-
-    /** SPEC_ATTRIBUTE_APPLICATIONS = "applications" */
-    private static final String SPEC_ATTRIBUTE_APPLICATIONS = "applications";
-
-    /** SPEC_ATTRIBUTE_START_MENU = "startMenu" */
-    private static final String SPEC_ATTRIBUTE_START_MENU = "startMenu";
-
-    /** SPEC_ATTRIBUTE_STARTUP = "startup" */
-    private static final String SPEC_ATTRIBUTE_STARTUP = "startup";
-
-    /** SPEC_ATTRIBUTE_PROGRAM_GROUP = "programGroup" */
-    private static final String SPEC_ATTRIBUTE_PROGRAM_GROUP = "programGroup";
-
-    // ------------------------------------------------------
-    // spec file attribute values
-    // ------------------------------------------------------
-
-    /** SPEC_VALUE_APPLICATIONS = "applications" */
-    private static final String SPEC_VALUE_APPLICATIONS = "applications";
-
-    /** SPEC_VALUE_START_MENU = "startMenu" */
-    private static final String SPEC_VALUE_START_MENU = "startMenu";
-
-    /** SPEC_VALUE_NO_SHOW = "noShow" */
-    private static final String SPEC_VALUE_NO_SHOW = "noShow";
-
-    /** SPEC_VALUE_NORMAL = "normal" */
-    private static final String SPEC_VALUE_NORMAL = "normal";
-
-    /** SPEC_VALUE_MAXIMIZED = "maximized" */
-    private static final String SPEC_VALUE_MAXIMIZED = "maximized";
-
-    /** SPEC_VALUE_MINIMIZED = "minimized" */
-    private static final String SPEC_VALUE_MINIMIZED = "minimized";
-
-    // ------------------------------------------------------
-    // automatic script section keys
-    // ------------------------------------------------------
-
-    /**   */
-
-    /** AUTO_KEY_PROGRAM_GROUP = SPEC_KEY_PROGRAM_GROUP = "programGroup" */
-    public static final String AUTO_KEY_PROGRAM_GROUP = SPEC_KEY_PROGRAM_GROUP;
-
-    /** AUTO_KEY_SHORTCUT = SPEC_KEY_SHORTCUT = "shortcut" */
-    public static final String AUTO_KEY_SHORTCUT = SPEC_KEY_SHORTCUT;
-
-    // ------------------------------------------------------
-    // automatic script keys attributes
-    // ------------------------------------------------------
-
-    /** AUTO_ATTRIBUTE_NAME = "name" */
-    public static final String AUTO_ATTRIBUTE_NAME = "name";
-
-    /** AUTO_ATTRIBUTE_GROUP = "group" */
-    public static final String AUTO_ATTRIBUTE_GROUP = "group";
-
-    /** AUTO_ATTRIBUTE_TYPE "type" */
-    public static final String AUTO_ATTRIBUTE_TYPE = "type";
-
-    /** AUTO_ATTRIBUTE_COMMAND = "commandLine" */
-    public static final String AUTO_ATTRIBUTE_COMMAND = "commandLine";
-
-    /** AUTO_ATTRIBUTE_DESCRIPTION = "description" */
-    public static final String AUTO_ATTRIBUTE_DESCRIPTION = "description";
-
-    /** AUTO_ATTRIBUTE_ICON = "icon" */
-    public static final String AUTO_ATTRIBUTE_ICON = "icon";
-
-    /** AUTO_ATTRIBUTE_ICON_INDEX = "iconIndex" */
-    public static final String AUTO_ATTRIBUTE_ICON_INDEX = "iconIndex";
-
-    /** AUTO_ATTRIBUTE_INITIAL_STATE = "initialState" */
-    public static final String AUTO_ATTRIBUTE_INITIAL_STATE = "initialState";
-
-    /** AUTO_ATTRIBUTE_TARGET = "target" */
-    public static final String AUTO_ATTRIBUTE_TARGET = "target";
-
-    /** AUTO_ATTRIBUTE_WORKING_DIR = "workingDirectory" */
-    public static final String AUTO_ATTRIBUTE_WORKING_DIR = "workingDirectory";
-
-    // permission flags
-
-    /** CREATE_FOR_ALL = "createForAll" */
-    public static final String CREATE_FOR_ALL = "createForAll";
-
-    private static ShortcutPanel self = null;
-
-    /** internal flag: create */
-    static boolean create;
-
-    /** internal flag isRootUser */
-    private static boolean isRootUser;
-
-    // ~ Instance fields ********************************************************************
-
-    // ~ Instance fields ********************************************************************
-
-    /** a VectorList of Files wich should be make executable */
-    private Vector execFiles = new Vector();
-
-    // ------------------------------------------------------------------------
-    // Variable Declarations
-    // ------------------------------------------------------------------------
-
-    /** UI element to label the list of existing program groups */
-    private JLabel listLabel;
-
-    /** UI element to present the list of existing program groups for selection */
-    private JList groupList;
-
-    /** UI element for listing the intended shortcut targets */
-    private JList targetList;
-
-    /**
-     * UI element to present the default name for the program group and to support editing of this
-     * name.
-     */
-    private JTextField programGroup;
-
-    /** UI element to allow the user to revert to the default name of the program group */
-    private JButton defaultButton;
-
-    /** UI element to allow the user to save a text file with the shortcut information */
-    private JButton saveButton;
-
-    /**
-     * UI element to allow the user to decide if shortcuts should be placed on the desktop or not.
-     */
-    private JCheckBox allowDesktopShortcut;
-
-    /** Checkbox to enable/disable to chreate ShortCuts */
-    private JCheckBox createShortcuts;
-
-    /** UI element instruct this panel to create shortcuts for the current user only */
-    private JRadioButton currentUser;
-
-    /** UI element instruct this panel to create shortcuts for all users */
-    private JRadioButton allUsers;
-
-    /** The layout for this panel */
-    private GridBagLayout layout;
-
-    /** The contraints object to use whan creating the layout */
-    private GridBagConstraints constraints;
-
-    /**
-     * The default name to use for the program group. This comes from the XML specification.
-     */
-    private String suggestedProgramGroup;
-
-    /** The name chosen by the user for the program group, */
-    private String groupName;
-
-    /**
-     * The location for placign the program group. This is the same as the location (type) of a
-     * shortcut, only that it applies to the program group. Note that there are only two locations
-     * that make sense as location for a program group: <br>
-     * applications start menu
-     */
-    private int groupLocation;
-
-    /** The parsed result from reading the XML specification from the file */
-    private XMLElement spec;
-
-    /** Set to true by analyzeShortcutSpec() if there are any desktop shortcuts to create. */
-    private boolean hasDesktopShortcuts = false;
-
-    /** Tells wether to skip if the platform is not supported. */
-    private boolean skipIfNotSupported = false;
-
-    /** the one shortcut instance for reuse in many locations */
-    private Shortcut shortcut;
-
-    /**
-     * A list of ShortcutData> objects. Each object is the complete specification for one shortcut
-     * that must be created.
-     */
-    private Vector shortcuts = new Vector();
-
-    /**
-     * Holds a list of all the shortcut files that have been created. Note: this variable contains
-     * valid data only after createShortcuts() has been called. This list is created so that the
-     * files can be added to the uninstaller.
-     */
-    private Vector files = new Vector();
-
-    /**
-     * If true it indicates that there are shortcuts to create. The value is set by
-     * analyzeShortcutSpec()
-     */
-    private boolean shortcutsToCreate = false;
-
-    /** If true it indicates that the spec file is existing and could be read. */
-    private boolean haveShortcutSpec = false;
-
-    /**
-     * This is set to true if the shortcut spec instructs to simulate running on an operating system
-     * that is not supported.
-     */
-    private boolean simulteNotSupported = false;
-
-    /** Avoids bogus behaviour when the user goes back then returns to this panel. */
-
-    // private boolean firstTime = true;
-    private File itsProgramFolder;
-
-    /** itsUserType */
-    private int itsUserType;
-    
-    /** USER_TYPE = "usertype" to store this information in the automated.xml  */
-    public final static String USER_TYPE = "usertype";
-
-    /** shortCuts */
-    private Vector shortCuts;
-
-    /** internal line counter */
-    int line;
-
-    /** internal column counter */
-    int col;
-
-    // ~ Constructors ***********************************************************************
-
-    // ~ Constructors ***********************************************************************
-
-    /*
-     * --------------------------------------------------------------------------
-     */
-
-    /**
-     * Constructor.
-     * 
-     * @param parent reference to the application frame
-     * @param installData shared information about the installation
-     */
-
-    /*
-     * --------------------------------------------------------------------------
-     */
-    public ShortcutPanel(InstallerFrame parent, InstallData installData)
-    {
-        super(parent, installData, "link16x16");
-
-        layout = (GridBagLayout) super.getLayout();
-        Object con = getLayoutHelper().getDefaultConstraints();
-        if( con instanceof GridBagConstraints)
-            constraints = (GridBagConstraints) con;
-        else 
-            con = new GridBagConstraints();
-        setLayout(super.getLayout());
-        
-        if( self != null )
-          throw new RuntimeException( this.getClass().getName() + " is not allowed to instantiate more than once!" );
-        
-        self = this;
-    }
-
-    // ~ Methods ****************************************************************************
-
-    // ~ Methods ****************************************************************************
-    // **************************************************************************************************************************************************
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * This method represents the ActionListener interface, invoked when an action occurs.
-     * 
-     * @param event the action event.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    public void actionPerformed(ActionEvent event)
-    {
-        Object eventSource = event.getSource();
-
-        /*
-         * if (eventSource != null) { System.out.println("Instance Of : " +
-         * eventSource.getClass().getName()); }
-         */
-
-        // ----------------------------------------------------
-        // create shortcut for the current user was selected
-        // refresh the list of program groups accordingly and
-        // reset the program group to the default setting.
-        // ----------------------------------------------------
-        if (eventSource.equals(currentUser))
-        {
-            groupList.setListData(shortcut.getProgramGroups(Shortcut.CURRENT_USER));
-            programGroup.setText(suggestedProgramGroup);
-            shortcut.setUserType(itsUserType = Shortcut.CURRENT_USER);
-
-            return;
-        }
-
-        // ----------------------------------------------------
-        // create shortcut for all users was selected
-        // refresh the list of program groups accordingly and
-        // reset the program group to the default setting.
-        // ----------------------------------------------------
-        else if (eventSource.equals(allUsers))
-        {
-            groupList.setListData(shortcut.getProgramGroups(Shortcut.ALL_USERS));
-            programGroup.setText(suggestedProgramGroup);
-            shortcut.setUserType(itsUserType = Shortcut.ALL_USERS);
-
-            return;
-        }
-
-        // ----------------------------------------------------
-        // The reset button was pressed.
-        // - clear the selection in the list box, because the
-        // selection is no longer valid
-        // - refill the program group edit control with the
-        // suggested program group name
-        // ----------------------------------------------------
-        else if (eventSource.equals(defaultButton))
-        {
-            groupList.getSelectionModel().clearSelection();
-            programGroup.setText(suggestedProgramGroup);
-
-            return;
-        }
-
-        // ----------------------------------------------------
-        // the save button was pressed. This is a request to
-        // save shortcut information to a text file.
-        // ----------------------------------------------------
-        else if (eventSource.equals(saveButton))
-        {
-            saveToFile();
-
-            // add the file to the uninstaller
-            addToUninstaller();
-
-            return;
-        }
-        else if (eventSource.equals(createShortcuts))
-        {
-            create = createShortcuts.isSelected();
-
-            if (groupList != null)
-            {
-                groupList.setEnabled(create);
-            }
-
-            programGroup.setEnabled(create);
-            currentUser.setEnabled(create);
-            defaultButton.setEnabled(create);
-
-            // ** There where no Desktop Links or not allowed, this may be null: **//
-            if (allowDesktopShortcut != null)
-            {
-                allowDesktopShortcut.setEnabled(create);
-            }
-
-            if (isRootUser)
-            {
-                allUsers.setEnabled(create);
-            }
-        }
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Returns true when all selections have valid settings. This indicates that it is legal to
-     * procede to the next panel.
-     * 
-     * @return true if it is legal to procede to the next panel, otherwise false.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    public boolean isValidated()
-    {
-        try
-        {
-            groupName = programGroup.getText();
-        }
-        catch (Throwable exception)
-        {
-            groupName = "";
-        }
-
-        create = createShortcuts.isSelected();
-
-        createShortcuts();
-
-        // add files and directories to the uninstaller
-        addToUninstaller();
-
-        return (true);
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Called when the panel is shown to the user.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    public void panelActivate()
-    {
-        try
-        {
-            readShortcutSpec();
-        }
-        catch (Throwable exception)
-        {
-            System.out.println("could not read shortcut spec!");
-            exception.printStackTrace();
-        }
-
-        // Create the UI elements
-        try
-        {
-            shortcut = (Shortcut) (TargetFactory.getInstance()
-                    .makeObject("com.izforge.izpack.util.os.Shortcut"));
-            shortcut.initialize(Shortcut.APPLICATIONS, "-");
-        }
-        catch (Throwable exception)
-        {
-            System.out.println("could not create shortcut instance");
-            exception.printStackTrace();
-        }
-
-        analyzeShortcutSpec();
-
-        if (shortcutsToCreate && !OsVersion.IS_OSX)
-        {
-            if (shortcut.supported() && !simulteNotSupported)
-            {
-                File allUsersProgramsFolder = getProgramsFolder(Shortcut.ALL_USERS);
-
-                Debug.log("All UsersProgramsFolder: '" + allUsersProgramsFolder + "'");
-
-                File forceTest = new File(allUsersProgramsFolder + File.separator
-                        + System.getProperty("user.name") + System.currentTimeMillis());
-
-                try
-                {
-                    isRootUser = forceTest.createNewFile();
-                }
-                catch (Exception e)
-                {
-                    isRootUser = false;
-                    Debug.log("IOException: " + "'" + e.getLocalizedMessage() + "'");
-                    Debug.log("You cannot create '" + forceTest + "'");
-
-                }
-
-                if (forceTest.exists())
-                {
-                    Debug.log("Delete temporary File: '" + forceTest + "'");
-                    forceTest.delete();
-                }
-
-                String perm = isRootUser ? "can" : "cannot";
-
-                Debug.log("You " + perm + " write into '" + allUsersProgramsFolder + "'");
-
-                if (isRootUser)
-                {
-                    itsUserType = Shortcut.ALL_USERS;
-                }
-                else
-                {
-                    itsUserType = Shortcut.CURRENT_USER;
-                }                
-
-                buildUI(getProgramsFolder(isRootUser ? Shortcut.ALL_USERS : Shortcut.CURRENT_USER));
-
-                // addSelectionList();
-                // add( shortCutsArea );
-                // JList shortCutList = null;
-                // addList( shortCuts, ListSelectionModel.SINGLE_SELECTION, shortCutList, col,
-                // line+6, 1, 1, GridBagConstraints.BOTH );
-            }
-            else
-            {
-                // TODO MEP: Test
-                buildAlternateUI();
-
-                // parent.unlockNextButton();
-                // parent.lockPrevButton();
-            }
-        }
-        else
-        {
-            ; // parent.skipPanel ();
-        }
-    }
-
-    /**
-     * Returns the ProgramsFolder for the current User
-     * 
-     * @param userType DOCUMENT ME!
-     * 
-     * @return The Basedir
-     */
-    private File getProgramsFolder(int userType)
-    {
-        String path = shortcut.getProgramsFolder(userType);
-
-        return (new File(path));
-
-        // }
-        // else
-        // {
-        // TODO
-        // 0ptional: Test if KDE is installed.
-        // boolean isKdeInstalled = UnixHelper.kdeIsInstalled();
-        // 1. Test if User can write into
-        // File kdeRootShareApplinkDir = getKDERootShareApplinkDir();
-        // if so: return getKDERootShareApplinkDir()
-        // else
-        // return getKDEUsersShareApplinkDir() +
-        // }
-        // return(result);
-    }
-
-    /**
-     * This method is called by the groupList when the user makes a selection. It updates the
-     * content of the programGroup with the result of the selection.
-     * 
-     * @param event the list selection event
-     */
-
-    /*--------------------------------------------------------------------------*/
-    public void valueChanged(ListSelectionEvent event)
-    {
-        if (programGroup == null) { return; }
-
-        String value = "";
-
-        try
-        {
-            value = (String) groupList.getSelectedValue();
-        }
-        catch (ClassCastException exception)
-        {}
-
-        if (value == null)
-        {
-            value = "";
-        }
-
-        programGroup.setText(value + File.separator + suggestedProgramGroup);
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Reads the XML specification for the shortcuts to create. The result is stored in spec.
-     * 
-     * @exception Exception for any problems in reading the specification
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private void readShortcutSpec() throws Exception
-    {
-        // open an input stream
-        InputStream input = null;
-
-        try
-        {
-            input = parent.getResource(TargetFactory.getCurrentOSPrefix() + SPEC_FILE_NAME);
-        }
-        catch (ResourceNotFoundException rnfE)
-        {
-            input = parent.getResource(SPEC_FILE_NAME);
-        }
-
-        if (input == null)
-        {
-            haveShortcutSpec = false;
-
-            return;
-        }
-
-        // if( input == null )
-        // {
-        // haveShortcutSpec = false;
-        // return;
-        // }
-        // initialize the parser
-        VariableSubstitutor substitutor = new VariableSubstitutor(idata.getVariables());
-
-        // input.
-        String substitutedSpec = substitutor.substitute(input, "xml");
-
-        /*
-         * TODO: internal flag mapped if( idata.isDebug() ) { System.out.println( "SUBSTITUDED
-         * SHORTCUT SPEC" ); System.out.println(
-         * "==================================================================" );
-         * System.out.println( "==================================================================" );
-         * System.out.println( substitutedSpec ); System.out.println(
-         * "==================================================================" );
-         * System.out.println( "==================================================================" ); }
-         */
-        StdXMLParser parser = new StdXMLParser();
-        parser.setBuilder(new StdXMLBuilder());
-        parser.setValidator(new NonValidator());
-        parser.setReader(StdXMLReader.stringReader(substitutedSpec));
-
-        // get the data
-        spec = (XMLElement) parser.parse();
-
-        // close the stream
-        input.close();
-        haveShortcutSpec = true;
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * This method analyzes the specifications for creating shortcuts and builds a list of all the
-     * Shortcuts that need to be created.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private void analyzeShortcutSpec()
-    {
-        if (!haveShortcutSpec)
-        {
-            shortcutsToCreate = false;
-
-            return;
-        }
-
-        XMLElement skipper = spec.getFirstChildNamed(SPEC_KEY_SKIP_IFNOT_SUPPORTED);
-        skipIfNotSupported = (skipper != null);
-
-        // ----------------------------------------------------
-        // find out if we should simulate a not supported
-        // scenario
-        // ----------------------------------------------------
-        XMLElement support = spec.getFirstChildNamed(SPEC_KEY_NOT_SUPPORTED);
-
-        if (support != null)
-        {
-            simulteNotSupported = true;
-        }
-
-        // ----------------------------------------------------
-        // find out in which program group the shortcuts should
-        // be placed and where this program group should be
-        // located
-        // ----------------------------------------------------
-        XMLElement group = spec.getFirstChildNamed(SPEC_KEY_PROGRAM_GROUP);
-        String location = null;
-        hasDesktopShortcuts = false;
-
-        if (group != null)
-        {
-            suggestedProgramGroup = group.getAttribute(SPEC_ATTRIBUTE_DEFAULT_GROUP, "");
-            location = group.getAttribute(SPEC_ATTRIBUTE_LOCATION, SPEC_VALUE_APPLICATIONS);
-        }
-        else
-        {
-            suggestedProgramGroup = "";
-            location = SPEC_VALUE_APPLICATIONS;
-        }
-
-        if (location.equals(SPEC_VALUE_APPLICATIONS))
-        {
-            groupLocation = Shortcut.APPLICATIONS;
-        }
-        else if (location.equals(SPEC_VALUE_START_MENU))
-        {
-            groupLocation = Shortcut.START_MENU;
-        }
-
-        // ----------------------------------------------------
-        // create a list of all shortcuts that need to be
-        // created, containing all details about each shortcut
-        // ----------------------------------------------------
-        // String temp;
-        Vector shortcutSpecs = spec.getChildrenNamed(SPEC_KEY_SHORTCUT);
-        XMLElement shortcutSpec;
-        ShortcutData data;
-
-        shortCuts = new Vector();
-
-        for (int i = 0; i < shortcutSpecs.size(); i++)
-        {
-            // System.out.println( "Processing shortcut: " + i );
-            shortcutSpec = (XMLElement) shortcutSpecs.elementAt(i);
-
-            if (!OsConstraint.oneMatchesCurrentSystem(shortcutSpec))
-            {
-                continue;
-            }
-
-            // TODO: write log info INFO.info( "Checking Condition for " +
-            // shortcutSpec.getAttribute( SPEC_ATTRIBUTE_NAME ) );
-            if (!checkConditions(shortcutSpec))
-            {
-                continue;
-            }
-
-            // TODO write log info INFO.info( "Checked Condition for " +
-            // shortcutSpec.getAttribute( SPEC_ATTRIBUTE_NAME ) );
-            data = new ShortcutData();
-
-            data.name = shortcutSpec.getAttribute(SPEC_ATTRIBUTE_NAME);
-            data.subgroup = shortcutSpec.getAttribute(SPEC_ATTRIBUTE_SUBGROUP, "");
-            data.description = shortcutSpec.getAttribute(SPEC_ATTRIBUTE_DESCRIPTION, "");
-
-            // ** Linux **//
-            data.deskTopEntryLinux_Encoding = shortcutSpec
-                    .getAttribute(SPEC_ATTRIBUTE_ENCODING, "");
-            data.deskTopEntryLinux_MimeType = shortcutSpec
-                    .getAttribute(SPEC_ATTRIBUTE_MIMETYPE, "");
-            data.deskTopEntryLinux_Terminal = shortcutSpec
-                    .getAttribute(SPEC_ATTRIBUTE_TERMINAL, "");
-            data.deskTopEntryLinux_TerminalOptions = shortcutSpec.getAttribute(
-                    SPEC_ATTRIBUTE_TERMINAL_OPTIONS, "");
-            data.deskTopEntryLinux_Type = shortcutSpec.getAttribute(SPEC_ATTRIBUTE_TYPE, "");
-
-            data.deskTopEntryLinux_URL = shortcutSpec.getAttribute(SPEC_ATTRIBUTE_URL, "");
-
-            data.deskTopEntryLinux_X_KDE_SubstituteUID = shortcutSpec.getAttribute(
-                    SPEC_ATTRIBUTE_KDE_SUBST_UID, "false");
-            
-            data.deskTopEntryLinux_X_KDE_UserName = shortcutSpec.getAttribute(
-                    SPEC_ATTRIBUTE_KDE_USERNAME, "root");
-            
-            data.Categories = shortcutSpec.getAttribute(
-                    SPEC_CATEGORIES, "Application;Development");
-            
-            data.TryExec = shortcutSpec.getAttribute(
-                    SPEC_TRYEXEC, "");
-
-            data.createForAll = new Boolean(shortcutSpec.getAttribute(CREATE_FOR_ALL, "false"));
-
-            // ** EndOf LINUX **//
-            // temp =
-            data.target = fixSeparatorChar(shortcutSpec.getAttribute(SPEC_ATTRIBUTE_TARGET, ""));
-
-            // temp =
-            data.commandLine = shortcutSpec.getAttribute(SPEC_ATTRIBUTE_COMMAND, "");
-
-            // temp =
-            data.iconFile = fixSeparatorChar(shortcutSpec.getAttribute(SPEC_ATTRIBUTE_ICON, ""));
-            data.iconIndex = Integer.parseInt(shortcutSpec.getAttribute(SPEC_ATTRIBUTE_ICON_INDEX,
-                    "0"));
-
-            // temp =
-            data.workingDirectory = fixSeparatorChar(shortcutSpec.getAttribute(
-                    SPEC_ATTRIBUTE_WORKING_DIR, ""));
-
-            String initialState = shortcutSpec.getAttribute(SPEC_ATTRIBUTE_INITIAL_STATE, "");
-
-            if (initialState.equals(SPEC_VALUE_NO_SHOW))
-            {
-                data.initialState = Shortcut.HIDE;
-            }
-            else if (initialState.equals(SPEC_VALUE_NORMAL))
-            {
-                data.initialState = Shortcut.NORMAL;
-            }
-            else if (initialState.equals(SPEC_VALUE_MAXIMIZED))
-            {
-                data.initialState = Shortcut.MAXIMIZED;
-            }
-            else if (initialState.equals(SPEC_VALUE_MINIMIZED))
-            {
-                data.initialState = Shortcut.MINIMIZED;
-            }
-            else
-            {
-                data.initialState = Shortcut.NORMAL;
-            }
-
-            // LOG System.out.println("data.initialState: " + data.initialState);
-
-            // --------------------------------------------------
-            // if the minimal data requirements are met to create
-            // the shortcut, create one entry each for each of
-            // the requested types.
-            // Eventually this will cause the creation of one
-            // shortcut in each of the associated locations.
-            // --------------------------------------------------
-            // without a name we can not create a shortcut
-            if (data.name == null)
-            {
-                continue;
-            }
-
-            // 1. Elmar: "Without a target we can not create a shortcut."
-            // 2. Marc: "No, Even on Linux a Link can be an URL and has no target."
-            if (data.target == null)
-            {
-                // TODO: write log info INFO.warn( "Shortcut: " + data + " has no target" );
-                data.target = "";
-            }
-            // the shortcut is not actually required for any of the selected packs
-
-            // the shortcut is not actually required for any of the selected packs // the shortcut
-            // is not actually required for any of the selected packs
-            Vector forPacks = shortcutSpec.getChildrenNamed(SPEC_KEY_PACKS);
-
-            if (!shortcutRequiredFor(forPacks))
-            {
-                continue;
-            }
-            // --------------------------------------------------
-            // This section is executed if we don't skip.
-            // --------------------------------------------------
-            // For each of the categories set the type and if
-            // the link should be placed in the program group,
-            // then clone the data set to obtain an independent
-            // instance and add this to the list of shortcuts
-            // to be created. In this way, we will set up an
-            // identical copy for each of the locations at which
-            // a shortcut should be placed. Therefore you must
-            // not use 'else if' statements!
-            // --------------------------------------------------
-            {
-                if (XMLHelper.attributeIsTrue(shortcutSpec, SPEC_ATTRIBUTE_DESKTOP))
-                {
-                    hasDesktopShortcuts = true;
-                    data.addToGroup = false;
-                    data.type = Shortcut.DESKTOP;
-                    shortcuts.add(data.clone());
-                }
-
-                if (XMLHelper.attributeIsTrue(shortcutSpec, SPEC_ATTRIBUTE_APPLICATIONS))
-                {
-                    data.addToGroup = false;
-                    data.type = Shortcut.APPLICATIONS;
-                    shortcuts.add(data.clone());
-                }
-
-                if (XMLHelper.attributeIsTrue(shortcutSpec, SPEC_ATTRIBUTE_START_MENU))
-                {
-                    data.addToGroup = false;
-                    data.type = Shortcut.START_MENU;
-                    shortcuts.add(data.clone());
-                }
-
-                if (XMLHelper.attributeIsTrue(shortcutSpec, SPEC_ATTRIBUTE_STARTUP))
-                {
-                    data.addToGroup = false;
-                    data.type = Shortcut.START_UP;
-                    shortcuts.add(data.clone());
-                }
-
-                if (XMLHelper.attributeIsTrue(shortcutSpec, SPEC_ATTRIBUTE_PROGRAM_GROUP))
-                {
-                    data.addToGroup = true;
-                    data.type = Shortcut.APPLICATIONS;
-                    shortcuts.add(data.clone());
-                }
-
-                // / TODO: write log INFO.info( "data.name: " + data.name );
-                shortCuts.add((data.name == null) ? "" : data.name); // + " -> " + data.target +
-
-                // " Type: " + data.type );
-            }
-        }
-
-        // ----------------------------------------------------
-        // signal if there are any shortcuts to create
-        // ----------------------------------------------------
-        if (shortcuts.size() > 0)
-        {
-            shortcutsToCreate = true;
-        }
-    }
-
-    /**
-     * This returns true if a Shortcut should or can be created. Returns false to suppress Creation
-     * 
-     * @param shortcutSpec
-     * 
-     * @return true if condtion is resolved positive - currently unimplemented: returns always true.
-     */
-    private boolean checkConditions(XMLElement shortcutSpec)
-    {
-        /*
-         * Vector conditions = shortcutSpec.getChildrenNamed( Condition.CONDITION );
-         * 
-         * for( int i = 0; i < conditions.size(); i++ ) { Condition condition = new Condition(
-         * conditions.elementAt( i ) );
-         * 
-         * //System.out.println( "Readed: " + condition.toString( true ) ); boolean result =
-         * condition.eval();
-         * 
-         * if( result == false ) { System.out.println( "Unresolved Condition: " + condition );
-         * 
-         * return result; } }
-         */
-        return true; // If there is no Condition defined, just create the shortcut.
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Creates all shortcuts based on the information in shortcuts.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private void createShortcuts()
-    {
-        if (!create) { Debug.log( this.getClass().getName() + "::createShortcuts():create=" + create ); return; }
-
-        ShortcutData data;
-
-        for (int i = 0; i < shortcuts.size(); i++)
-        {
-            data = (ShortcutData) shortcuts.elementAt(i);
-
-            try
-            {
-                groupName = groupName + data.subgroup;
-                shortcut.setUserType(itsUserType);
-                shortcut.setLinkName(data.name);
-                shortcut.setLinkType(data.type);
-                shortcut.setArguments(data.commandLine);
-                shortcut.setDescription(data.description);
-                shortcut.setIconLocation(data.iconFile, data.iconIndex);
-
-                shortcut.setShowCommand(data.initialState);
-                shortcut.setTargetPath(data.target);
-                shortcut.setWorkingDirectory(data.workingDirectory);
-                shortcut.setEncoding(data.deskTopEntryLinux_Encoding);
-                shortcut.setMimetype(data.deskTopEntryLinux_MimeType);
-
-                shortcut.setTerminal(data.deskTopEntryLinux_Terminal);
-                shortcut.setTerminalOptions(data.deskTopEntryLinux_TerminalOptions);
-                shortcut.setType(data.deskTopEntryLinux_Type);
-                shortcut.setKdeSubstUID(data.deskTopEntryLinux_X_KDE_SubstituteUID);
-                shortcut.setKdeUserName(data.deskTopEntryLinux_X_KDE_UserName);
-                shortcut.setURL(data.deskTopEntryLinux_URL);
-                shortcut.setTryExec(data.TryExec);
-                shortcut.setCategories(data.Categories);
-                shortcut.setCreateForAll(data.createForAll);
-                
-                shortcut.setUninstaller( UninstallData.getInstance() );
-
-                if (data.addToGroup)
-                {
-                    shortcut.setProgramGroup(groupName);
-                }
-                else
-                {
-                    shortcut.setProgramGroup("");
-                }
-
-                try
-                {
-                    // ----------------------------------------------
-                    // save the shortcut only if it is either not on
-                    // the desktop or if it is on the desktop and
-                    // the user has signalled that it is ok to place
-                    // shortcuts on the desktop.
-                    // ----------------------------------------------
-                    if ((data.type != Shortcut.DESKTOP)
-                            || ((data.type == Shortcut.DESKTOP) && allowDesktopShortcut
-                                    .isSelected()))
-                    {
-                        // save the shortcut
-                        shortcut.save();
-
-                        // add the file and directory name to the file list
-                        String fileName = shortcut.getFileName();
-                        files.add(0, fileName);
-
-                        File file = new File(fileName);
-                        File base = new File(shortcut.getBasePath());
-                        Vector intermediates = new Vector();
-
-                        // String directoryName = shortcut.getDirectoryCreated ();
-                        execFiles.add(new ExecutableFile(fileName, ExecutableFile.UNINSTALL,
-                                ExecutableFile.IGNORE, new ArrayList(), false));
-
-                        files.add(fileName);
-
-                        while ((file = file.getParentFile()) != null)
-                        {
-                            if (file.equals(base))
-                            {
-                                break;
-                            }
-
-                            intermediates.add(file);
-                        }
-
-                        if (file != null)
-                        {
-                            Enumeration filesEnum = intermediates.elements();
-
-                            while (filesEnum.hasMoreElements())
-                            {
-                                files.add(0, filesEnum.nextElement().toString());
-                            }
-                        }
-                    }
-                }
-                catch (Exception exception)
-                {}
-            }
-            catch (Throwable exception)
-            {
-                continue;
-            }
-        }
-        
-        shortcut.execPostAction();
-
-        try
-        {
-            if (execFiles != null)
-            {
-                FileExecutor executor = new FileExecutor(execFiles);
-
-                // 
-                // TODO: Hi Guys,
-                // TODO The following commented-out line sometimes produces an uncatchable
-                // nullpointer Exception!
-                // TODO evaluate for what reason the files should exec.
-                // TODO if there is a serious explanation, why to do that,
-                // TODO the code must be more robust
-                // evaluate executor.executeFiles( ExecutableFile.NEVER, null );
-            }
-        }
-        catch (NullPointerException nep)
-        {
-            nep.printStackTrace();
-        }
-        catch (RuntimeException cannot)
-        {
-            cannot.printStackTrace();
-        }
-
-        
-        shortcut.cleanUp();
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Verifies if the shortcut is required for any of the packs listed. The shortcut is required
-     * for a pack in the list if that pack is actually selected for installation. Note: If the list
-     * of selected packs is empty then true is always returnd. The same is true if the packs list is
-     * empty.
-     * 
-     * @param packs a Vector of Strings. Each of the strings denotes a pack for which the schortcut
-     * should be created if the pack is actually installed.
-     * 
-     * @return true if the shortcut is required for at least on pack in the list, otherwise returns
-     * false.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    /*
-     * $ @design
-     * 
-     * The information about the installed packs comes from InstallData.selectedPacks. This assumes
-     * that this panel is presented to the user AFTER the PacksPanel.
-     * --------------------------------------------------------------------------
-     */
-    private boolean shortcutRequiredFor(Vector packs)
-    {
-        String selected;
-        String required;
-
-        if (packs.size() == 0) { return (true); }
-
-        for (int i = 0; i < idata.selectedPacks.size(); i++)
-        {
-            selected = ((Pack) idata.selectedPacks.get(i)).name;
-
-            for (int k = 0; k < packs.size(); k++)
-            {
-                required = (String) ((XMLElement) packs.elementAt(k)).getAttribute(
-                        SPEC_ATTRIBUTE_NAME, "");
-
-                if (selected.equals(required)) { return (true); }
-            }
-        }
-
-        return (false);
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Replaces any ocurrence of '/' or '\' in a path string with the correct version for the
-     * operating system.
-     * 
-     * @param path a system path
-     * 
-     * @return a path string that uniformely uses the proper version of the separator character.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private String fixSeparatorChar(String path)
-    {
-        String newPath = path.replace('/', File.separatorChar);
-        newPath = newPath.replace('\\', File.separatorChar);
-
-        return (newPath);
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * This method creates the UI for this panel.
-     * 
-     * @param groups A Vector that contains Strings with all the names of the existing program
-     * groups. These will be placed in the groupList.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private void buildUI(File groups)
-    {        
-        constraints.insets = new Insets(10, 10, 0, 0);
-
-        // Add a CheckBox which enables the user to entirely supress shortcut creation.
-        String menuKind = parent.langpack.getString("ShortcutPanel.regular.StartMenu:Start-Menu");
-
-        if (OsVersion.IS_UNIX && UnixHelper.kdeIsInstalled())
-        {
-            menuKind = parent.langpack.getString("ShortcutPanel.regular.StartMenu:K-Menu");
-        }
-
-        createShortcuts = new JCheckBox(StringTool.replace(parent.langpack
-                .getString("ShortcutPanel.regular.create"), "StartMenu", menuKind), true);
-        createShortcuts.addActionListener(this);
-        constraints.gridx = col;
-        constraints.gridy = line + 1;
-        constraints.gridwidth = 1;
-        constraints.gridheight = 1;
-
-        // constraints.weightx = 0.1;
-        // constraints.weighty = 0.2;
-        constraints.fill = GridBagConstraints.HORIZONTAL;
-        constraints.anchor = GridBagConstraints.NORTHWEST;
-
-        layout.addLayoutComponent(createShortcuts, constraints);
-        add(createShortcuts);
-
-        constraints.insets = new Insets(0, 10, 0, 0);
-
-        // ----------------------------------------------------
-        // check box to allow the user to decide if a desktop
-        // shortcut should be created.
-        // this should only be created if needed and requested
-        // in the definition file.
-        // ----------------------------------------------------
-        if (hasDesktopShortcuts)
-        {
-            String initialAllowedValue = idata.getVariable("DesktopShortcutCheckboxEnabled");
-            boolean initialAllowedFlag = false;
-
-            if (initialAllowedValue == null)
-            {
-                initialAllowedFlag = false;
-            }
-            else if (Boolean.TRUE.toString().equals(initialAllowedValue))
-            {
-                initialAllowedFlag = true;
-            }
-
-            allowDesktopShortcut = new JCheckBox(parent.langpack
-                    .getString("ShortcutPanel.regular.desktop"), initialAllowedFlag);
-            constraints.gridx = col;
-            constraints.gridy = line + 2;
-            constraints.gridwidth = 1;
-            constraints.gridheight = 1;
-
-            // constraints.weighty = 0.2;
-            // constraints.weighty = 1.0;
-            // constraints.weighty = 0.5;
-            layout.addLayoutComponent(allowDesktopShortcut, constraints);
-            add(allowDesktopShortcut);
-        }
-
-        listLabel = LabelFactory.create(parent.langpack.getString("ShortcutPanel.regular.list"),
-                JLabel.LEADING);
-
-        constraints.gridx = col;
-        constraints.gridy = line + 3;
-        constraints.gridwidth = 1;
-        constraints.gridheight = 1;
-
-        constraints.insets = new Insets(10, 10, 0, 0);
-
-        constraints.fill = GridBagConstraints.HORIZONTAL;
-        constraints.anchor = GridBagConstraints.NORTHWEST;
-
-        layout.addLayoutComponent(listLabel, constraints);
-        add(listLabel);
-
-        // ----------------------------------------------------
-        // list box to list all of already existing folders as program groups
-        // at the intended destination
-        // ----------------------------------------------------
-        Vector dirEntries = new Vector();
-
-        File[] entries = groups.listFiles();
-
-        // Quickfix prevent NullPointer on non default compliant Linux - KDEs
-        // i.e Mandrake 2005 LE stores from now also in "applnk" instead in prior "applnk-mdk":
-        if (entries != null)
-        {
-            for (int idx = 0; idx < entries.length; idx++)
-            {
-                if (entries[idx].isDirectory())
-                {
-                    dirEntries.add(entries[idx].getName());
-                }
-            }
-        }
-
-        if (groupList == null)
-        {
-            groupList = new JList();
-        }
-
-        groupList = addList(dirEntries, ListSelectionModel.SINGLE_SELECTION, groupList, col,
-                line + 4, 1, 1, GridBagConstraints.BOTH);
-
-        // ----------------------------------------------------
-        // radio buttons to select current user or all users.
-        // ----------------------------------------------------
-        if (shortcut.multipleUsers())
-        {
-            JPanel usersPanel = new JPanel(new GridLayout(2, 1));
-            ButtonGroup usersGroup = new ButtonGroup();
-            currentUser = new JRadioButton(parent.langpack
-                    .getString("ShortcutPanel.regular.currentUser"), !isRootUser);
-            currentUser.addActionListener(this);
-            usersGroup.add(currentUser);
-            usersPanel.add(currentUser);
-            allUsers = new JRadioButton(
-                    parent.langpack.getString("ShortcutPanel.regular.allUsers"), isRootUser);
-
-            Debug.log("allUsers.setEnabled(), I'm Root: " + isRootUser);
-
-            allUsers.setEnabled(isRootUser);
-
-            allUsers.addActionListener(this);
-            usersGroup.add(allUsers);
-            usersPanel.add(allUsers);
-
-            TitledBorder border = new TitledBorder(new EmptyBorder(2, 2, 2, 2), parent.langpack
-                    .getString("ShortcutPanel.regular.userIntro"));
-            usersPanel.setBorder(border);
-
-            constraints.gridx = col + 1;
-            constraints.gridy = line + 4;
-            constraints.gridwidth = 1;
-            constraints.gridheight = 1;
-
-            // constraints.weighty = 1.0;
-            // constraints.weightx = 1.0;
-            constraints.fill = GridBagConstraints.HORIZONTAL;
-            layout.addLayoutComponent(usersPanel, constraints);
-            add(usersPanel);
-        }
-
-        // ----------------------------------------------------
-        // edit box that contains the suggested program group
-        // name, which can be modfied or substituted from the
-        // list by the user
-        // ----------------------------------------------------
-        programGroup = new JTextField(suggestedProgramGroup, 40); // 40?
-
-        constraints.gridx = col;
-        constraints.gridy = line + 5;
-        constraints.gridwidth = 1;
-        constraints.gridheight = 1;
-
-        // constraints.weighty = 1.0;
-        // constraints.weightx = 1.0;
-        constraints.fill = GridBagConstraints.HORIZONTAL;
-        layout.addLayoutComponent(programGroup, constraints);
-        add(programGroup);
-
-        // ----------------------------------------------------
-        // reset button that allows the user to revert to the
-        // original suggestion for the program group
-        // ----------------------------------------------------
-        defaultButton = ButtonFactory.createButton(parent.langpack
-                .getString("ShortcutPanel.regular.default"), idata.buttonsHColor);
-        defaultButton.addActionListener(this);
-
-        constraints.gridx = col + 1;
-        constraints.gridy = line + 5;
-        constraints.gridwidth = 1;
-        constraints.gridheight = 1;
-        constraints.fill = GridBagConstraints.HORIZONTAL;
-        layout.addLayoutComponent(defaultButton, constraints);
-        add(defaultButton);
-    }
-
-    /**
-     * Adds the grouplist to the panel
-     * 
-     * @param Entries the entries to display
-     * @param ListModel the model to use
-     * @param aJList the JList to use
-     * @param aGridx The X position in the gridbag layout.
-     * @param aGridy The Y position in the gridbag layout.
-     * @param aGridwidth the gridwith to use in the gridbag layout.
-     * @param aGridheight the gridheight to use in the gridbag layout.
-     * @param aFill the FILL to use in the gridbag layout.
-     * 
-     * @return the filled JList
-     */
-    private JList addList(Vector Entries, int ListModel, JList aJList, int aGridx, int aGridy,
-            int aGridwidth, int aGridheight, int aFill)
-    {
-        if (aJList == null)
-        {
-            aJList = new JList(Entries);
-        }
-        else
-        {
-            aJList.setListData(Entries);
-        }
-
-        aJList.setSelectionMode(ListModel);
-        aJList.getSelectionModel().addListSelectionListener(this);
-
-        JScrollPane scrollPane = new JScrollPane(aJList);
-
-        constraints.gridx = aGridx;
-        constraints.gridy = aGridy;
-        constraints.gridwidth = aGridwidth;
-        constraints.gridheight = aGridheight;
-        constraints.weightx = 2.0;
-        constraints.weighty = 1.5;
-        constraints.insets = new Insets(5, 5, 5, 5);
-        constraints.fill = aFill;
-        layout.addLayoutComponent(scrollPane, constraints);
-        add(scrollPane);
-
-        return aJList;
-    }
-
-    /**
-     * This method creates an alternative UI for this panel. This UI can be used when the creation
-     * of shortcuts is not supported on the target system. It displays an apology for the inability
-     * to create shortcuts on this system, along with information about the intended targets. In
-     * addition, there is a button that allows the user to save more complete information in a text
-     * file. Based on this information the user might be able to create the necessary shortcut him
-     * or herself. At least there will be information about how to launch the application.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private void buildAlternateUI()
-    {
-        layout = new GridBagLayout();
-        constraints = new GridBagConstraints();
-        setLayout(layout);
-
-        // ----------------------------------------------------
-        // static text a the top of the panel, that apologizes
-        // about the fact that we can not create shortcuts on
-        // this particular target OS.
-        // ----------------------------------------------------
-        MultiLineLabel apologyLabel = new MultiLineLabel(parent.langpack
-                .getString("ShortcutPanel.alternate.apology"), 0, 0);
-
-        constraints.gridx = 0;
-        constraints.gridy = 0;
-        constraints.gridwidth = 1;
-        constraints.gridheight = 1;
-        constraints.weightx = 1.0;
-        constraints.weighty = 1.0;
-        constraints.insets = new Insets(5, 5, 5, 5);
-        constraints.fill = GridBagConstraints.HORIZONTAL;
-        constraints.anchor = GridBagConstraints.WEST;
-        layout.addLayoutComponent(apologyLabel, constraints);
-        add(apologyLabel);
-
-        // ----------------------------------------------------
-        // label that explains the significance ot the list box
-        // ----------------------------------------------------
-        MultiLineLabel listLabel = new MultiLineLabel(parent.langpack
-                .getString("ShortcutPanel.alternate.targetsLabel"), 0, 0);
-
-        constraints.gridx = 0;
-        constraints.gridy = 1;
-        constraints.gridwidth = 1;
-        constraints.gridheight = 1;
-        constraints.weightx = 1.0;
-        constraints.weighty = 1.0;
-        layout.addLayoutComponent(listLabel, constraints);
-        add(listLabel);
-
-        // ----------------------------------------------------
-        // list box to list all of the intended shortcut targets
-        // ----------------------------------------------------
-        Vector targets = new Vector();
-
-        for (int i = 0; i < shortcuts.size(); i++)
-        {
-            targets.add(((ShortcutData) shortcuts.elementAt(i)).target);
-        }
-
-        targetList = new JList(targets);
-
-        JScrollPane scrollPane = new JScrollPane(targetList);
-
-        constraints.gridx = 0;
-        constraints.gridy = 2;
-        constraints.fill = GridBagConstraints.BOTH;
-        layout.addLayoutComponent(scrollPane, constraints);
-        add(scrollPane);
-
-        // ----------------------------------------------------
-        // static text that explains about the text file
-        // ----------------------------------------------------
-        MultiLineLabel fileExplanation = new MultiLineLabel(parent.langpack
-                .getString("ShortcutPanel.alternate.textFileExplanation"), 0, 0);
-
-        constraints.gridx = 0;
-        constraints.gridy = 3;
-        constraints.weightx = 1.0;
-        constraints.weighty = 1.0;
-        constraints.fill = GridBagConstraints.HORIZONTAL;
-        layout.addLayoutComponent(fileExplanation, constraints);
-        add(fileExplanation);
-
-        // ----------------------------------------------------
-        // button to save the text file
-        // ----------------------------------------------------
-        saveButton = ButtonFactory.createButton(parent.langpack
-                .getString("ShortcutPanel.alternate.saveButton"), idata.buttonsHColor);
-        saveButton.addActionListener(this);
-
-        constraints.gridx = 0;
-        constraints.gridy = 4;
-        constraints.gridwidth = 1;
-        constraints.gridheight = 1;
-        constraints.fill = GridBagConstraints.NONE;
-        constraints.anchor = GridBagConstraints.CENTER;
-        layout.addLayoutComponent(saveButton, constraints);
-        add(saveButton);
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Overriding the superclass implementation. This method returns the size of the container.
-     * 
-     * @return the size of the container
-     */
-
-    /*--------------------------------------------------------------------------*/
-    public Dimension getSize()
-    {
-        Dimension size = getParent().getSize();
-        Insets insets = getInsets();
-        Border border = getBorder();
-        Insets borderInsets = new Insets(0, 0, 0, 0);
-
-        if (border != null)
-        {
-            borderInsets = border.getBorderInsets(this);
-        }
-
-        size.height = size.height - insets.top - insets.bottom - borderInsets.top
-                - borderInsets.bottom - 50;
-        size.width = size.width - insets.left - insets.right - borderInsets.left
-                - borderInsets.right - 50;
-
-        return (size);
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * This method saves all shortcut information to a text file.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private void saveToFile()
-    {
-        File file = null;
-
-        // ----------------------------------------------------
-        // open a file chooser dialog to get a path / file name
-        // ----------------------------------------------------
-        JFileChooser fileDialog = new JFileChooser(idata.getInstallPath());
-        fileDialog.setSelectedFile(new File(TEXT_FILE_NAME));
-
-        if (fileDialog.showSaveDialog(this) == JFileChooser.APPROVE_OPTION)
-        {
-            file = fileDialog.getSelectedFile();
-        }
-        else
-        {
-            return;
-        }
-
-        // ----------------------------------------------------
-        // save to the file
-        // ----------------------------------------------------
-        FileWriter output = null;
-        StringBuffer buffer = new StringBuffer();
-        String header = parent.langpack.getString("ShortcutPanel.textFile.header");
-
-        String newline = System.getProperty("line.separator", "\n");
-
-        try
-        {
-            output = new FileWriter(file);
-        }
-        catch (Throwable exception)
-        {
-            // !!! show an error dialog
-            return;
-        }
-
-        // ----------------------------------------------------
-        // break the header down into multiple lines based
-        // on '\n' line breaks.
-        // ----------------------------------------------------
-        int nextIndex = 0;
-        int currentIndex = 0;
-
-        do
-        {
-            nextIndex = header.indexOf("\\n", currentIndex);
-
-            if (nextIndex > -1)
-            {
-                buffer.append(header.substring(currentIndex, nextIndex));
-                buffer.append(newline);
-                currentIndex = nextIndex + 2;
-            }
-            else
-            {
-                buffer.append(header.substring(currentIndex, header.length()));
-                buffer.append(newline);
-            }
-        }
-        while (nextIndex > -1);
-
-        buffer.append(SEPARATOR_LINE);
-        buffer.append(newline);
-        buffer.append(newline);
-
-        for (int i = 0; i < shortcuts.size(); i++)
-        {
-            ShortcutData data = (ShortcutData) shortcuts.elementAt(i);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.name"));
-            buffer.append(data.name);
-            buffer.append(newline);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.location"));
-
-            switch (data.type)
-            {
-            case Shortcut.DESKTOP: {
-                buffer.append(parent.langpack.getString("ShortcutPanel.location.desktop"));
-
-                break;
-            }
-
-            case Shortcut.APPLICATIONS: {
-                buffer.append(parent.langpack.getString("ShortcutPanel.location.applications"));
-
-                break;
-            }
-
-            case Shortcut.START_MENU: {
-                buffer.append(parent.langpack.getString("ShortcutPanel.location.startMenu"));
-
-                break;
-            }
-
-            case Shortcut.START_UP: {
-                buffer.append(parent.langpack.getString("ShortcutPanel.location.startup"));
-
-                break;
-            }
-            }
-
-            buffer.append(newline);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.description"));
-            buffer.append(data.description);
-            buffer.append(newline);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.target"));
-            buffer.append(data.target);
-            buffer.append(newline);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.command"));
-            buffer.append(data.commandLine);
-            buffer.append(newline);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.iconName"));
-            buffer.append(data.iconFile);
-            buffer.append(newline);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.iconIndex"));
-            buffer.append(data.iconIndex);
-            buffer.append(newline);
-
-            buffer.append(parent.langpack.getString("ShortcutPanel.textFile.work"));
-            buffer.append(data.workingDirectory);
-            buffer.append(newline);
-
-            buffer.append(newline);
-            buffer.append(SEPARATOR_LINE);
-            buffer.append(newline);
-            buffer.append(newline);
-        }
-
-        try
-        {
-            output.write(buffer.toString());
-        }
-        catch (Throwable exception)
-        {}
-        finally
-        {
-            try
-            {
-                output.flush();
-                output.close();
-                files.add(file.getPath());
-            }
-            catch (Throwable exception)
-            {
-                // not really anything I can do here, maybe should show a dialog that
-                // tells the user that data might not have been saved completely!?
-            }
-        }
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Adds all files and directories to the uninstaller.
-     */
-
-    /*--------------------------------------------------------------------------*/
-    private void addToUninstaller()
-    {
-        UninstallData uninstallData = UninstallData.getInstance();
-
-        for (int i = 0; i < files.size(); i++)
-        {
-            uninstallData.addFile((String) files.elementAt(i));
-        }
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Returns Instance of themself 
-     */    
-    public static ShortcutPanel getInstance(  )
-    {
-       return self; 
-    }
-
-    /*--------------------------------------------------------------------------*/
-    /*
-     * 
-     * 
-     * The information needed to create shortcuts has been collected in the Vector 'shortcuts'. Take
-     * the data from there and package it in XML form for storage by the installer. The group name
-     * is only stored once in a separate XML element, since there is only one.
-     * --------------------------------------------------------------------------
-     */
-    public void makeXMLData( XMLElement panelRoot )
-    {
-        // ----------------------------------------------------
-        // if there are no shortcuts to create, shortcuts are
-        // not supported, or we should simulate that they are
-        // not supported, then we have nothing to add. Just
-        // return
-        // ----------------------------------------------------
-        Debug.log( "entering makeXMLData" );
-        
-        
-        if (!shortcutsToCreate || !shortcut.supported() || (groupName == null)
-                || simulteNotSupported || ! create ) { Debug.log( "abort makeXMLData!" ); return; }
-
-        ShortcutData data;
-        XMLElement dataElement;
-
-        // ----------------------------------------------------
-        // add the item that defines the name of the program group
-        // ----------------------------------------------------
-        dataElement = new XMLElement(AUTO_KEY_PROGRAM_GROUP);
-        dataElement.setAttribute(AUTO_ATTRIBUTE_NAME, groupName);
-        panelRoot.addChild(dataElement);
-
-        // ----------------------------------------------------
-        // add the details for each of the shortcuts
-        // ----------------------------------------------------
-        for (int i = 0; i < shortcuts.size(); i++)
-        {
-            Debug.log( "entering makeXMLData" );
-            data = (ShortcutData) shortcuts.elementAt(i);
-            dataElement = new XMLElement(AUTO_KEY_SHORTCUT);
-
-            dataElement.setAttribute(AUTO_ATTRIBUTE_NAME, data.name);
-            dataElement.setAttribute(AUTO_ATTRIBUTE_GROUP, (data.addToGroup ? Boolean.TRUE
-                    : Boolean.FALSE).toString());
-
-            // Boolean.valueOf(data.addToGroup)
-            if(OsVersion.IS_WINDOWS)
-            
-              dataElement.setAttribute(AUTO_ATTRIBUTE_TYPE, Integer.toString(data.type));
-            dataElement.setAttribute(AUTO_ATTRIBUTE_COMMAND, data.commandLine);
-            dataElement.setAttribute(AUTO_ATTRIBUTE_DESCRIPTION, data.description);
-            dataElement.setAttribute(AUTO_ATTRIBUTE_ICON, data.iconFile);
-            dataElement.setAttribute(AUTO_ATTRIBUTE_ICON_INDEX, Integer.toString(data.iconIndex));
-            dataElement.setAttribute(AUTO_ATTRIBUTE_INITIAL_STATE, Integer
-                    .toString(data.initialState));
-            dataElement.setAttribute(AUTO_ATTRIBUTE_TARGET, data.target);
-            dataElement.setAttribute(AUTO_ATTRIBUTE_WORKING_DIR, data.workingDirectory);
-            
-            
-            dataElement.setAttribute( SPEC_ATTRIBUTE_ENCODING, data.deskTopEntryLinux_Encoding );
-            dataElement.setAttribute( SPEC_ATTRIBUTE_MIMETYPE, data.deskTopEntryLinux_MimeType );
-            dataElement.setAttribute( SPEC_ATTRIBUTE_TERMINAL, data.deskTopEntryLinux_Terminal );
-            dataElement.setAttribute( SPEC_ATTRIBUTE_TERMINAL_OPTIONS, data.deskTopEntryLinux_TerminalOptions );
-            if(! OsVersion.IS_WINDOWS )
-              dataElement.setAttribute( SPEC_ATTRIBUTE_TYPE, data.deskTopEntryLinux_Type );
-
-            dataElement.setAttribute( SPEC_ATTRIBUTE_URL, data.deskTopEntryLinux_URL );
-
-            dataElement.setAttribute( SPEC_ATTRIBUTE_KDE_SUBST_UID, data.deskTopEntryLinux_X_KDE_SubstituteUID );
-            dataElement.setAttribute( SPEC_CATEGORIES, data.Categories );
-            dataElement.setAttribute( SPEC_TRYEXEC, data.TryExec );
-
-            dataElement.setAttribute( CREATE_FOR_ALL, data.createForAll.toString() );// ? Boolean.TRUE : Boolean.FALSE).toString() );
-            dataElement.setAttribute( USER_TYPE, Integer.toString( data.userType ) );
-            
-            
-            
-            //TODO: Add Linux.Attibutes
-
-            // ----------------------------------------------
-            // add the shortcut only if it is either not on
-            // the desktop or if it is on the desktop and
-            // the user has signalled that it is ok to place
-            // shortcuts on the desktop.
-            // ----------------------------------------------
-            if ((data.type != Shortcut.DESKTOP)
-                    || ((data.type == Shortcut.DESKTOP) && allowDesktopShortcut.isSelected()))
-            {
-                panelRoot.addChild(dataElement);
-            }
-        }
-    }
-
-    /*--------------------------------------------------------------------------*/
-
-    /**
-     * Creates shortcuts based on teh information in panelRoot without UI.
-     * 
-     * @param panelRoot the root of the XML tree
-     */
-
-    /*--------------------------------------------------------------------------*/
-    /*
-     * 
-     * 
-     * Reconstitute the information needed to create shortcuts from XML data that was previously
-     * stored by the installer through makeXMLData(). Create a new Vector containing this data and
-     * stroe it in 'shortcuts' for use by createShortcuts(). Once this has been completed, call
-     * createShortcuts() to complete the operation.
-     * --------------------------------------------------------------------------
-     */
-
-    
-}
-
-/*---------------------------------------------------------------------------*/

Copied: izpack-src/tags/3.9.0/src/lib/com/izforge/izpack/panels/ShortcutPanel.java (from rev 1616, izpack-src/branches/branch-3.9/src/lib/com/izforge/izpack/panels/ShortcutPanel.java)




More information about the izpack-changes mailing list