ej-technologies HOME | BLOG | SITEMAP | CONTACT
COMPANY | NEWS | PRODUCTS | DOWNLOAD | SUPPORT | SHOP
DOWNLOAD
Products
All Products
 
Trial Versions
 
Licensed Users
 
Change Log
 
Product Information
 
Blog
Latest Versions
JProfiler: 5.2.2
  (2009-04-22)
install4j: 4.2.3
  (2009-06-18)
exe4j: 4.2
  (2009-01-20)
jclasslib: 3.0
  (2005-01-14)
 
Get updates by e-mail:  Delivered by FeedBurner
Release 4.2.3 (2009-06-18) 
 
New features:
  • Added a "Visibility script" to all form components that determines if a form component is shown or not, invoked in both GUI and console modes
  • "Install files" action: Added an "Update bundled JRE" property that allows to prevent the update of an already installed bundled JRE
  • Mac OS X: If defined, use the environment variable INSTALL4J_ARGUMENTS for the command line arguments
  • Installer, Uninstaller and custom installer applications: Added "Windows console executable" property to create executables that open a console and support installations via rsh
  • "Directory chooser" and "File chooser" components: Added a "Validation script" property that can reject user selections performed via the chooser button
  • Unix installers: If the environment variable INSTALL4J_TEMP is defined, it is used as the base directory for self-extraction
  • "Create a file association" action: Added an "Additional parameters" property for additional arguments to be passed to the launcher if invoked via the file association
  • API: Added com.install4j.api.beans.ReplacementMode#PROPERTIES_FILE
  • API: Added com.install4j.context.Context#getMessage(String, Object[]) to avoid explicit use of java.text.MessageFormat
  • Installer applications: Added "Custom watermark text" property
Bugs fixed:
  • Critical: The 1.6 JRE contained in Mac OS X 10.5 Update 4 does not work with installers created by previous versions of install4j. This affects all projects with a minimum Java version of 1.6.
  • File and directory chooser form components: An empty initial value for the file was displayed as the working directory in console mode
  • com.install4j.api.screens.Screen#willActivate() was called before the "Pre-Activation" script
  • Non-existent parent directories in -Dinstall4j.alternativeLogfile were not created
  • "Register Add/Remove item" action: Use current user registry for add/remove entry if system registry is not writeable
  • "Installation components" screen: Fixed default selection in console mode when screen was shown multiple times
  • "Installation components" screen: Wrong tooltip was shown if help button was not shown
  • "Installation components" screen: Improved deselection behavior of component folders containing components that depend on each other
  • "Installation components" screen: Selection state of component folder containing dependent components was not always correct
  • "Save installer variables to the Java preference store" action: Package name containing underscores were not supported on Unix
  • Add short name of project to the log file names in the TEMP directory so they can be identified more easily
  • Form components with labels: Custom icons were not displayed in the uninstaller
  • Form component screens: Relative external files were not correctly resolved in preview
  • Calls to com.install4j.api.context.WizardContext#setNextButtonText(String) and similar methods did not enlarge the button if necessary
  • "Replace installer variables in a text file" action: Property "Escape for properties file" had no effect
  • Installation directory selector: On Windows, if the drive letter or the UNC share did not exist, the error message shown to the user mentioned a permission problem
  • Files that were not overwritten due to an overwrite policy were logged as an error in the installation.log file
Release 4.2.2 (2009-04-17) 
 
New features:
  • "Execute launcher" action: added "Arguments" property
  • Unix installers: If the environment variable INSTALL4J_KEEP_TEMP=yes is set, the temporary files are not deleted
  • Added an $OUTFILE variable for code signing in case the signing command cannot overwrite the original executable
Bugs fixed:
  • "Display progress" screen: Installer variables in title and subtitle properties were not replaced
  • "Show PDF" action and "Display PDF file" screen: PDFs were shown with a red cross
  • "Register Add/Remove Item" action: Multiple installations of the same installer into different directories would only produce a single item in the software registry
  • "Display text" screen: If "Info text" property was empty, a blank space was left above the text area
  • "Install Files" action: Do not check for running processes if "Install runtime" is not selected
  • "Execute launcher" action and "Show URL" action: On some Linux distributions the launched process could be killed if the installer was terminated immediately
  • Screens could not be added to an empty screen group in the uninstaller
  • Files in file sets that were excluded for a media file were accessed at compile time
  • Code editor: JDKs installed directly under c:\ on Windows could not used for code completion
  • Fixed class cast exception at runtime that occurred when using action groups under certain circumstances
  • Fixed FileNotFoundException at runtime that occurred when the installer exited under certain circumstances
  • Unix: Installer did not terminate correctly if gunzip does not exist
  • Windows: Temporary installer log files were not deleted when an error occurred
  • Windows: If the GUI cannot be displayed due to a broken JRE, a message about an "X-server" was displayed
  • Windows 98: Automatic proxy detection lead to a runtime error
  • Windows 98: Setting an environment variable could lead to a runtime error
  • API: Mac OS X: com.install4j.api.SystemInfo.getPhysicalMemory returned wrong result for machines with more than 2 GB RAM
Release 4.2.1 (2009-02-06) 
 
New features:
  • Create program group action: Added a "Fail if symlinks are not created" property
  • "Uninstall previous installation" action: Added properties "Installation directory" and "Only if the same application ID is found" to be able use the action for different and multiple previous installation directories.
Bugs fixed:
  • Do not show the "Create program group" screen on Unix if the "Create symlinks on Unix" property in the "Create program group" action is not selected
  • A ClassNotFoundException could be thrown in the uninstaller on Linux when no mouse movement was made before the bundled JRE was deleted
  • "Run executable or batch file" action: Do not quote arguments without special characters in them (regression in 4.2). This affects batch files only.
  • If the -include-options feature introduced in 4.2 was used, launcher scripts did not work on Solaris
  • "Modify an environment variable on Windows" action: Fixed various problems on uninstallation
  • "Update schedule selector" form component: No question was asked in console mode
  • Unix: Always prevent error messages from the preference store subsystem from being logged to the console
  • The debug attribute of the install4j ant task as described in the documentation did not work
  • Uninstallation of installer files from a sibling directory of the installation directory whose name starts with the name of the installation directory did not work
  • Additional localization files with java.util.Properties format (ending in .properties) were locked while the install4j IDE was open
  • Using backslashes in file names on Unix could lead to an error while saving the project
  • For long-running startup actions, the installer could exit with a timeout
  • Compiler variables did not work correctly in the executable name and executable directory properties of the uninstaller
