Release Notes for 7.x Versions
- Added methods to the OS API which installs an executable as a service on Windows and SystemV Linux distros.
- Added LinuxServices API which allows launchers to be installed as service on SystemV Linux distros.
- Added 2 examples showing how to have all menus with AutoStart set to be configured as a service.
- Set the cursor to the end of the PIN field if the email field has content when prompting for CopyCheq credentials.
- Allow the user to retry sending credentials
- Removed the un-editable text field from the Custom panel's tabs.
- Changed the layout of the download web page automatically generated.
- If updater created on a different OS than it runs and there are new jar files, adjust the classpath's file and path separators.
- If click free updater and the updater was updated, show message that the user should restart the updater.
- If click free updater, change the timing for updating the updater and exiting the updater.
- Improved algorithm when updating after an earlier session was interrupted.
- Fixed a bug with the update-on-demand when the updater does not update itself.
- Added a custom class which can be adapted to start app after update-on-demand finishes.
- Delete the desktop icon for the update on demand on unix.
- Catch an UnknownHostException when a unix system doesn't have the 'host' file configured.
- Improved manual layout.
- Do not report the uninstaller on Windows 7 if it's unable to remove the JRE.
- Moved the check box for adding test icons from the Test panel to the Build panel.
- Include the check box for adding test icons on the Wizard's Build panel.
- Create desktop icons to test installers.
- Update the uninstaller, including custom classes.
- Merge the custom uninstall classes into the uninstaller.jar
- Add a Back button in the Advanced interface.
- Enable the Back button in the Wizard interface after a project is built.
- Make the Next button on the JExpress installer appear disabled when it is.
- Remove the black border in Windows installers.
- Rounded the JExpress desktop icon.
- Disabled the Back button on the JExpress trial installer on the first panel.
- Changed "Software Protection" back to "Copy Protection" to avoid confusion.
- Don't allow a subproject or "jar only" project to be opened in the Wizard.
- Get the update url for the Updater from the JExpress/jex.control file if it exists.
- Fixed a timing bug in the Updater.
- Prompt user for preferences the first time JExpress starts.
- Only save the changed classpath in the updater's properties on disk.
- Defaulted 'Styles of buttons' to 'Text only'.
- Optionally enable and disable icons in JExpress.
- Defaulted 'Show icons' in JExpress to off.
- Optionally enable and disable asking for project on startup of JExpress.
- Changed 'License Tracker' to 'Software Protection'.
- Changed 'Menus' to 'Launchers'.
- Made current list selection not scroll off when changed.
- Added 'New' button to the JExpress launch dialog.
- Let the user define the name of the project when they start a new project.
- Changed the Custom panel's buttons and made the text fields read only.
- Only allow JEX files to be selected when browsing for a project.
- Display help in default browse on Windows, instead of java's text field.
- Upgraded to use CopyCheq API 1.0
- Include Update, Change log, Buy now, and Prices menu items.
- Show the installers to build in a vertical list, instead of a horizontal one.
- Show the end user file layout even if files are missing from the Select files panel.
- Default the 'Location of class files' on the Custom panels to the directory where the first custom class is.
- Only pack jar files if larger than 2 Megs.
- Disable the Upload check box on the Build panel if no data in the Upload panel.
- Fixed a threading issue when closing JExpress if unable to save the project.
- Support updates for non-java apps.
- Handle if Updater is interrupted while updating itself.
- Decide how to handle license tracking if unable to connect to server.
- Upgraded to use CopyCheq API 0.4
- Fixed a bug in getting permissions in UnixCommands.
- Allow native installers to work on Mac OS X 10.7.
- Default checking license server during install to false.
- Do not use GetShortPathName which speeds up installers on some Windows machines 2-5 minutes.
- Let user enter proxy settings if unable to connect to internet.
- Fixed using the proxy server during installation.
- Allow JExpress customers to select the install directory for JExpress.
- Sped up updates significantly; the more files need updating, the bigger the impact.
- When end user starts installer with silent switch on the command line, do not start app afterwards.
- Warn if all the icon files aren't present when creating a new menu.
- Clarified the parent directories for the default install subdirectory.
- Don't check for inappropriate error conditions when building a subproject or jar.
- Removed trailing ampersand in uninstall scripts on unix.
- Use Apache's implementation of Timothy Gerard Endres's tar library.
- Handle filenames longer than 100 characters.
- Preconfigure all trial users with a shared guest account for CopyCheq.
- Set whether to automatically determine which language to use or not.
- Set the default language in the Updater and Uninstaller.
- Improved European translations.
- Allow "click free uninstaller" which verifies user wants to uninstall.
- Create a transparent background for the updater.
- Upgraded to use CopyCheq API 0.3
- Disable Test button on Windows 7 and Vista unless user installs Elevate program.
- Round frame's corners if frame does not show title and close box.
- Show original CopyCheq credentials if present and let user confirm before proceeding.
- Resolved an intermittent challenge changing the Build classpath while finding classes.
- Remove "Testing" message after a few seconds from Build panel.
- Warn user that Synth look does not allow images in the background.
- Fixed a bug with the auto-updater.
- Report when update-on-demand finishes.
- Support Nimbus, Synth, and NimROD look and feels.
- JExpress Builder uses Nimbus' look, if available.
- A Test button on the Status panel lets you test an installer from inside JExpress.
- Click free installers have the option of aborting or not if default install directory can't be created.
- When click free installer can't use default install directory and installer not configured to abort, then user prompted for install directory.
- Faster load time for the installer.
- If credentials fail when starting JExpress, prompt for updated credentials.
- Improved auto progress bar.
- Fixed a bug running with Java 1.5 in version 7.8.7
- Accept file:// as the prefix for the update url which accesses the local file system.
- JExpress now requires a minimum of Java 1.5.
- Support 3 styles for the installer, updater, and uninstaller: wizard, click free, and silent
- Trimmed 10-15 seconds off most installers.
- Smoothed out and sped up progress bar.
- Support displaying installer's image in the background.
- Optionally don't include the frame around the installer, updater, and uninstaller
- Support setting the colors of the background, text, and progress bar (when the L&F supports it)
- Browse for executable file to use in a menu.
- Create a desktop link to any preconfigured executables on Mac.
- Improved error messages when using a non-standard organization.
- In the Advanced interface, display the Build Run panel, not the Status panel if the Status was the last active panel.
- Display a reminder how to refine the files included in from a directory.
- Improved the messages about what files are included in a directory on the Files Select panel.
- Now a Back button on the Status panel returns to the Build panel in the Advanced interface.
- Create a desktop link on Mac to a non-java app
- Make non-java app menus executable on Mac.
- Upgraded to use CopyCheq API 0.2
- Live license tracking
- Support a "no ask" installation.
- Build installers that always install silently.
- Show more details when JExpress detects errors during Build.
- Fixed an 8 level recursion that caused a stack overflow in WindowsUtils (version 7.8.4 only).
- On Win 7/Vista machines, install JVM in a subdirectory of Program files not Documents dir.
- Hide the JExpress subdirectory and Uninstall.exe on Windows
- Handle installing the jvm into the [$ProgFilesDir] or [$WinDir] subdirectories on Windows.
- Integrated JExpress with CopyCheq.
- Added PanelNames to the Installer and Updater APIs.
- Optionally, delete obsolete files during updates.
- Increased the memory allocated for java arguments.
- Accept colons in unix filenames.
- Changed the list of possible solutions if the native installer doesn't start.
- Added a Deploy section to the Advanced interface which includes License tracker, Upload, and Auto update.
- Hide JExpressWinAPI during install.
- Optionally, set the file permissions if installer built and installed on a unix computer.
- Added UnixCommands.getPermissions() method to JExpress API.
- Change [$ProgFilesDir] variable into the target's local Program files directory.
- When re-installing on Linux with a jvm that is always installed in a predefined directory, don't lock up.
- If a project saves its platform settings in a custom location, create the subdirectory tree as needed.
- Clear the old platform settings before loading a new project.
- Fixed a bug that prevented a native Linux installer from starting on the command line in the current directory.
- Do not add an extra CR to text files on Windows.
- Support splash file displaying in a Java app running on Mac OS X.
- Allow a native Linux installer to be launched from any directory.
- Changed the warning about configuring the menu with the -jar switch.
- Move the Submenu field to the top of the Menus panel.
- Added OS, SwingCheckerThread, ButtonsIcons, and AbstractFeedbackPanel to the API.
- Do not require Windows have 8.3 filename support enabled.
- When close button used in uninstaller before uninstall finished, allow user to rerun uninstaller.
- On Windows, when user starts Java wrapper with command line parameters with spaces, pass on the parameters with quotes.
- Control whether JExpress builds x32 and/or x64 native installers by setting custom properties.
- Increased maximum installer size from 2G to at least 4G.
- Fixed silent installation on Windows and Linux.
- Handled a quirk in running the native Windows installers from the command line with simple names.
- Solved a challenge running native installer on Windows XP as administrator.
- Don't add the temporary installation of the JVM to the registry.
- Fixed a bug in Windows native installer if installer unable to start.
- If a temporary directory found from a previous install, remove it.
- No longer require Rosetta be present when you create a Mac installer on a non-Mac computer.
- Include both Intel and PPC JavaApplicationStubs in the distribution.
- Improved algorithm to find JExpressWinAPI when running JExpress Builder.
- Fixed a bug translating variables in the extra JVM parameters on Windows.
- On Windows, do not set the attributes when uninstalling menu links or the install dir.
- Remove jvm bundle when uninstalling the trial version.
- JExpress now works with OpenJDK.
- Sign Windows menus for java apps when user supplies a certificate and command.
- Disable JExpress Builder when its Updater launches.
- Show help in the Wizard for the Welcome panel.
- Display a reminder where to move JVM bundle created by bundlejvm.jar
- Include the architecture in the name of the jvm created during installation of JExpress trial.
- Copy the JVM bundle from the JExpress install directory to the JExpressBuilder's platform directory on Windows Vista/7.
- Don't display warning if escaped colon (e.g., \:) included in JVM extra parameters.
- On Windows 7 and Vista, remove the folder for a menu during uninstall.
- Set the original file's time stamp if custom class sets the installer's property named SetLastModifiedDate to true.
- Improved support for Windows Server 2008
- Fixed an intermittent bug that caused the installer to run in XP mode on Windows 7.
- If the user clicks the Close box on the popup window warning that the install directory exists, the user can select another install directory.
- Changed the default name of the Linux installer to use dashes instead of periods.
- Delete the interim compressed file if the user clicks the close box while installing files.
- Show a minimized icon, defined in the project, in the installer and updater.
- Allow the updater to run silently when -q passed as first parameter.
- Fixed auto-starting an app on Windows as the current user.
- Escape special characters, such as ampersand, in Mac Info.plist.
- Add and delete a non-java app configured for all users on Windows.
- Added icon to the custom class which creates Windows uninstaller menu item.
- Fixed a bug in native installers when an S or Q was preceded by a space in the Application name.
- Removed the extension of the native Linux and Solaris installers.
- Improved support for Ubuntu and Knoppix.
- Disable "Run as admin" check box if menu is not a java app.
- Specify which architecture of JRE is required on the download page.
- Added icon to Windows uninstaller control panel item.
- Fixed a bug that failed to build if an icon for Windows didn't exist.
- Added more exception handling in the Windows API interface.
- On Mac, handle auto updating an app with spaces in the classpath.
- Don't hang after uninstalling silently.
- Handle auto starting an auto-updated menu on Windows.
- Don't show an error message if a silent install fails.
- Disable the Cancel button while files are installed and uninstalled.
- Default the Cancel button to disable in any class extending StatusPanel.
- If the JRE is not found and not included in the installer on Windows, suggest the user install it and restart the installer.
- Fixed parsing parameters with embedded spaces.
- Report the uninstaller was unable to uninstall an app installed with administrative privleges by a non-administrator when UAC is disabled.
- On Windows 64 systems, use .NET's 64 bit tool to install/uninstall Windows services.
- Create 64 bit native Windows and Linux installers.
- Remove the install directory on Windows at the end of uninstall, instead of on reboot.
- Change how the uninstaller is launched on Windows.
- Remove trailing dash in installer names, if no version specified.
- Fixed auto start menu items on Windows 7.
- Removed support for jna -- not reliable on Windows 7, 64 bit machines.
- Fixed creating Windows menus with submenus for administrators.
- On Windows, include the submenu when telling the user how to start your app.
- On Mac, remove the desktop icon if a submenu specified.
- On Unix, if JVM installed in subdirectory of install directory, set the permissions to executable.
- Added a Next button in the Advanced interface.
- Delete files that are no longer distributed during an update.
- Include the menu configurations and the user classpath in jex.control file so custom update classes can access this data.
- Configure menus for all users on unix systems with Gnome or KDE installed.
- Improved support for Gnome menus.
- Warn user if script name and executable filename are the same for a non-java app.
- Don't update the classpath for the auto-update nor the update-on-demand menus.
- Always update the classpath in update.control if new jar files added.
- Automatically set the "auto-update" menu checkbox if none selected, but user opted to auto-update.
- Clear the build directory field when starting a new project.
- Highlight an item after it's been added to the Files, Menus, or Classpath list.
- Changed the management of platform properties so now only unique attributes are saved in the custom.platform.properties.
- If a previous install directory is no longer valid, suggest the standard default install directory.
- Optionally, add a desktop icon to Linux machines with Gnome, KDE, or Xfce installed.
- Add desktop icons directly on the desktop, not a folder, even if a submenu was specified.
- Sign Windows and cross platform installers if command supplied.
- Use JNA to interface with low level Windows calls.
- Added a dynamic window to see how the install directory's organization in the Advanced interface.
- Added a button to view the install directory layout from the Wizard.
- Added a View button to see which files are being added from a local directory.
- Added an Edit button to change which files are being added from a local directory.
- Added unattended properties for changing the update url and upload directory.
- If none of a menu's icons exist while building installers, report an error.
- Moved the buttons on the Menu's panel.
- Disable the auto update button for a menu if it's not a java command.
- Warn the user if they tried to create an Updater without any menus.
- Fixed installing the jvm on Linux
- Re-enable menu buttons if user cancels adding a menu
- Set temp dir on Mac to handle an intermittent Apple bug when starting app as admin
- Limit running as admin on Mac to 10.5 or later
- Handle installing Windows menus in submenu for all users
- Allow the full path for the installer's properties to be passed on the command line.
- Save the full path to the properties file if silent install.
- Fixed an intermittent bug when setting the default directory on unix.
- Changed the name of the program that interfaces with Windows (e.g., registry, menus) to avoid confusion with a similarly named trojan.
- Added a tool to create JVM bundles on different OSes.
- Added support for custom platform property files.
- Fixed a bug when extracting text file with Japanese characters.
- Show details where JExpress stored the installers on the Status panel in the Advanced interface.
- Menus not associated with any component are now always installed.
- Allow a menu to be installed on Mac if only the script name is provided.
- Handle silent installs on Windows when properties file passed on the command line.
- Install all associated menus with any selected component.
- Compiled Mac admin programs for backward compatibility with Mac OS X 10.4.x or 10.5.x.
- Support running a program as administrator on Mac OS X 10.4 or later.
- Support running the installer as administrator on Mac OS X 10.4 or later.
- Add the ability to enter the parent default install directory for each major platform.
- Support specifying the user's home directory as part of the default install dir.
- Fix creating a menu item in a subdirectory of the installer.
- Update the translations.
- Allow EXEs created by JExpress to be signed with your certificates (testing version).
- Default the install directory on Mac to /Applications, if it's 10.2 or earlier.
- Fixed a bug on Windows if you had multiple menus with the auto-updater.
- Handle when some menu items being auto-started and others not.
- Show the required JVM version on the download page if native Mac installer built.
- Added a scroll panel to the Wizard's final status panel.
- Do not report an error in the Wizard if custom uninstaller classes don't exist.
- Fixed configuring a menu item in multiple sub-folders.
- Resolved a challenge with the trial version expanding correctly on Mac OS X.
- Added Support panel so users can send messages requesting help.
- Changed the Advanced interface to use a menu instead of tabs.
- Detect if there's nothing to do when Build button clicked.
- Fixed a bug starting a java app with the console visible on Windows.
- Include Pack200 and Unpack200 classes.
- Added removeWindowsService() to CustomUninstaller in JExpress API.
- Use InstallUtil, when available, to install Windows services.
- Added custom class to install auto startup menus as services.
- Use PNG file as icon for Windows menu if ICO file not found.
- Renamed the following panels in the Advanced interface
Appearance to Layout; Groups to Organize; Distribution to Upload; Messages to Status; and Classes to Java classes
- Added titles to the panels in both the Wizard and Advanced interfaces.
- Show the current look and feel in the menu on startup.
- Fix bad links in manual when viewed in some JREs.
- Start the installed program at the end of the installer.
- Optionally, disable adding desktop shortcuts to Windows and Mac.
- Select which menu item(s) will start the auto-updater.
- Configure menus to automatically start on login.
- Configure menus for all users on Windows.
- Support runing a program as administrator on Windows.
- Support runing the installer as administrator on Windows.
- Added CreateLink() to WindowsCommands in the JExpress API.
- Added ln() to OS in the JExpress API.
- Fixed a bug with the Windows menus.
- Changed the order of the parameters in the WindowsMenus API for some of the addDesktopShortcut methods.
- Automatically delete the Hello World build directory when uninstalled.
- Fixed a bug in the updater's manifest if updating Updater.
- Re-enabled logging to jex.log, if present.
- Added Update button to JExpress trial.
- Require admin privileges when auto-updating on Windows 7 and Windows Vista if app installed in Program Files dir.
- Fixed changePermissions() on Windows.
- Use followRedirections and followPermanentRedirections from the updater's configuration to decide if the updater should retrieve files from redirected locations.
- Support UAC in Windows 7 and Windows Vista.
- Interface with DeNova Convert.
- Erase the errors.log when JExpress Builder starts.
- Automatically update JExpress trial copies during the evaluation period.
- Use radio buttons on Appearance panel for Installer/Updater button selection.
- Fixed displaying the correct default language in Builder.
- When configureWinRegistry is set to false, registry entry is not added for the uninstaller.
- Admin privileges not required to install on Windows 7 and Windows Vista.
- Worked around an internal java runtime error during unattended builds.
- Get the name of the cross platform installer from Pure Java/platform.properties.
- Determine the name of the Java Web Start installer from Java Web Start/platform.properties.
- If no project is defined on startup, default to Hello World.
- Fixed a bug creating the Java Web Start jar file.
- Added hideFile and normalFile to WindowsCommands API.
- Added indeterminate progress bar when creating JVM bundle.
- Copy only the platform.properties and JVM to custom platforms tree.
- Sped up installer.
- Improved the status bar for installer and uninstaller.
- Overwrite version info in registry instead of appending to it.
- Copy error log to install directory if unable to copy it to starting directory.
- Leave the launch dialog visible until the Wizard or Advanced interface appear.
- Improved the status bar for updater.
- Close auto-updater window when user cancels.
- Fixed updater bug that prevented all files from being updated.
- Use drop down list of default languages instead of radio buttons.
- Launch JExpress Updater from Builder on non-Windows and Mac machines.
- Fixed a bug when unable to find matching JRE on Windows and JRE not included in installer.
- Installer asks the user if they want to install an older version in a new location or overwrite the newer version.
- Include the full path in the AppCompatFlags Windows registry entry on Vista and 7.
- Added isWindows7 method to API.
- Support building new native mac installers on non-Mac environments.
- Fixed uploading feedback in uninstaller.
- JExpress Updater supports SSL/TLS connections.
- Shows suggestions about how to fix build errors in the Messages tab when using the Advanced interface.
- Selects the most recent JRE that matches the installer's criteria on Windows.
- Changed the locations where the persistent storage is maintained.
- Includes check boxes in the Advanced interface to support saving the environment and checking the version.
- Removed reference to the errors log if an error occurs while updating.
- Create native Mac OS X installer from the Wizard interface.
- Enabled log in gzip class when building a project.
- Show the product name for the native Mac installer in the Doc and title bar.
- Fixed the table of contents menu.
- Make links in manual work on Windows.
- Changed the default locations to store the uninstaller jar file on Mac and unix.
- Removed delays in the progress bar in the installer.
- Do not include the trace back in the Messages panel when a Build fails.
- Verify that pack200.properties exists before packing jar files.
- Check that a Pack200 compatible JVM is running when building only the cross platform installer.
- Added com.denova.JExpress.JExpressPropertyStore to the customization API.
- Changed package name from com.denova.JExpress.Build to com.denova.JExpress.Builder.
- Saves the version and application directory in persistent storage area, optionally.
- Warn if previous version is more recent than version being installed, if desired.
- If previous version installed and persistent storage used, default install directory to previous directory.
- Fixed a bug in WindowsMenu API when deleting desktop icons.
- Changed buttons to Overwrite and Try Again when user selects an existing install directory.
- Changed buttons to Stop Now and Continue when user cancels installation.
- Find the most recent JVM, instead of oldest, on Windows that fits specifications.
- Allow the author to contain 2 lines (use \n to separate lines).
- Report the correct JVM requirements if matching JVM not found.
- Handle out of memory errors when packing/unpacking files.
- Configure JExpress to use 256M of heap.
- Configure executables on Windows Vista to run as admin.
- Fixed the suggested directory name for multiple components.
- Improved the AutoStartMenu class in the Samples directory.
- Improved Spanish translations.
- Changed the example ant build files to reference JExpressAdvanced.
- Changed the url for the table of contents.
- Fixed a null pointer when creating a menu without an icon.
- Added support for simplified and traditional Chinese.
- Use Pack 200 to compress distribution files, if developer wants it and they have JRE 1.5 or later.
- Do not display a default image if the developer leaves the image filename blank.
- Allow the developer to disable using icons in the installer and updater.
- Save the icon name in the updater's property file as a relative to the install directory.
- Remove jar files from classpath in update.control if file no longer exists.
- Fixed a race condition when running JExpress unattended.
- Added a launchApp method to the installer's API.
- Automatically find package name of custom classes.
- Alphabatize the list of files in a project.
- Disable buttons on Group panel when standard installation selected.
- Simplified customizing uninstaller to send feedback.
- Fixed a bug launching Linux native installers.
- Significantly improved the speed of the Updater detecting if there's a new version.
- If an autoupdater has any errors, report the errors to user and then start the older version of the app.
- Advanced interface lets developer decide if the updater displays overall progress or file by file progress.
- Added the option of building a jar file, with complete manifest.
- Show only the file name being updated when the updaters shows file by file progress.
- Improved finding existing JVMs installed on Unix systems.
- Fixed silent installs.
- No longer clear options after saving project with a new name.
- Fixed a bug loading the JVM requirements for a Windows java app.
- Changed OS X and Linux scripts to handle args with spaces (#!/usr/bin/env bash and "$@").
- Added icon for the uninstaller.
- Support launching Updater with com.denova.JExpress.Updater.JUpdate main classname. The JUpdate class has been deprecated and is currently included for backward compatibility only. JExpress customers should update their customers to use com.denova.JExpress.Updater.JExpressUpdater asap.
- Add the standard extensions to the icon's basename, even if the file ends with the correct extension but doesn't include the period
- Include a default install.jpg for the installer (this file was missing in 7.1.7).
- Report if unable to create the build directory or one of its subdirectories.
- Show more details if error detected creating web pages.
- Fixed adjusting the basedir when a user changes it from the Files tab.
- Fixed adjusting the icon pathname when the basedir is changed on loading a project.
- Set the executable bit true, after installing the jvm on Linux.
- Accept distribution url's that contain spaces.
- Changed generated web pages so they do not use iframes.
- Replace radio buttons with push buttons on JExpress' welcome dialog.
- Fixed silent installs.
- Use blueprint.css in formatting webpages.
- Fixed unattended build directory when passed on command line.
- Display new project settings more smoothly, quickly.
- Create sub-tabs on the Custom tab so there's one place to enter custom classes.
- Specify custom classes for uninstaller through gui
- Enter custom classes by selecting them instead of just typing the full classname.
- Fixed bug in adding custom classes to the updater.
- Accept custom classes that have setActive() methods with 2 parameters for backward compatibility.
- Improved tutorials.
- Added state info to SwingWorker and Swinger.
- Improved javadocs for API.
- Changed logo.
- When selecting a file in JExpress, default directory to last directory used.
- Automatically find a new JRE for your app on Windows if the old one is removed.
- Faster installation.
- Added anti-aliasing to all fonts.
- Don't add uninstaller to registry if the command contains non-US ASCII characters. Users can double click on the Uninstall.exe in the application directory. And, you can add the uninstaller to the Windows menu through a custom class (see the WinUninstallMenu class).
- The uninstaller supports a -d switch followed by the full path for the application to uninstall.
- Don't save the user interface or current project name if "Update JExpress" selected when starting JExpress.
- Changed cloader's name to installer for Windows and Mac; changed platform.properties files to match.
- Made installer much smoother.
- Added listeners to WizardPanels for notification of Wizard events.
- Add desktop icon to Windows for every menu item defined.
- On Windows, the uninstaller deletes the application directory if empty, the next time the system boots.
- Fixed several layout errors in Wizard and Advanced build interfaces.
- Improved standrd font choices, especially for Windows.
- Added start-of-row tracking to GridBagControl, which fixed addVerticalSpace() bug.
- Don't cache buttons, just icons. Caching buttons created a bug when there were multiple buttons with the same name (e.g., Browse)
- Specify where uninstaller custom classes are found. All files from the specified directory are automatically included in the uninstaller.
- Specify where the platforms parent directory is.
- Select whether to update JExpressUpdater.jar during an update.
- Dialog boxes in JExpress show OK | Cancel | Help buttons in native OS' order
- Create JVM from an installed version.
- Display context sensitive help in JExpress in the center of the screen.
- Changed names of methods in com.denova.ui.Swinger class and added Swinger to the API.
setActive()and replaced it with
- Merged Builder and Developer.
- Changed the name of installer files created. Now all installers are stored directly in the build directory's installers subdirectory instead of the platforms subdirectory. Also the names are based on the application's name, platform, and version. Note to existing customers: If you create your own html file for your download page, you'll need to adjust the names appropriately. You might want to create your own page which includes the download.html as a frame or a server-side include to minimize work when you create a new version.
- Create a single index.html that includes jump points for all the installers.
- Use the installer's image in the index.html.
- Calculate the file size for each installer and include the details in the index.html.
- Launch the updater for JExpress from inside JExpress instead of a menu item.
- Accept multiple selections when adding items to Files, Classes, and Groups tabs.
- Specify where custom classes are found. All files from the specified directory are automatically included in the installer/updater.
- Standardized fonts.
- Changed license panel in installer to require checking "I agree" to continue.
- Fixed bug so if the project's basedir didn't exist in an unattended build, the command line basedir overrides the project's basedir
- Fixed a bug for the default install dir in multi-component installers.
- Updated the Samples to use the submenu.
- Re-organized JExpress' own application directory.
- Fixed a bug when building a project with native installers, but the jvm is missing.
- Eliminated JExpressLoader package and the load class.
- Fixed a bug so the update-on-demand menu is uninstalled for a multi-component installer.
- Clear custom updater classes when starting a new project.
- Don't prompt when user clicks the Exit button in the wizard for JExpress.
- Fixed some race conditions in the installer.
- Changed all standard diagnostic log names to use all lower case and renamed a few.
- Don't add custom uninstaller classes to the full version of JExpress.
- Submenus added to KDE's predefined menu structure.
- KDE desktop filenames have spaces stripped to handle bug in KDE menu system.
- Developers who customize no longer need to create a new thread in WizardPanel.setActive().
- Deprecated ui.WizardPanel.get<Button>() for most purposes.
- Changed the name of the updater's main class to JExpressUpdater.
- Changed the name of the uninstaller's main class to JExpressUninstaller.
- Cache button icons.
- Prevent type ahead in the wizards.
- Don't enable Next button until all field initialized in the wizard.
- Use html to display long text messages.
- Only display 1 progress bar in the updater.
- Created a SwingWorker class that is compatible with Java 1.6, but works in Java 1.4 and 1.5
- Created SwingCheckerThread so it's easy to find where Swing is being invoked outside the Event Dispatch Thread (i.e., Event Queue).
- Created Swinger class so you can easily provide feedback to the user, do work in the background, and then provide additional feedback in a thread safe way.
- Use Swinger and SwingWorker in installer, updater, and uninstaller for increased reliability and speed.
- Fixed an intermittent bug in Windows menus when there were args passed on the command line.
- Removed the "Preparing installer wizard" popup message when installer loading.
- Changed several fields values in the platform.properties files.
Note to existing customers: If you are using 7.1.2 or earlier, please read the notes about later versions.
- Added a Project Save panel to Builder which suggests a project name.
- Created a Font class for consistent fonts.
- Improved word wrapping in dialogs and popup messages.
- Removed spaces in KDE menus to work-around a KDE bug.
- Make Next or Install button the default on each install panel so when you type Enter you move to the next panel.
- Don't pass 2 panels when you type Enter in the installer.
- Place cursor in first text field of each install panel.
- Allow the install engineer to define the name of the submenu(s), if any.
- Added recent projects to the Files menu.
- Added Back button to the context sensitive help.
- Uninstaller now supports [$UserHomeDir] and [$JavaHomeDir] variables.
- In Developer made Build button default on Build panel.
- Fixed a bug introduced in 7.1.1 that wouldn't allow the build directory to be a subdirectory of the JExpressProfessional directory.
- Relative pathnames let developers share projects.
- Simplified project selection dialog.
- Launch JExpress Builder after installing JExpress Professional.
- Add icon to Windows desktop after installation of JExpress Professional.
- Prompt user if base directory doesn't exist on this system.
- Drop down list of recent projects in selection dialog.
- Use java dialog box, instead of a browser, to display context sensitive help.
- Don't prompt user for the location of the browser.
- Use san-serif to display JExpress' license.
- Incorporated data in JExpress readme files into the manual.
- Eliminated readme dialog from installer for JExpress Professional.
- Changed the Product tab in Builder/Developer to Welcome.
- Changed the Product name field to Application name.
- Removed left over support for JExpress Basic.
- Changed the Base path field name to Base directory.
- Show tool tips for the Advanced File Options dialog.
- Display tool tips near the field instead of the bottom of the tabs.
- Accept buildir or builddir on Developer's command line to set the build directory dynamically.
- Spell checked and pretty printed html.
- Fixed makeInstallerSilent() in CustomInstaller.
- Don't warn when swing.jar doesn't exist.
- Pop up warning when unexpected error on startup occurs.
- Adjust the classpath when the base directory changes.
- Made javadocs compatible with 1.5
- Fixed searching for main() if Developer's classpath undefined.
- Print error messages from Developer and Builder to stderr.
- Fixed a bug when using the -s parameter with native installers
- Replaced environment variables in shell folders
- Added a Final panel to the uninstaller.
- Support HTML files in the Readme and License. Note to existing customers: We recommend you convert your plain text files to html format otherwise the text may wrap in the middle of a word.
- Set the default install directory to the user's home Applications or /Users/Shared/Applications subdirectory.
- Create a copy of the desktop folder/icons in the /Applications subdirectory on Mac, if directory is writeable
- Remove menus and delete items in Control Panel when uninstalling on Windows.
- Don't use redirection to get the system path on unix systems.
- Use the registry to get the environment on Windows.
- Change %UserProfile% and %AllUsersProfile% to their respective values when getting a Shell Folder from the registry.
- Hide progress bar at the end of the uninstall.
- Added a -s switch to installer which causes the installer to be
silent and requires the next parameter be the installer's property
Note to existing customers: The -q switch must only include the install directory name, not the properties pathname.
- If CustomUninstaller directory is empty, don't complain while building installer.
- Added titles to installer's popup dialog boxes.
- Require that the installation directory include a drive if the target system is Windows.
- If the target system is Unix, require that the installation directory starts with a file separator.
- Changed uninstaller into a wizard so custom classes can be added
- Added example to request feedback during uninstall so you can learn why people are removing your software
- Added getDesktopDir() to WindowsDir API.
- During uninstall, if deleting a single file leaves the directory empty, doesn't automatically delete the directory.
- After creating a KDE menu, issue "kbuildsycoca --noincremental" command to force the menu to appear immediately.
- When the autoupdater launches the updated app, its icon shows in Mac's dock
- Fixed bug in KDE/Gnome menu items when program had spaces in it.
- Fixed command line parsing issue with spaces and quotes.
- Note to existing customers: If you maintain a copy of platform.properties, then you should change jvmCommandName property's value from jre to java.
- Added methods to the WindowsRegistry class to support reading/writing binary data.
- JExpress Uninstaller supports [$HomeDir] and [$JavaHome] variables
- Fixed a bug in parsing command line parameters which included embedded quotes
- Set prmissions on Mac menu directory, and its subdirectories, to 755
- Changed the initial default install directory on unix to /usr/local
- Changed WindowsRegistry method names.
- Changed API classes so useSwing is no longer passed to various methods
- Note to existing customers: You may need to adapt custom classes that use the following classes from the API: WindowsRegistry, WindowsMenus, MacOS, UnixOS, UnixMenus
- Added exportWindowsRegistryEntries to the WindowsRegistry API.
- Pass /s (silent) switch when importing windows registry entry file.
- Fixed silent installs.
- Support sending user authentication to the web server after page request.
- Remove menu items and control panel options on Windows even when write only bit set.
- Fixed getting the system path when blanks are in directory names.
- Moved the tabs in Developer from the left side to the top.
- Replace all commands for uninstaller that reference the install directory to [$AppDir]
- Fixed setting up the JVMVersion for Java app on Mac OS X
- Now require JRE 1.4.x or later to run installers and JExpress Developer
- Stanardized popup questions and warnings in installers and developer/builder.
- Popup warning when "Find classes" isn't able to analyze a class.
- Fixed a bug in WindowsRegistry when enumerating keys.
- When a query to the windows registry returns a DWORD, format the result as an unsigned long in a string.
- Fixed a screen layout bug when adding/changing menus
- Verify the WindowsCommand getAncientShortPath() returns valid path.
- Added support for billboards through a custom class
- Run the isOk() method in custom classes in its own thread
- Added an example of using marquees to the Samples
- Fixed a bug creating menus on Linux machines with gnome and KDE installed
- Changed all fonts in installers to use the JLabel font
- Default to ksh when creating scripts on Solaris
- Attach the uninstaller's popup question to the uninstaller window
- Introduced JExpress Installer Source license
- Use more professional icons in popup questions and notes