JExpress Release Notes

Current Release: 7.7.4              Which version am I running?

 

7.7.4

  • 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.
  • Fix creating Windows menus with submenus for administrators.
  • Sign Windows and cross platform installers if command supplied.
  • Use JNA to interface with low level Windows calls.

7.7.3

  • 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.

7.7.2

  • 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

7.7.1

  • 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.

7.7.0

  • 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.

7.6.9

  • 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.

7.6.8

  • 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.

7.6.7

  • 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.

7.6.6

  • 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.

7.6.5

  • 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.

7.6.4

  • 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.

7.6.3

  • 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.

7.6.2

  • 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.

7.6.1

  • Changed the font size in the manual.
  • Fixed a problem with the manual's files.

7.6.0

  • 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.

7.5.9

  • Require admin privileges when installing and uninstalling on Windows 7 and Windows Vista.

7.5.8

  • 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.

7.5.7

  • 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.

7.5.6

  • 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.

7.5.5

  • 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.

7.5.4

  • 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.

7.5.3

  • 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.

7.5.2

  • 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.

7.5.1

  • 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.

7.5

  • Creates Java Web Start installers.
  • Default temporary directory to java.io.temp.

7.2.5

  • 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.

7.2.4

  • Improved Spanish translations.
  • Changed the example ant build files to reference JExpressAdvanced.
  • Changed the url for the table of contents.

7.2.3

  • Fixed a null pointer when creating a menu without an icon.

7.2.2

  • 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.

7.2.1

  • 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.

7.2.0

  • Fixed a bug launching Linux native installers.

7.1.9

  • 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.

7.1.8

  • 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.

7.1.7

  • 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.

7.1.6

  • 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.

7.1.5

  • 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.

7.1.4

  • 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.
  • Deprecated setActive() and replaced it with enter() and leave().

7.1.3

  • 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.

7.1.2

Note to existing customers: If you are using 7.1.2 or earlier, please read the customer Blog entry for 2008-02-12.

  • 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.

7.1.1

  • 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.

7.1.0

  • Fixed a bug when using the -s parameter with native installers
  • Replaced environment variables in shell folders
  • Added a Final panel to the uninstaller.

7.0.9

  • 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

7.0.8

  • 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.

7.0.7

  • Added a -s switch to installer which causes the installer to be silent and requires the next parameter be the installer's property pathname.
    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.

7.0.6

  • 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.

7.0.5

  • 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.

7.0.4

  • 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

7.0.3

  • 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

7.0.2

  • 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.

7.0.1

  • Fixed a screen layout bug when adding/changing menus
  • Verify the WindowsCommand getAncientShortPath() returns valid path.

7.0.0

  • 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

 

Release Notes for Earlier Versions
 

 

How can we help? Privacy Policy Legal © 1997-2010 DeNova.com