Release 4.2 (2009-01-20) 
New features:
  • Support for including other .vmoptions files with the new -include-options [path to .vmoptions file] VM parameter. This works in the fixed VM parameters as well as the .vmoptions files.
  • Added a "Save installer variables to the Java preference store" action that saves selected installer variables that can be encoded as strings
  • Added a "Load installer variables from the Java preference store" action
  • Launcher API: com.install4j.api.launcher.Variables offers methods to get compiler and installer variables in the launcher and to load and save installer variables from the Java preference store
  • Launcher API: com.install4j.api.launcher.Variables offers methods to access the installer and compiler variables of the installer
  • Added a "Load response file" action
  • Default installer template: Added a "Load response file" action to the "Installation directory" screen to load user input from a previous installation
  • Default uninstaller template: added a "Load response file" action to the startup sequence to load user input from the installer
  • The proxy settings of the default browser are now used on Windows for all downloads
  • "Check for update" and "Download file" actions: Added "Ask for proxy if necessary" property. If deselected and the download fails, no proxy dialog will be displayed.
  • Added installer parameters -Dinstall4j.clearProxyCache=true and -Dinstall4j.showProxyConfig=true to control the proxy cache
  • Server side authentication for downloads is now supported. A dialog for entering user name and password is displayed if the web server requires authentication.
  • Windows GUI launchers: Added an optionally recognized -console parameter that connects stderr, stdout an stdin to the console from which the launcher was invoked
  • Added the option -splash [title] for installer applications that brings up a small progress window if unattended mode is selected with the -q option
  • Added a -wait [timeout in seconds] command line option for installers. In unattended mode on Windows, the installer application will wait for all launchers and installer applications to shut down before starting the installation. If the timeout is reached, it will exit with an error message.
  • Added a filter field in registry dialogs for screens, actions and form components
  • Tool bars now show icons with text. This setting can be changed by right-clicking a tool bar.
  • Show missing files in the distribution tree and on the custom code tab in red
  • Mac OS X: The principal language is now written to the Info.plist file
  • Added a "Missing files at build time" option to "General Settings->Media File Options" that determines the action if a file or directory in the distribution tree is missing. The default setting is now "Print a warning and continue".
  • Added a "Scan directory" entry type on the Installer->Custom code tab
  • All signed JAR files can now be packed with the Pack200 compression (with a lower compression ratio due to a single segment being used)
  • If the "Safe back button" policy is set for a screen, a back button is also displayed if all actions in the previous screen are configured for multiple execution
  • Updater templates: Execute downloaded installers in unattended or console mode depending on how the updater was invoked.
  • Do not set native look and feel for installer applications if the -Dswing.defaultlaf VM parameter is set
  • Added an installer variable sys.preferredJre that is set after the "Install Files" action has run and contains the path to the JRE that will be used by the installed launchers.
  • Added a compiler variable sys.applicationId that contains the application ID of the project
  • If possible, the language selection dialog of a multi-language installer is now displayed in the system language rather than the principal language. There is a new option on the "Languages" tab to always use the principal language.
  • Redirection files of launchers: Absolute paths and environment variables are now supported
  • "Single radio button" form component: Added "Selection script" property to execute code when the user clicks the radio button
  • Added "Default execution mode" property for all installer applications to be able to configure console or unattended execution as the default mode.
  • Added "Fall back to console mode on Unix" property for all installer applications. This is selected by default and switches to console execution mode if no X server is available.
  • Added a "Replace installer variables in a text file" action. Compiler variables and i18n keys are also replaced by this action.
  • Added a "Fail if no replacement occurred" property to all actions that modify files
  • "Copy file" and "Move file" actions now also work with directories and have been renamed accordingly
  • "Run executable or batch file" action: Environment variables can now be set or modified
  • "Run executable or batch file" action: Added "Show windows console" and "Keep console window" properties for Windows in order to show a console window with the output or the executable and optionally keep the console window open
  • "Create program group" action: Added separate options to disable the creation of Unix symlinks and Unix menu entries
  • The "Create start menu entry" action now also works on Linux/Unix
  • "Modify an environment variable on Windows": The changes are now reverted on uninstallation, this behavior can be controlled with the new "Revert on uninstallation" and "Only if not modified" properties.
  • API: com.install4j.api.context.WizardContext now has methods to set the text of the navigation buttons
  • API: added com.install4j.api.UpdateUpdateDescriptor.checkVersion(String version) to check if a version is compatible with the minimum and maximum versions of an update descriptor entry
  • API: Property customizers can now be built with the new classes com.install4j.api.beaninfo.PropertyConverter and com.install4j.api.beaninfo.PropertyCustomizers
  • API: Properties of type java.util.LinkedHashMap get a default editor in the IDE if they are registered with the Install4JPropertyDescriptor.CONTEXT_STRING_TO_STRING_MAP context
Bugs fixed:
  • Help text in property pane on Screens & Actions tab was black on some Vista installations
  • Using a splash screen image in PNG format with an alpha channel lead to a compilation error
  • .vmoptions files on Unix: leading spaces on a line were not ignored
  • Actions could sometimes not be added to screens in the uninstaller
  • Mac OS X: Service were started as the original user if "Restart as root" was selected in the "Require admin user" action
  • The directory name for the uninstaller was sometimes not saved to the project file under some circumstances
  • The uninstaller used the "Custom image for title bar" property from the installer
  • Fixed "Run executable" action on Vista when path contains special characters
  • "Run executable" and "Execute launcher" actions: stderr and stdout were not consumed by default
  • Version comparison for com.install4j.api.updateUpdateDescriptor.getPossibleUpdateEntry() has been improved
  • "Show URL" and "Show file" actions did not always work on Finish screen on Linux / Unix
  • Line endings in .vmoptions files were not adjusted correctly for Windows media files
  • "Single radio button" form component: installer variables were not replaced in the "Radio button label" property
  • Proxy dialog was not big enough in some look and feels
  • Do not warn or fail during a build if a missing file or directory has been excluded for the media file
  • "Create program group" action on Unix: Do not create symlinks in the same directory as the destination file, thereby overwriting the destination file
  • Downloads failed if the wen server reported an unknown file size
  • "Modify an environment variable on Windows" action: If "prepend" or "append" were selected for the "Modification type" property, the variable separator ";" was not inserted if the environment variable already contained a value
  • "Create program group" action on Unix: Symlinks were also created for launchers for which menu integration has been disabled
  • Fixed performance regression in code editor on Windows if JRE 1.6.0_10+ is used
  • Improved error reporting in installation log for actions that modify files
  • The -c and -console parameters did not have any effect on Windows for installer applications other than the installer itself
  • "Delete a node or key in the Java preference store" action: If the key or node did not exist, the action did not fail
  • Added an installer variable "sys.responseFile" that contains the path of the response file if a response file has been specified on the command line with the -varfile option.
  • Windows program group was always set to default value even if a response file was specified on the command line
  • "Installation directory chooser" form component: In console mode, the installation directory was not changed
  • "Installation type screen": The associated label was not selected if the radio button was selected
  • Multi-line string properties could sometimes not be reset to an empty value
  • Mac OS X. CMD+Q was not handled in the installer
  • Pack200 compression could produce archives with a Java 1.6 version number for some archives even if the minimum version of the project was set to 1.5
  • If there were multiple media output directories, the update descriptor updates.xml was only copied to the last one
  • Java editor: There were empty entries in the completion popup for constructor parameters
  • "Radio button group" form component: The initially selected index was not applied from a response file
  • Running the command line compiler with a relative path name for the config file did not correctly resolve resources
  • Java 5 syntax was underlined as an error in the editor on Mac OS X even if the Java minimum version for the project was set to 1.5 or higher
Release 4.1.5 (2008-10-30) 
 
New features:
  • "Installation components" screen: An installation directory chooser can now optionally be displayed on this screen
  • Added an "Installation directory chooser" form component in the "Special selectors" category
  • Compiler variables are now also supported in the media output directory and in custom code entries
  • "Install files" action: Added "Installation size calculator" script for changing the minimum required size for the installation. This value is also reported by the "Installation directory" screen.
  • "Install files" action: Added "Install runtime" property. If you deselect this option, the installation directory will not be created and the runtime will not be installed. This is useful for installers that just modify some existing directories.
  • "Directory selection" screen: Added "Allow spaces in directory name" property for Unix installers
  • "Display license" screen: Added "User must scroll to bottom" property
  • It is now possible to user compiler variables that are only defined in an external variable file (passed to the command line compiler with the -f or --var-file parameter) and that are not defined in the project
  • The -f or --var-file command line parameter now supports a list of variable files, separated with semicolons, e.g. --var-file=one.properties;two.properties
  • "Check box" form component: Added "Selection script" property to execute code when the selection is changed
  • Added VM parameter -Dinstall4j.alternativeLogfile=[path] to copy installation log file to an arbitrary location after the installer has finished without moving the log file to the installation directory
  • Added "Create log file for stderr output" property for installer. stderr redirection can now be switched off by deselecting this property.
  • The file name and the the directory of the uninstaller are now customizable
  • Leading labels in all form components are now baseline-aligned with the center component when Java 6 or higher is used
  • API: Added support for organizing properties in a tree with com.install4j.api.beaninfo.Install4JPropertyDescriptor#setParentProperty
  • API: Properties can be hidden depending on the value of their parent property with com.install4j.api.beaninfo.Install4JPropertyDescriptor#setVisibilityDiscriminator
  • API: added focusNextButton() to the com.install4j.api.context.WizardContext
