JExpress uses a non-platform specific way to define ways for your customers to launch your application. For example, if your customer runs your installer on a Windows computer, then JExpress adds a Windows menu item on the Start | Programs menu. It also creates a desktop icon and a double-clickable exe in your application directory to start your Java apps. JExpress can even install java and native apps as a service. If another customer uses the same installer on a Mac, then there's an APP bundle and desktop icon. And, someone using the same installer on another Unix system has a launch script ready for them and a menu if the customer is running KDE, Gnome, or Xfce.
Learn how to convert PNG to an ICO or ICNS file.Group
You can have your launch items added to the highest level of the menu system or desktop, or you can define a Group. If you'd like the launchers to be added to a deeper Group, then simply put a forward slash (/) in between each Group. You always use the forward slash regardless of the OS you are using or targeting.
Click on the Add button to create a new launcher or the Edit button to modify the settings for a launcher you defined previously. Another dialog box opens that lets you define how the launcher will work.
Add a check mark to Tell user how to start your application check box if you want your installer to remind your customers running on Windows which Group to use to start your application.
Click on the jump point or just page down to learn more about each setting for a launcher.
On Windows machines, JExpress creates a menu item and desktop icon with this name and on Mac it creates a desktop icon and APP bundle using the display name.
For example, if you want to create launchers with icons on Windows, Mac, and KDE, then you'd create 3 icon files with the same base name (i.e., the name to the left of the period) and the extensions .ico, icns, and .png (for Windows, Mac, and KDE, respectively). All the files would need to be located in the same directory and you'd enter the full directory name and basename into the "icon filename" field on the launch dialog box. So if your icons reside in c:\myapp\icons and you have the files myicon.ico, myicon.icns, and myicon.png in that directory, you'd enter: c:\myapp\icons\myicon in the "icon filename" field.
Here's a list of the icon extensions for the various platforms:
|Mac OS X||.icns|
Notes ** If there is a base name with both a .png and .xpm extension, then the .png file will be used in a Gnome, KDE, or Xfce menu.
*** On Windows, the icon you specify is only used in the menu, not the EXE file that JExpress creates. You may be able to change the icon for the EXE with a freeware tool like Resource Hacker to the EXEs in the winapp\javamenus subdirectory. Remember that you'll need to apply the new icon whenever you receive an update to JExpress because JavaApp.exes can change with new versions.
DeNova does not officially support changing icons with third party programs, but it has worked for some of our customers. The most reliable way to change this is to buy an Enterprise license and change the icon included in the build.
Learn how to convert PNG to an ICO or ICNS file.
Main classname or Executable file
It can take a long time to find all the classes so you may need to be patient. If you spot the classname that you want to use, then you can click the Stop button and select the classname.
Or, you can simply type in the name of the Java class, including the package name, or stand-alone program that you want started when someone selects this launch item.
If the launcher starts your Java app, then the classname, including any required package name, that contains the main() method must be entered into this field. For example, if your Java application's main() is in myApp.class and myApp.class is part of the com.myCompany package, then you should enter com.myComany.myApp into the Executable file field.
If you don't know the name of the class that contains the main method and your class files are contained in a JAR file, then you can unjar your JAR file and look at the META-INF/MANIFEST.MF file with a text editor. You'll find a line, near the top of the file, which gives the property for the Main-Class:. Copy the entire line after the : and paste it into the Executable file field.
Important: If you usually start your Java app with the -jar parameter and you don't want your app installed on Mac, then please follow the instructions in the tutorial to insure that all the fields are entered correctly.
If this launcher is for a native program and that program is distributed with the installer (i.e., the program is on the Select files panel), then this field should include the program name, not the full path. If the file is in a subdirectory of the installer, then include that subdirectory before the program name and separated by the appropriate file separator. Your JExpress installer automatically adjusts the file separators (e.g., \ or /) to the target system.
If you want to create a launcher on Windows that displays an HTML file, then you should fill in the HTML filename is this field. Almost all Windows systems today are configured so they will automatically launch the user's web browser when the command line contains an .html or .htm filename. You should not include check marks in the Unix and Mac fields because no other OS consistently launches a browser when a filename is invoked.
Start after installer
If you create a silent installer, then the launcher will still be started when the installation is finished. But, if the user starts a wizard or click free installer from the command line with the silent switch, then the launcher will not be activated.
Install as a service
You can learn more about convering your java app to a service.
A service launcher can be used with an updater-on-demand, but not with an auto-updater. If you want an auto-updater for your project, then you must create a separate launcher for an individual to use.
Start after login
Run as admin
Command line arguments
If you need to pass the installation directory or the Java home's directory on the command line, then you can use a variable. Use [$AppDir] to represent the application's installation directory, [$JavaHomeDir] for the Java home's directory, [$UserHomeDir] for the user's home directory, and [$WorkingDir] for the working directory. When JExpress installs your application, it will change the variables to the appropriate information without a trailing directory separator. Case and spacing are critical for the variable names. You should probably include double quotes around any directory names/filenames that use variables, in case the user installs your app in a directory with spaces.
If you specify any directories in the command parameters, you must use a back slash (\) as the path separator, regardless of the machine you're operating JExpress or the target machine for the installation. The installer will automatically convert all back slashes in the command arguments to the target system's file separator.
Important: Please note that the way to a enter file separator in the JVM extra parameters is not the same as the method used for in the command line arguments for a launcher. Sorry for the inconsistency, but to mantaintain backward compatibility, the 2 methods will continue to be supported.
When JExpress installs your app on Windows, it will store the command line argument in the .properties file associated with the launcher. The .properties file is located in the JExpress subdirectory of the installation directory and uses the same name as the .EXE for the launcher.
It's recommended that you make the working directory relative to the install directory so JExpress can adapt it to each customers' computer as appropriate.
If the launcher is for a java application and the working directory is not the same as the install directory, then JExpress will automatically add the working directory to the classpath for this launcher.
Associated install type / component / directory
If you leave the field blank, then the launcher will be skipped.
Show Java console