Bugs fixed:
  • Setting the program group via the API did not work correctly multiple times when the "Create program group" screen was also present
  • Windows exe version information: The legal copyright was not set for installer, now it is set to the publisher
  • Windows exe version information for uninstaller and custom installer applications was not set
  • The uninstaller executable was installed even if the uninstaller was disabled on the screens & actions tab
  • Linux/Unix: Fixed startup failure with OpenJDK 1.6.0_10 or higher when compiz is running
  • "Install Service" Action: When adding this action, the icons in the screens & actions tree could disappear under some circumstances
  • "Modify class path" action: Installer variables were not replaced in the class path entries
  • "Recent Projects" menu was always empty on Mac OS X
  • Many keyboard shortcuts were not suitable on Mac OS X
  • Linux/Unix services: The output from nohup is now redirected to /dev/null
  • Newly added screens in the uninstaller were added above the "Startup" sequence
  • Workaround for erroneous virus definition in CA Anti-Virus 2009
Release 4.1.4 (2008-08-22) 
 
New features:
  • It is now possible to access environment variables at build-time with the syntax ${compiler:env.variableName}
  • Improved output of com.install4j.api.Console.more(). This also affects the "Display License agreement" and similar screens in unattended mode.
  • Do not append or prepend a value to environment variables on Windows if the appended or prepended value is already contained in the environment variable. This affects API methods in com.install4.api.windows.WinEnvVars as well as actions that modify environment variables.
Bugs fixed:
  • "Modify a text file with regular expressions" action: "Escape for property file" property did not work for chars > 127
  • "Add a desktop link" and "Create quick launch icon" actions: Installer variables were not replaced in "Arguments" and "Tooltip description" properties
  • "Replace text in XML file" action: Fixed NPE if system ID in doctype oft the XML document was not set
  • Custom uninstaller icon was not used
  • Exceptions in "Run script" actions were not annotated with the bean path
  • Launching the install4j IDE from an upgrade installer could fail if used with a floating license
  • The uninstaller of a 4.0 installation did not work after 4.1 add-ons were installed
  • Help texts in property panes were not readable if the Windows classic look and feel was enabled
  • Language auto-detection did not work if principal language was any language other than English
  • Fixed Pack200 compression of JAR files that contain other JAR files
  • Adding additional locales to the resource/messages/languages file required addition of new locale names to all used i18n properties file for multi-language installers to work
  • Fixed NPE for single radio button form component in console mode when there was no initial selection
  • Group conditions were not re-evaluated when moving back and forth
  • Installer log files were not created after canceling the installer if there no actions were executed after a rollback barrier
  • Custom installer applications always showed language selection dialog for multi-language installers
  • Variables at the start of a download URL were not accepted in the "Bundled JRE" step of the media wizard
  • Unix: Links for launchers were also created if they were contained in unselected installation components
  • Mac OS X: "Execute Launcher" action: If the installer required admin privileges, the launcher was started as root and not as the original user
  • Mac OS X: If the installer required admin privileges, daemons were started as root and not as the original user
  • Mac OS X: Buttons on password dialog were not localized
  • Mac OS X: Fixed detection of Java 6 when it was not selected as the default JRE
  • Mac OS X: Fixed problems with startup items when the installation path contained spaces
Release 4.1.3 (2008-06-05) 
 
Bugs fixed:
  • The updater templates "Updater with silent version check" an "Updater without version check" were broken
  • Fixed regression with launchers in subdirectories for folder installers on OS X
Release 4.1.2 (2008-06-03) 
 
New features:
  • API: added com.install4j.api.Util.isWindows2003()
Bugs fixed:
  • "Display text" screen: The "Screen subtitle" property instead of the "Info text" property was used for the label above the text area
  • "Services" screen: Launcher file paths displayed on Linux/Unix could have wrong file separator character
  • "Check box" form component: Initial selection and text were set after the initialization script ran. This has been reversed.
  • "Apply an XSLT transform" action: Source file did not refer to its installed location
  • "Create program group" screen: If a program group was selected in the list and the create shortcuts for all users check box was toggled, the list was not updated with the new content
  • "Create program group" screen: Multiple selection was possible in the list of program groups
  • "Create program group" action: Installer variables were not replaced in arguments of additional program group entries
  • Screens displaying HTML text: Some HTML files could make the installer hang
  • Fixed problems when defining installation components with non-default file sets
  • Included JRE was not used for language restart
  • Code editor: Exception was thrown when opening the code editor and the custom code contained duplicate entries
  • Code editor: Keyboard shortcuts on Mac OS X inserted additional character
  • Generated launchers in non-default file sets did not work correctly
  • Fixed problem with missing JRE extensions on AIX
  • Could not delete additional languages under General settings->Languages
Release 4.1.1 (2008-04-24) 
 
New features:
  • Added VM parameter -Dinstall4j.logEncoding=... for installers to set the encoding of the log file to something other than the default encoding
  • Added a "--faster" command line and ant task option for disabling LZMA and Pack200 compression
Bugs fixed:
  • Main class selector in the launcher wizard did not work anymore
  • Code editor did not work with the Java look and feel (Metal)
  • Code editor: When completion popup was shown more than once, mouse selection was not possible
  • Code editor: accepting a code completion proposal with a double click was not possible
  • Script compiler used default encoding, so that all characters in scripts that were not representable by the default encoding were replaced with question marks
  • "Execute launcher" action: Did not work for external launchers with installer variables in the path name
  • "Create program group" action: Links for external launchers with installer variables in the path name were not resolved correctly
  • "Delete a file or directory action": If the "recurse into directories" option was selected, and the temporary and target directories were on different volumes, all directories were not deleted
  • Fixed exception on Mac OS X for launchers installed with older versions of install4j
  • Design time JDKs were not supported on Mac OS X
  • When clicking the window close button on a screen with the "Quit after screen" property selected, the installer was not finished just like when clicking the "Finish" button
Release 4.1 (2008-04-03) 
New features:
  • New Java code editor with code completion, Javadoc and problem analysis
  • Auto-update functionality
  • Custom installer applications
  • Action and screen groups
  • Redesigned screens & actions tab
  • Code gallery with example scripts
  • File sets in the distribution tree
  • Support for Java 6 splash screens
  • Optional comments on all installer elements
  • Installation types
  • PDF screen and action
  • Actions for changing Windows access rights
  • New form component "Single radio button". You can configure coupled form components that are enabled or disabled depending on whether the radio button is selected.
  • New form component "Multi-line HTML label". This component supports http and file links.
  • New form component "Key value pair" form component". This consists of a leading label and a center label.
  • New form component "Hyperlink action label". Instead of showing a URL, you can configure an action script that is executed if the user clicks on the link.
  • New form component "Progress display". This form component can show the progress of actions attached to the containing form screen.
  • New action "Sleep". Do nothing for a specified number of milliseconds.
  • All installer elements can now be disabled. Disabled elements will not be included in the build and will not be validated.
  • Improved error reporting: At run time, if a script throws an exception, the property name, the name of the bean as well as the names of any enclosing beans are reported.
  • XML actions: Added XML parser properties "Validating" and "Download external entities" for xml actions
  • Design time JDK: The same JDK/JRE that is configured for the Java code editor is used for script compilation. This only applies to the runtime library rt.jar, the compiler is bundled with install4j.
  • "Create program group" action: Redesigned configuration of Windows program group entries
  • Installer variables with array values in all string list properties are expanded as separate arguments. See the "List" form component in the jdkSelection sample project for an example.
  • "Installation Location" screen and "Directory chooser" form component: Added property for allowing spaces in directory name for Unix/Linux installers.
  • "Install files" and "Install contents of ZIP file" actions: Added "Delay if necessary" and "Trigger reboot if required" properties for installing on top if used files in Windows.
  • "File associations" screen: Added "Show selection buttons" property for showing buttons that select and unselect all associations.
  • "Display text" and "Display information" screens: Added HTML preview tab in editor
  • Java 6+: Use Java 6 Console API for reading passwords in console installer
  • All installer elements including single actions can now be excluded in the "Customize project->Exclude installer elements" step of the media wizard.
  • Font properties in form components: Possibility to use "0" as font size to get default size. Font name "dialog" yields the default label font.
  • "File chooser" and "Directory chooser" form components: Added property "Manual entry allowed"
  • "Set a variable" action: added "Fail if null" property
  • "Display progress" screen: Added "Initial status message" property
  • Improved many messages in the launcher and the installer
  • "Installation directory display": Display free disk space
  • Windows launchers can now request heap sizes (-Xmx values) of the same maximum size as the default java launchers if the built-in splash screen is not used. Previously the maximum size was reduced due to fragmentation of the address space.
  • Custom localization files are now reloaded in the IDE when they are changed externally
  • Consistent keyboard accelerators in the install4j IDE
  • Consistent display of IDs in the install4j IDE: If ID display is enabled for a view, the ID is shown in brackets after the element.
  • ID display settings are persistent across restarts of the install4j IDE
  • IDs can be printed in the project export by selecting the "Export IDs" check box in the file chooser
  • "List", "Drop-down list" and "Combo box" form components: Added "Selection change script" property that is invoked when the user changes the current selection
  • Added "Scrollable" property for customizable form screens. After de-selecting this property, you can assign remaining vertical space to vertically scalable components such as text areas or lists.
  • "Text area" and "List" form components: Added "Fill extra vertical space" property
  • Scripting: Added methods to wizard context to make selected navigations buttons invisible
  • Scripting: Added formEnvironment script parameter to all script properties of form components
  • Scripting: Added context.goBackInHistory(Screen targetScreen) to move back to a specific screen in the history rather than in the screen sequence
  • Scripting: A reboot can now be triggered with context.triggerReboot()
  • Scripting: Added formEnvironment.resetFormComponents() in order to reset components in loops
  • Scripting: Added formEnvironment.saveFormComponents() to validate and save form components, e.g. for a button form component which needs current values of variables.
  • Scripting: Incompatible change (very low impact): Script parameters are now final which allows them to be used directly in anonymous classes.
  • Scripting: Added "Pre-activation" and "Post-activation scripts" to screens.
  • Scripting: Added ApplicationRegistry.getAddOnApplicationInfoByDir() to get information about installed add-on installers
  • Scripting: Added method requestFocus() method to FormComponent interface
  • API: Incompatible API change (very low impact): Introduced FormPanelContainer to make form panels more configurable. This replaces the Screen#hasFormPanel() and Screen#setFormPanel(...) methods.
  • API: Form components can request remaining vertical space by returning true from the new interface method FormComponent#isFillCenterVertical()
  • API: Added Install4jPropertyDescriptor#setPropertyChangeListener(...) to listen for property changes in the IDE. Changes on other properties are reflected after the listeners have been called.
  • API: com.install4j.api.FileOptions has a new constructor for delaying file installation on Windows if necessary
  • API: Added ReplacementMode I18N_ONLY for use in the AbstractBean#replaceVariables(...) methods
  • API: Added context Install4JPropertyDescriptor.CONTEXT_HTML for string properties that contain HTML
  • API: Added Install4JBeanInfo#setNoticePanel that lets you add a fixed panel at the top of the property editor
  • API: Added context FilePropertyDescriptor.CONTEXT_EXTERNAL_OR_INTERNAL for ExternalFile properties. When the file chooser is invoked, a dialog is shown that explains internal and external files.
  • API: Added com.install4j.api.launcher.ApplicationLauncher
  • API: Added new package com.install4j.api.update for auto-update functionality
  • API: Added Util.getAnnotatedStackTrace() and Util.printAnnotatedStackTrace() to add the bean origin of a stack trace
  • API: Added Util.showPath() to open a file manager for a certain file
Bugs fixed:
  • JRE bundles that only included the client VM did not work on server class Unix machines
  • After renaming a root in the distribution tree, the edit button was not enabled
  • Project was not properly synchronized in some cases when opening a new project
  • When editing a property and opening a new project, the save button could be disabled
  • Mac OS X: CFBundleGetInfoString in Info.plist did not contain the application version
  • XML actions: output files were not closed
  • XML actions: Existing DOCTYPE was not written
  • XML actions: output was not indented
  • Do not execute -Xshare:dump for JRockit JREs
  • Fixed NPE in unattended installer
  • Fixes file deletion problems on Linux
  • Fixed NPE when hitting Ctrl-C while actions are executed in console mode
  • "Show URL" action: URLs with anchors could not be opened
  • "Directory chooser" form component: Tree scrolled if user selected directories near the bottom of the tree
  • Fixed wrong file times for rollback
  • Catch more errors for preference store manipulations
  • "Check box" form components that were not initially selected were not correctly restored by a response file
  • Fixed proxy authentication problems on Linux
  • "Quit after screen" property was not honored by console and unattended installers
  • Console installers and unattended installers did not check the isHidden() and isHiddenForNext() methods of a screen
  • Installer variables were replaced directly when beans were loaded in the runtime, this lead to different behavior in the GUI and console installer
  • "Text area" form component: Editor for initial text was not multi-line.
  • "Append text to file" action: "Text" property was not multi-line.
  • context.goBackInHistory(...) now supports the parameter 0 to loop back to the current screen
  • Compiler variables in i18n messages were not replaced
  • Customizable screens: Installer variables in "Screen title" and "Screen subtitle" properties were not replaced
  • Customizable banner screen: Installer variables in "Info text" property were not replaced
  • Mac OS X: Add bundle identifier to prevent file associations to be connected to different install4j applications on newer OS X 10.4 versions
  • Linux: Exclude shared extensions from java.ext.dirs VM parameter for installer and uninstaller to prevent XML AbstractMethodError due to incompatible library versions
  • The file logger now saves files and directories as relative entries if the path starts with the installation directory. This allows the uninstaller to work for the installation directory even if the user moved the directory.
  • For multi-language installers, Util.getParentWindow() always returned the language selection dialog
  • Project Java versions lower that 1.3 crashed the build
  • Console handler for from screens did no correctly initialize form components. As a consequence, coupled form components were not correctly disabled or enabled in some situations
  • Chains of coupled form components are now supported, i.e. if a form component is disabled, all its coupled form components are disabled as well
  • String properties were always trimmed
  • Linux: Application registry on Linux did not always work with bundled JREs
  • Mac OS X: "Scan directory" class path entries were not dynamic
  • Console installer did not ask for proxy information if no direct internet connection is available
  • Accelerators for next and previous screen (ALT-Right and ALT-Left) did not respect whether the corresponding button was enabled and visible.
  • Using variable expressions of the type ${...} in Regexp properties that were not install4j variables produced an NPE at runtime
  • Selecting the "Installation directory" node in the definition of an installation component did not work
  • Installer variable sys.programFilesDir was only defined on Windows
  • Linux: When compiz is enabled, use MToolkit rather than the default XToolkit in order to avoid blank windows.
  • Temporary files created by Windows launchers are now deleted immediately after exit rather than on the next launch
  • Next and Previous buttons as well as all form components that take user input are now disabled when actions are executed
  • "Installation Directory" screen: Suggest user home if the standard installation directory cannot be written
  • Project export: scripts were not exported with proper indents and line breaks
  • The return code for Unix installers was always 0 even if the installer terminated with an error
  • API: JVMLocator.getJVMLocations() could return duplicate entries
  • A bundled JRE is now installed before other files in the distribution tree, so you can modify the bundled JRE with files in the distribution tree
  • "Install files" action: The AFTER_INSTALL_FILE event did not have the correct success value
  • "Installation components" screen: Component folders were always initially selected in console mode
  • "Directory selection" screen: console mode looped if "Only accept writable directories" property was selected
Release 4.0.8 (2007-11-23) 
 
Bugs fixed:
  • IMPORTANT: When closing the preview window of a form screen other than through the close button, all usages of compiler variables in the project were replaced with their default values
  • Fixed problems with ampersands in application and launcher names on Mac OS X
  • Fixed exception on Mac OS X, when "Finish" was clicked without running the "Install Files" action
  • "Run executable" action: Installer variables were sometimes not replaced for redirection files
  • "Text field with integer format" form component: variable could not be saved to response file.
  • Fixed problem with rolling back replaced files
  • Variable chooser button was missing on code signing step in the media wizard.
  • Fixes some messages in the French translation
  • Several UI fixes for Mac OS X 10.5
  • Fixed several problems when overriding system actions, screens and form components provided by install4j
  • Fixed problem when jai-imageio was used in custom code
Release 4.0.7 (2007-10-09) 
 
New features:
  • "Check box" form component: added option for inverse coupling on the "Coupled form components" tab
  • "Run executable" action: redirection of stderr, stdout and stdin files
  • "Installation location" screen and "Install files" action: added "Insufficient disk space warning" property
  • Option in registry dialogs and custom class selectors for adding new items after the current selection
  • In addition to 16x16 icons, use 32x32 frame icons for installer frame when Java 6 is used
  • Report origin of script compilation errors in build output
  • Print media file size in build output
  • API: Added FormEnvironment.getScreen() to get access to the enclosing screen from a form component
  • API: Added Context.registerHiddenVariable(String variableName) for variables whose values should not be logged
  • API: formEnvironment is now a parameter for the initialization script of form components
Bugs fixed:
  • [SECURITY] "Password field" form component: variable value was logged to installation log
  • "Run executable" action: if executable is a relative path and the working directory is set, try to find the executable in the combined path
  • "Require admin user" action displayed wrong error message when used in an uninstaller
  • "Directory selection" screen: Changing the variable value did not update the displayed directory value in all cases
  • "Create program group" screen: Changing the installer variables sys.programGroup.allUsers and sys.programGroup.enabled did not update the screen in all cases
  • "Execute launcher" action and "Run executable" action: arguments with spaces were not supported
  • "Hyperlink label" form component: Installer variables in "URL" property were not replaced
  • "List", "Drop-down list" and "Combo box" form components: installer variables were not replaced in list items
  • File installed with an uninstallation policy that excluded updates were not deleted by the uninstaller after updates were installed
  • Menu entry for uninstaller was not localized for multi-language installers if the selected language was not the principal language
  • Fixed NPE in console installer
  • Some special characters in fixed launcher arguments were transformed incorrectly
  • With some Java versions, the installer froze when a shortcut to the desktop directory was placed on the desktop itself
  • Fixed layout problem with list form component and very log entries
  • Form components could not be edited after project reload under some circumstances
  • Context class loader for custom code was set is such a way, that is was not possible to load resources via the custom class loader
  • Workaround for problem with some graphics cards that displayed an empty installer window with JRE 1.5 on Windows
  • Overriding a system variable that could not be overridden lead to inconsistent behavior
  • It is not longer a fatal error if the path of a file entry in the distribution tree does not exist. A message is printed in verbose output if this condition occurs.
  • Do not check URL property of hyper link label component for validity if it contains a variable
  • Custom scripts in Unix launchers had wrong line feed if installers were build on Windows
  • Icons and descriptions of file associations on Windows were not set correctly if multiple file associations were already present
  • Removed erroneous "create program group" question in non-Windows console installers
  • Fixed errors in French translation
  • No error message for class format error when selecting screens, actions and form components from custom code
  • Insertion sequence for copy-paste in uninstallation mode was incorrect
  • There was no default web browser on Unix/Linux. Now, the installer tries to launch firefox as the browser executable before asking for an executable.
  • If a custom 32x32 icon was defined for the installer, it was not used in the body of the language selection dialog
  • No warning was printed if the custom localization file was not used due to a probably unintended override of the principal language in the media file definition
  • Fixed NPE if installation root was set to an undefined installer variable. Now this root is discarded.
  • Since 4.0.6, the first argument to a service launcher was the service name. This has been reverted.
Release 4.0.6 (2007-05-11) 
 
New features:
  • "Install files" action: added option to validate the application ID for situations where no "Installation location" screen is present.
  • "Start a Service" action: added option to start the service only if it was installed as an auto-start service
  • "Installation location" screen: added option to suppress the insufficient disk space warning
  • Added a "Button" form component in the new "Action components" category.
  • "Project->Open Sample Project" gives quick access to bundled sample projects
  • Also use 32x32 frame icon for installers if Java 6 is used (visible in lists of open Windows like ALT-Tab on Windows)
  • API: added com.install4j.api.Windows.WinFileSystem.moveWithDelayUntilReboot() to install files after a reboot on Windows
  • API added com.install4j.api.events.InstallerEvent and VARIABLE_CHANGED EventType to listen for changes of installer variable values
Bugs fixed:
  • "Create start menu entry action": multiple instances were not supported
  • "Create a quick launch icon" action: Do not throw an exception if the target file does not exist
  • "Create a file association" action: file associations are now selected by default
  • "Modify a text file" action: file rights were not preserved
  • "Installation location" screen: selection is now updated when user code calls context.setInstallationDirectory()
  • Fixed issues with uninstallation policies "If created, but not for update" and "Always but not for update"
  • Service status command on Unix did not work with the installed script if the service was started with a differently named symbolic link
  • Editing the project while a build was running could lead to a build failure
  • Invalid characters like slashes in installer and uninstaller files names are now replaced with spaces automatically
  • Fixed problem with very large number of installer configuration files in DMG archives
  • Changes in environment variables were not broadcast correctly
  • If Pack200 compression was selected, the unpacker was still run on JAR files that were excluded from Pack200 compression. This could break JAR signatures.
  • Removal of screens, actions and form components had to be confirmed twice
  • Text form components were collapsed to minimum size when width of initial text was longer than available horizontal space
  • Caret position in text form components was not set to 0 after the text was initialized
  • Always suggest previous program group for add-on installers
  • Locales with country code were not properly auto-detected for multi-language installers
  • Added 24x24 image to install4j default icons to fix long wait times for Norton AV on remote drives
  • Using different JAR source files for the same target file for different media file definitions did not work when Pack200 compression was enabled
  • Desktop links did not support Unicode characters
  • File associations were not installed properly on some Windows installations
  • Edits in multi-line string dialog and script edit dialog were lost when auto-save was running at the same time
  • Added -Dinstall4j.logToStderr=true to debug installer/uninstaller scripts
  • FormComponent classes without associated BeanInfo class did not work
  • Screens classes without associated BeanInfo class exposed context parameters
  • Form component dialogs: label icon with relative path was not displayed in preview dialog
  • Media files are now written to the temp directory if the media file output directory is not writable
Release 4.0.5 (2007-03-01) 
 
New features:
  • New locale: Brazilian Portuguese
  • Added a "Hyperlink label" form component
  • Added option to exclude all signed JAR files from Pack200 compression (General Settings->Media File Options)
  • Placing an empty *.jar.nopack file next to any JAR file will exclude it from Pack200 compression
  • Support environment variables in the names of redirection files
  • Added option to suppress the initial progress dialog of the installer (Installer->Installer Options>Advanced)
  • Window media wizard: added option to fail if the signing command returns an error code
  • Installer: show the last selected directory in any directory selector if the associated text field is empty
  • -Dinstall4j.logToStderr=true makes installers and uninstallers print the log to stderr as well
  • "Run executable" action: added option to log arguments
  • Modify text file actions: added option for escaping the replaced value for usage in a Java property file
  • "Add an executable to the startup folder on Windows" action: added "Create for all users" property
  • "Install files" action: added option to disable file name display during the installation
  • "Add a desktop link" action: added "Arguments", "Icon file" and "Tool tip description" properties
  • API: Added com.install4j.api.beans.PropertyLoggingInterceptor to allows beans to customize the logged values for their properties
  • Improved custom code sample project, shows enumerated properties and sample form component
Bugs fixed:
  • Formatted text field form components: if no input validation expression was defined, these components did not work
  • If compiler variables with path names were used in installation roots, the path separators were not adjusted for the target platform
  • "Install content of a ZIP file" action: ZIP files were not closed, which could prevent the origin ZIP file from being deleted
  • "Installation location" screen: do not append suggested application directory if the selected directory contains the same application
  • Script compiling was very slow, especially if a project contained many scripts
  • When compiler variables were used in a script, backslashes were not quoted
  • The component directory in the media output directory was not emptied at the beginning of a build
  • Window media wizard: fixed problems with spaces in $EXECUTABLE variable used in code signing command
  • Installer: closing the installer wizard on a finish screen offered an option to rollback
  • Size of the splash screen was not updated before compilation
  • Fixed display problems with Windows Vista in both IDE and installer
  • If the running process check was canceled, the "Uninstall success" screen was shown instead of the "Uninstall failure" screen
  • When an action threw a runtime exception, there was no rollback and the uninstall did not work
  • Installer variables were not supported in parameters for localization keys (e.g. ${i18n:myErrorMessage(${installer:errorCode})})
  • Fixed NPE when "Install service" action acted on an excluded service launcher
  • Client VM was not mandated if the JRE bundle was a bundle that contained only the client VM (*_client_only.tar.gz)
  • Fixed problem with multiple concurrent splash screens on Unix
  • "Configurable banner form" screen: custom banner image property was missing
  • "Create start menu entry" action: do not prepend start menu root directory if target file is absolute (e.g. when using ${installer:sys.programGroupDir} in the target file)
  • Mac OS X: do not write installer language into Info.plist
  • Mac OS X: fixed problem with volume detection
  • Mac OS X: fixed problem with application registry and single bundle installers
Release 4.0.4 (2006-12-20) 
 
New features:
  • Actions that use regular expressions: option for quoting values of variables in match and replacement expressions
  • "Add a desktop link" action: added "Create for all users" property
  • "Create a quick launch icon" action: added "Icon file" and "Arguments" properties
  • "Create Program group" action: added "Application categories" property for UNIX desktops
  • "Run executable" action is now called "Run executable or batch file" action and can also execute Windows batch files directly
  • Added installer system variable (sys.logFile) for temporary log file
  • Keep temporary log file if installer quits because of action failure
  • Allow delayed setting of install4j.keepLog system property in the installer
Bugs fixed:
  • SECURITY: password field form component saved clear text to response file, now this is optional, disabled by default and encrypted
  • "Create program group" screen: program group list was not re-populated when the "all users" property was changed
  • "Installation location" screen: selection in directory selector was not synchronized with text field each time it was opened
  • "Installation location" screen: required disk space was not synchronized with selected installation components
  • "Install content of a zip file" action: progress bar information was not correct
  • "Run executable or batch file" action: stdout and stderr streams were not consumed, executables with lots of output would hang
  • "Run executable or batch file" action: installer variables in "Executable", "Working directory" and "Arguments" properties were not replaced
  • "Run executable or batch file" action: if the working directory does not exist, its parents are tried
  • "Show file" action: installer variables in "File" property were not replaced
  • "Show URL" action: installer variables in "URL" property were not replaced
  • "Display text", "Display license agreement" and "Display information" screens: installer variables in text were not replaced
  • "Radio button group" form component: installer variables in "Labels" property were not replaced
  • If the condition expression of the "Finish" screen returned false, the installer did not quit
  • Failure to write a file did not create a corresponding installer log entry
  • Stdout and stderr streams were not consumed when starting installer from build console, installers with lots of output would hang
  • Executing a service launcher with the /start argument on Windows did not return with an error code if it failed to start the service
  • Workaround for some Windows 98 installations where the Windows LAF crashes the 1.4.2 JVM
  • -q and -c installer arguments for quiet and console modes do not have to be the first arguments anymore
  • arguments with quotes in the argument like arg="1 2" were not supported by Windows launchers
  • launchers in archives with spaces in the top-level directory name did not unpack a bundled 1.5+ JRE when started for the first time
  • Custom icon was not displayed for Unix desktop links
  • Mac OS X: the installer variables sys.mediaFile and sys.mediaDirectory now return the location of the DMG archive rather than its mount point
  • External files could be overwritten by add-on installers
  • Icons in update installations were not refreshed on Windows
  • Custom localization keys were not replaced in the preview for form screens
  • Customizable "Program group selection" screen did not work in unattended mode
  • Files for the installer icon were not made relative to the project file
  • Configured custom code could not be used in the Java editor of script properties before building
  • Windows AMD64 JRE bundles were not offered for Windows media files in the "Bundled JRE" step of the media wizard
  • Previous contents of variables of text field components were only used if they were of type "String". Now toString() is invoked on the variable value.
  • Mac OS X: .command file was not included automatically when launcher was included in a component
Release 4.0.3 (2006-11-03) 
 
New features:
  • Support JRE bundle paths relative to the project file for the "Manual entry" option in the media wizard
Bugs fixed:
  • Loading of extensions was broken
  • Fixed stack overflow error when building or saving a project with a specific use of custom code
  • If Pack200 was enabled for the project, it was also used for archive media files
Release 4.0.2 (2006-10-30) 
 
New features:
  • Create response files to allow running installers with pre-defined user input
  • Ability to specify a zip file containing language specific texts for info and license screens
  • Added an "Only if Undefined" property for the "Set Variable" action
  • Allow escape sequences for the "append text" action
Bugs fixed:
  • Fixed issues with multi-language installers
  • Call screen validation expressions and input validators for unattended installers
  • Call input validators for text and combo box form components on next
  • Fixed a SecurityManager issue with shutting down services
  • Fixed a library dependency problem with Java 6 on older Windows versions
  • Fixed customizable banner screens
  • Service actions added to the service screen itself were executed with default values
  • Fixed issues with recompiled custom code files
  • Compiler variables in action failure error messages were not replaced
  • Fixed an issue with the removal of uninstaller entries in the Windows software control panel
  • Program group entries for console launcher were not created
  • Fixed small layout issues for form screens
Release 4.0.1 (2006-10-13) 
 
New features:
  • Added "Remove on uninstall" option to the "Create a symbolic link" action
Bugs fixed:
  • If a component folder was not set to "initially expanded", its selection state was not checked correctly on startup
  • Copying and pasting beans did not work correctly, newly pasted instances could not be renamed and no new ID was assigned to them
  • Non-numeric components in the 4th level of the application version caused an exception in the uninstaller
  • Installer log file was lost if the temp directory was on a different partition than the installer directory
  • "Modify a text file" action did not work if the temp directory was on a different partition than the installer directory
  • Console uninstaller on Unix did not work correctly if a JRE was bundled and not all files were deleted
  • Paths of custom localization files were not made relative if the corresponding project setting was enabled
Release 4.0 (2006-10-09) 
New features:
  • Free configuration of installer and uninstaller screens, see the feature list for a list of available screens
  • Free configuration of actions for each screen, see the feature list for a list of available actions
  • Configurable "Form screens" for designing your own installer and uninstaller screens without custom code
  • Configurable error handling and rollback behavior for actions and screens
  • Possibility to enter custom code snippets in special properties of screens, actions and form components
  • Console installers and uninstallers
  • Multi-language installers
  • Multiple installation roots and "magic" folders
  • Installation component tree with optional component descriptions and dependencies
  • Net installers that download selected components at runtime
  • CD installers with externalized data files
  • Support for Microsoft Vista, including configurable execution level and code signing integration
  • Support for 64-bit Windows launchers that work with 64-bit JREs
  • Extensibility: API based on the JavaBeans specification for adding standard screens, actions and form components to install4j
  • Optional Pack200 compression for all JAR files
  • Redesigned variable system with compiler, installer and launcher variables
  • More flexible uninstallation policies for files, including upgrade-sensitive policies
  • Option for replacing dots with underscores in media file names
  • Show warning if hard drive space is insufficient for the installation
  • File associations on Mac OS X can now be activated immediately
  • Multiple launches through a file association on Mac OS X are now reported by the startup notification mechanism
  • Support for media files larger than 2 GB
  • Many new options for configuring the initial state of installer and uninstaller screens
  • Custom icon and name for the application in the Windows Software Control Panel
  • System properties "install4j.appDir" and "install4j.exeDir" are passed to all generated launchers
  • Add-on installers on Mac OS X and Unix now automatically find the appropriate base application
  • /status switch for service launchers
  • Classpath modifications at runtime with -classpath:, -classpath/a: and -classpath/p: in *.vmoptions file
  • Configurable VM parameters for the installer
  • Start menu entries with command line parameters via the "Create program group entry" action
  • Copy service start scripts to /etc/init.d on Unix, if that directory exists
  • Option to make the installer and uninstaller windows resizeable or fixed size
  • New installation log file that audits all performed actions
  • Custom icon for installer executables on Windows and Mac OS X
  • Option to use selected installed JAR files for custom code that is used after the "Install files" action
  • Components can be excluded on a per-media file basis
  • Installer and uninstaller screens can be excluded on a per-media file basis
  • Desktop icons and start menu integration on Linux/Unix for freedesktop.org-compatible desktop environments (KDE and Gnome)
  • Installation and uninstallation scripts for RPM media files
  • Offer "Retry" option to the user if the installation of a file did not succeed
  • Previous installations on Unix and Mac OS X are now found by the installer
  • Service launchers do not require anymore that the main method returns after the initialization
  • SWT support
  • API: Redesign of the API to reflect the new runtime architecture
  • API: Many enhancements in the installer and uninstaller context (com.install4j.api.context.*)
  • API: Launchers are now accessible in the API (com.install4j.api.context.LauncherSetup)
  • API: Enhanced installer event listener mechanism (com.install4j.api.event.*)
  • API: New API for accessing Unix-specific file system services (com.install4j.api.unix.UnixFileSystem)
  • API: Enhancements for locating installed JVMs (com.install4j.api.windows.JVMSelector)
  • API: Information about the state of previously installed services available from the API (com.install4j.api.ServiceInfo)
  • API: New Application registry for getting information about existing installations (com.install4j.api.ApplicationRegistry)
  • API: Physical memory and free file system space information available from the API (com.install4j.api.SystemInfo)
  • API: Methods for exporting and importing parts of the Windows registry (com.install4j.api.windows.WinRegistry)
  • API: System compiler variables are now also available at runtime
Bugs fixed:
  • /manual switch had no effect for installers with a statically bundled JRE
  • File associations are only performed if the corresponding launcher is actually installed
  • Absolute class path entries for Windows media files did not work when installer were built on Mac OS X
  • Directory chooser for single bundle media files on Mac OS X always appended "Applications" to the selected directory
  • Improved security for Unix launchers
  • Clicking on "Cancel" in the installer did not pause file installation immediately
  • Improved error messages if no X11 server is available for a GUI installer or uninstaller
  • Installation directory setting the the media file wizard was not used as the bundle name for Mac OS X single bundles
  • Compiling RPM media files did not work with IBM JREs
  • Unix service launchers were passed a "start" parameter
Release 3.2.5 (2006-09-24) 
 
Bugs fixed:
  • Do not create symbolic links on Unix if the link directory is the same as the installation directory
  • Timeout when checking for running processes
  • The system variable LANGUAGE_ID could not be overridden from the command line
  • All bug fixes from exe4j 3.1.4 for Windows launchers
Release 3.2.4 (2006-04-24) 
 
New features:
  • .vmoptions files are adapted for cross-platform use during compilation
Bugs fixed:
  • Stopping of multiple services on Unix did not work correctly
  • Absolute classpath entries on Mac OS X were not supported
  • JRE download via FTP did not work on some Unix systems
  • "Scan directory" classpath entry did not work with Mac OS X single bundle archives
  • Directory hierarchies without intermediate files were not uninstalled correctly in some cases
  • If non-US-ASCII characters were used for the installer name on Mac OS X, the installer would fail
  • The custom script file for Unix media files was not resolved relative to the install4j project file
  • The optional launcher checkbox on the "Finished" screen did not work correctly in some cases if installation components were used
  • Better error message on Unix if the X libraries are missing or broken
  • Spaces in RPM names were not supported on Linux
  • Standard JVM search location for HP-UX was missing
  • Prevent overriding system variables from the command line
  • Custom startup handler could not set installation directory for quiet installations
  • Windows launchers: all bug fixes and enhancements from exe4j 3.1.3
Release 3.2.3 (2006-01-11) 
 
New features:
  • Unix installers now work on Mac OS X as well
  • Universal binaries with Intel x86 stub for Mac OS X installers
Bugs fixed:
  • Service installation on Windows left a temporary file
  • Using the Russian locale for the installer lead to an error in the installer
  • Directories with spaces could not be opened by clicking the hyperlink in the build log
  • Fixed problem with external launchers and Unix file modes that lead to NPE at build-time
  • Better strategy to avoid using GCJ on Unix
  • Fixed font problems with JRE 1.5 for Chinese (Traditional)
  • "variablefile" attribute did not work correctly for install4j ant task when absolute paths were used
Release 3.2.2 (2005-11-22) 
 
New features:
  • External launchers are made executable on Unix
  • Download locations for bundled JREs can now contain user variables
Bugs fixed:
  • Launchers now avoid using GCJ/GIJ on Fedora Core 4
  • VM options files (*.vmoptions) could not contain comments on Unix and were not completely fault-tolerant to trailing spaces on Windows
  • Shared JRE installation was not fully rolled back when the installation was canceled
  • Better file association names in Firefox
  • LZMA media files don't work on some older windows 9x machines
  • Windows launchers: all bug fixes from exe4j 3.1.1
  • API: NPE if no JDK is available when calling JVMSelector.getJVMLocations()
  • API: NPE when using WinEnvVars.prependToUserPath() on a non-existing user path
Release 3.2.1 (2005-08-01) 
 
New features:
  • floating licenses: added the possibility to reconnect to the license server if the connection is lost
Bugs fixed:
  • ant task did not work with Java 1.3 and below, it is now contained in a separate jar file (bin/ant.jar)
  • fixed problem with LZMA compression in Mac OS X installers
  • creating Mac folder installers without having a launcher defined did not work
Release 3.2 (2005-07-21) 
 
New features:
  • optional LZMA compression for installers
  • option to preserve file times and dates for installed files
  • Mac OS X installers are generated as DMG files, Mac OS X archives as .tgz files
  • new locale for Simplified Chinese
  • all new features from exe4j 3.1 for Windows launchers
  • for launchers on Windows and Unix a *.vmoptions file in the same directory is read and each line is added as a separate VM parameter
  • API: added setter methods for ServiceSetup
Bugs fixed:
  • Mac OS X folder media sets did not work if no launcher was defined
  • runtime error when disabling the installation location screen
  • for add-on installers on Windows, the uninstaller entry in the "Software" control panel got the add-on name
  • permission problems with startup items in Mac OS X 10.4 (enterprise edition only)
  • user variable substitution in Installer->GUI options->Header image was broken (enterprise edition only)
  • custom header icon was only used for the installer and not for the uninstaller (enterprise edition only)
  • launchers with user variables in their file names could not be selected in installation components
  • redirection problem on Linux (NPE)
  • deletion of used files by uninstaller is now more robust
  • destination and variableFile attributes in ant target did not resolve file names relative to the project base directory
  • some messages were not localized
  • API: WinEnvVars.setUserSpecific did not work correctly
  • API: WinEnvVars.set now throws an IOException if there are insufficient rights
Release 3.1.4 (2005-03-30) 
 
New features:
  • services (startup items) on Mac OS X are now started immediately after the installation
  • service names on Windows can be changed on the command line by passing the name after the /install parameter
  • media file wizard: support absolute file names for manual entry of JRE bundles
  • API: added getApplicationId() and getAddOnInstallerId() methods to com.install4j.api.Context
  • API: added methods to modify selection state of installation components and custom tasks
Bugs fixed:
  • previous installation location was not cleared after uninstallation
  • links for external launchers on Unix were not created
  • changed location of initial temporary directory on Unix to support CD-based installers
  • the "which" command in Unix scripts is not used anymore in order to increase compatibility
  • %INSTALL4J_EXEDIR% ended with a path separator on Windows, but not on Unix
  • the configured VM parameters for a Unix service were also used in the stop script
  • in some rare situations the Windows service manager was not notified when a service was stopped
  • classpath entries were sometimes cut off if they contained environment variables
  • API: StartupHandler.getDefaultInstallationDirectory() did not work correctly
Release 3.1.3 (2005-01-21) 
 
New features:
  • new installer language: Chinese (Traditional)
  • logging for JRE-related startup failures of installers and launchers
  • command line switch for install4jc to enter a license key without the GUI
  • added several warnings about possible inconsistencies
  • API: added new path modification methods in com.install4j.api.windows.WinEnvVar
  • generated installers now fully support multi-byte character operating systems
  • optional Mac OS X document icons for file associations
  • possibility to use user variables in text field for the add-on application ID
  • print instructions for dynamic bundling during build
  • JRE bundle wizard now packs jar files with JSR-200 method for 1.5 JREs
Bugs fixed:
  • links to unselected components were created during installation
  • fixes for the Korean and Japanese locales
  • icon for console launchers were not displayed when started from the Windows start menu
  • scan directory classpath entry could include too many files
  • fixed problem with dynamic JRE download via FTP on Solaris
  • relative symlinks to launchers did not work
  • fixed "Too many open files" problem on Linux
  • internationalization improvements for Mac OS X bundles
  • excluding a directory excluded other files that started with the same name
  • executable name in launcher wizard and component view were not always synchronized
  • installer launched application in temp directory instead of installation directory
  • more robust loading of statically bundled JRE
  • workaround for JRE bug with the classic theme of the Windows XP look and feel
  • various bug fixes in the GUI
  • API: com.install4j.api.windows.WinAssociations.getExecutable() was broken
  • API: com.install4j.api.Util.showUrl() was not static
Release 3.1.2 (2004-11-22) 
 
New features:
  • full support for Unicode on Windows
  • allow user variables for application ID
  • replaced InitHandler with a more powerful StartupHandler
Bugs fixed:
  • fixed issue with dynamic 1.5 VM bundles on Linux
  • fixed installer script for Gentoo Linux
  • improved version display for installers and entries in the software control panel on Windows
  • improved visual appearance of installers with GTK L&F
  • fixed startup notification issues when opening multiple files concurrently
Release 3.1.1 (2004-11-11) 
 
New features:
  • added createShellLink method in com.install4j.api.windows.WinFileSystem that supports arguments
  • added fatalError method in com.install4j.api.Util
Bugs fixed:
  • fixed problem with very long display times for installers when Norton Auto-Protect is enabled
  • fixed visual feedback during rollback
  • fixed problem with startup notification when multiple files where opened at the same time
  • improved error handling for Unix installers if the file is corrupted
  • could not enter user variables for both minimum and maximum Java versions
  • improved handling of HTML in license screen of generated installers
Release 3.1 (2004-10-21) 
 
New features:
  • separation of media file types into "installers" and "archives"
  • new archive types: Windows archive, Mac OS X single bundle archive, Mac OS X folder archive
  • all new features from exe4j 3.0 for Windows launchers
  • much improved update awareness
  • possibility to create "add-on" installers to distribute patches and plugins
  • smaller JRE 1.5 bundles by supporting JSR 200
  • possibility to use user variables in the definition of the distribution tree
  • API enhancements and sample code for all custom extension types
  • option to suggest previous installation directory on update
  • option to run the uninstaller before updating an existing installation
  • optional creation of desktop icons on Mac OS X
  • possibility to determine if a file association is intended for Windows and/or Mac OS X
  • Unix launchers: creation of redirection files on demand
  • Windows installer: option to prompt user for reboot after uninstall
  • Windows installer and uninstaller: check that application is not running
  • new application preferences dialog: selectable look and feel, custom browser start command, open last project on startup
  • manual entry for JRE bundle selection in the media file wizard
  • API: custom actions can now force a reboot
  • API: installer context provides access to program group information
  • API: new class com.install4j.api.JVMSelector
  • API: enhancements in com.install4j.api.windows.WinRegistry
  • API: enhancements in com.install4j.api.windows.WinFileSystem
  • API: enhancements in com.install4j.api.windows.WinEnvVars
  • API: user variables are now available in custom extensions through the installer context
  • API: all custom extensions now have an installer context
Bugs fixed:
  • fixed several minor GUI problems under JRE 1.5
  • quotes did not work for VM options on Mac OS X
  • single class custom code entries contained in packages did not work
  • returning false in InitHandler custom extension could produce unexpected behavior
  • version wasn't added to the application title in the Windows system control panel
  • admin privileges were not always correctly required in the media file wizard
  • language should be a top-level entry in the media file wizards
  • X-server exception on Unix is now converted to a more user friendly error message
  • %INSTALL4J_EXEDIR% system variable could not be used in arguments for a launcher
  • removed fallback error mechanism for statically bundled JREs
  • update for statically bundled JREs was not safe
  • patch level JRE version requirements were not supported on Unix
Release 3.0.3 (2004-09-17) 
 
Bugs fixed:
  • possible build failure when using jar files for custom code
  • Unix GUI installers: when "shared JRE" option was selected, admin privileges were always required, even if no JRE was bundled
  • definition of the distribution tree: excluding a file or directory excluded other files or directories starting with the same name
  • Unix launchers returned zero exit value if exception was thrown in main thread
  • temporary directory for JRE was not deleted when compiling Unix installation archives
  • trees with check boxes behaved strangely with JRE 1.5
Release 3.0.2 (2004-09-03) 
 
New features:
  • the InstallerContext now has a getInstallationComponents() method
  • the new overwrite mode "always ask, including update" in the distribution tree wizards also asks before overwriting previously installed files
  • getDefaultInstallationDirectory() was added to the InitHandler class in the install4j API.
Bugs fixed:
  • it was not possible to enter user variables for the Java minimum and maximum versions
  • it was not possible to enter underscores for the JRE version in the JRE bundle creation wizard
  • Unix launchers did not correctly pass command line parameters with spaces
  • for Unix launchers, it was only possible to pass a single VM parameter with INSTALL4J_ADD_VM_PARAMS
  • com.install4j.api.windows.WinRegistry.deleteValue() did not work in some situations
  • JRE bundle wizard could create faulty bundles that lead to a crash in installer
  • "." as the directory for a generated launcher did not work on Mac OS X and on Unix
  • incorrect locale identifier "cs" instead of "cz" if Czech was selected as the installer language
  • in the Unix installer, "/opt" was suggested even if that directory was empty. "/usr/local" is now suggested in that case instead.
  • internal install4j image files were omitted on non-windows platforms when components were used. Splash screens were not shown in that case.
  • generated launchers were not updated in the distribution tree when you changed their directory in the launcher wizard.
Release 3.0.1 (2004-08-13) 
 
New features:
  • option whether to use beta JREs on Windows or not
  • on the JRE versions tab, you can now specify patch levels like 1.4.1_01
  • emit warning during build if installation components are defined and there are files that are not included in any component
  • launchers are now visible in the result tree of the files step and can be selected in the installation component definition
Bugs fixed:
  • backslashes did not work in variable values
  • standalone javadoc documentation was missing

© Copyright 2001-2009 ej-technologies GmbH Terms of Use