Build installers for any type of program, such as Java, native, third party applications, etc. JExpress creates menus, desktop icons, auto-starters for any app you'd like.
JExpress creates an EXE for your Java application so Windows users can simply double click to start your program.
JExpress builds an "app bundle" on Mac OS X for your Java applications. The app bundle is a specially formatted directory which looks like an icon on Mac. Users simply double click on the icon to start your Java program.
Apple and Oracle created mutually incompatible java app bundles so if your java application initially used Java 5 or Java 6 and later required Java 7, you would have to recreate the java app bundle for your java program to work. With JExpress, the same app bundle works with Java 5, Java 6, and Java 7.
JExpress makes a unix script that starts your Java application. It has executable permissions so your customer simply double clicks to start your Java program.
JExpress adds menus to the Start menu on Windows and to the Gnome, KDE, and Xfce menu system on Linux.
Install a java or native app as a service on Windows and native apps as a daemon on Linux. Just add a check mark on the launcher's dialog box and JExpress does the rest. If you also add a check mark to the start after installer box, then after installing the service/daemon, JExpress automatically starts it, too.
With one click, JExpress:
Your customers are ready to download the latest version with just a click of the button. And, all you had to do was click the Build button in JExpress. You can easily integrate your installer projects into "ant" or other similar project managers.
With the click of a button you saved the hassle of finding all the classes the new version uses. The Updater gives you more money after the sale. It provides controlled automatic updates of your program on your customers' systems.
Many Java programs peform best with a particular version of the JRE. JExpress installs that the exact version you want runnning with your app if it's not already on the user's sytem. You can also have a private copy of the JRE installed so other programs don't change your program's environment and without disturbing any other version of the JVM already installed. You can even tell the installer to put the JVM in a particular directory.
JExpress can distribute the exact JVM you used to develop and test.
With JExpress you have complete control over which JVM version is bundled with your app and which versions of the JVM are acceptable to run with your product.
Developers can adapt the JExpress Installer source code to create native, executable installers for other platforms if JExpress doesn't support a target environment you need.
You can configure your installers to detect if a JRE is already installed on a user's computer that meets your java program's criteria. If it does, then JExpress can configure your application to use that installation of the JRE. If not and you distributed an installer with the JRE included, then JExpress will install the JRE.
If you prefer to always have a particular version of the JRE installed so only your app uses it, JExpress can do that, too.
Build your project from the command line. You can leave your system creating your multiplatform installer and updater while you work on other tasks — or go home for the night. JExpress can even upload your installer to your web site.
Prompt users for information during the installation. Use their responses to alter the way the installer works or configure your application. No need to learn a specialized script language. Just use Java.
JExpress allows you to pass command line arguments to your applications. You can easily use variables to represent the installation directory or the Java home directory which are automatically adapted to the user's environment during installation.
You can also access the variables that the installer and updater use from your custom classes allowing you to adapt these programs to better meet your needs.
Your customers can install your application with the click of a button. If your customer is running a modern browser that's configured to download and execute binary files, then your customers simply click on the URL with a native installer and the browser downloads and launches it.
The JVM can be bundled on Windows, Linux, and Solaris so if the user's machine doesn't have the correct environment, JExpress installs the JRE and then your program.
If you use Java 1.5 or later and require that your customers do the same, then JExpress can reduce your distribution files by compressing all of the JAR files using Pack 200. When your customer installs or updates your application, the JAR files are automatically expanded.
JExpress can automatically upload your installers, updaters, and new download pages to your web site, creating all the directories and subdirectories as it goes. All you need is a standard ftp server. After all the files for the new version are safely on your web site, JExpress switches from the old to the new in an instant. It can even backup your previous version, so if you ever have to drop back to the previous release you just quickly swap directory names. JExpress is persistent in delivering your files to your site, safely automating a sometimes tiresome but critical task.
But, more importantly JExpress minimizes the time your product isn't available to your customers. Whenever you release a new version, JExpress transfers all the files to a temporary directory tree on your site. As soon as all the files are ready, it swaps directory names. In other words, JExpress quickly renames your old distribution directory to a backup directory and then renames the new temporary directory to the regular distribution directory. Your app is only inaccessible for a few seconds.
An extra benefit to this directory name swapping is that you get a backup of your previous version. You can revert to the last release in an instant if you discover something unexpected crept into your system.
Your ftp server must support the standard commands which provide a full Unix style directory listing for the backup feature to work.
Your Windows customers are more likely to be comfortable with an EXE than a JAR file. JExpress creates an EXE to launch each of your Java applications.
While you can simply hand a JAR file to your end users, they'll be more familiar receiving an EXE to install your product.
You can create installers for Windows on any platform (e.g., Mac, Linux) just like you can create installers for Mac, Linux, and Solaris on any other OS where JExpress runs.
Older versions of OS X always had Java pre-installed, but that's no longer the case. Your Mac customers will be most comfortable receiving a DMG installer which JExpress can create if you're building your installers on Mac or Linux (you must have genisoimage installed in the path on Linux).
You can bundle Java 7 with the native Mac installer so if the customer is using Lion or Mountain Lion, you can simply install Java 7 and complete the installation of your app.
If you're building your installers on Windows or another OS, then JExpress creates a tar.gz file which Mac users simply need to double click and then start the installer.
Your installers automatically add Windows menus and desktop icons, creates Mac OS X app bundles and desktop icons, and unix scripts.
You change environment variables without writing a special program. You simply call a custom command that comes standard with JExpress. To learn more about changing environment variables click here.
Of course, you don't need to use this method to adapt your customer's environment to run your application. JExpress automatically sets the user's classpath in the Install options.
You can add your native or java application as a Windows service. JExpress use the .Net interface if available and otherwise a third party program when installing a native app as a service.
Simply add a check mark to the launcher. A java app's main class must contain start() and stop() methods.
You can add your native as a Linux daemon. If you'd like to be able to add a java app as a daemon on Linux, please contact us.
You can restrict the customers that receive your updates. That way you can disable a user's access when their contract expires until they renew. The JExpress Updater automatically verifies each user has permission before it allows them to receive the update.
You decide which JRE is acceptable for your program. If JExpress finds a matching JRE then it can use that one. Or you can create a JRE bundle to ship with your installer to insure that the user has the exact version that works best with your app.
Click here to learn more about bundling a JVM for your installer.
Also if your Java app needs special JVM flags, also known as switches, passed on the command line and you want the installer to automatically create menus to launch your app, then you'll need to create your menu items with the Advanced interface, not the Wizard.
Click a button and JExpress scans your system, picks out all the necessary classes, and bundles them up for distribution. It's almost like magic. Preparing a new version for distribution takes minutes, instead of hours, with JExpress and your system stays compact for a fast download and installation.
But, the best part. Customers no longer report the dreaded "NoClassDefFoundError" error message.
For non-class files, or classes loaded with the Class methods, you specify files your system uses by selecting the directories and their subdirectories, including or excluding files by extension or by name. This flexible file specification means you distribute the exact files your system needs.
Your application starts like any other native program on Windows (XP, Vista, Windows 7, Windows 8), Mac OS X, Linux (Intel), and Solaris (Sparc). On Windows you get a double-clickable EXE. On OS X it's an app bundle. Customers get what they expect. What could be easier or more flexible?
The native installer usually can be configured to include the JVM so a target computer does not have to include Java for your installer to operate properly. Or, you can elect for the native installer to simply locate a JVM that matches your product's needs and use that to install and operate your application.
If you also purchase the All source license, then you can create native installers for special platforms by porting 2 small programs. For HP-UX and IBM's AIX, the port generally involves simply adapting the "make" for your target environment. JExpress requires the platform to support Java and C.
Create one installer that runs anywhere. In addition to the native installers for Windows, Mac OS X, Linux, Solaris, you also get a double-clickable jar installer that works anywhere Java works. JExpress installers can install non-Java programs just as easily as Java apps.
Your customers simply click and the installer starts. Or they can choose to download a native installer and install later.
The Java Web Start installer configures their system just like a native installer. Your app is stored on the customer's local drive and runs like any other native app.
If you maintain multiple web servers to deliver different versions of your software, then customers automatically get updates from the right server.
JExpress automatically configures the Web Start JNLP file for you, and can even sign the jar files with your key if you like.
You get a continuous revenue stream after the sale. Your software is always up-to-date so you have fewer problems, and so do your customers.
You choose whether your application automatically updates every time it starts up, or on demand. The Updater connects to your site and downloads only the files that have changed. When there's nothing to update it's so fast that customers rarely notice.
If an update doesn't complete for any reason, your customers can continue to use your application without worry. JExpress doesn't update any live files until it has successfully downloaded all the changes. This means a partial update won't leave your application in an unusable state.
You create your updater by just clicking a radio button in a dialog box. And if you need something really special, you can customize your updater with templates and java.
If you add or remove JAR files from the classpath for a java launcher, then JExpress automatically reconfigures your customers launchers after it finishes updating the files.
It's almost inevitable that the longer you maintain a software product, the more likely you'll need to change how your existing customers' systems are configured. You can easily add custom classes which prompt the user for new information or simply reconfigure settings as needed.
Forms for almost everything. Simple java for everything else.
If you need something really special, use Java to build custom wizard panels which become fully integrated into your JExpress installer. Anything you can do in Java, you can add to your installation. Prompt for user input. Configure the target system. Run other programs. You have complete control, and without using a specialized script language.
JExpress includes a customization API that has over 200 methods. Plus, you can do anything you can do from Java, which gives you almost infinite flexibility. There are also more than a dozen samples to show you how to customize your installers and updaters.
Your JExpress installers can launch third party installers, if you'd like. For example, you can install MySQL or JBOSS at the same time you install your application.
JExpress automatically includes an uninstaller for your product, fully customizable. If your customer installs your product under Windows, then the uninstaller integrates into the Add/Remove icon on the Control Panel. You can customize the uninstaller with Java, too.
Your installers, autoupdaters, and uninstallers are ready for the international market. Currently, JExpress includes support for English, Dutch, French, German, Italian, Japanese, Polish, Portuguese, Spanish, Chinese, Simplied Chinese, and Traditional Chinese.
If your customer's system is configured to automatically display any of these languages, then your installer automatically uses their native language. You can easily adapt your custom commands to maintain this international support.
If you have another language that you'd like supported, please send e-mail to
Your customers can install your product silently, if they'd like. This allows network administrators can make sure their users install the software the way the administrator knows is best for their environment.
You even have the option of configuring the installer so it always runs silently. Just add a check mark to the Silent option for the installer's style.
You can configure your installers so your customers don't need to do anything other than start it. You can pre-define the installation directory and even start your application when the installer finishes. Just add a check mark to the Click free option for the installer's style.
It's easy to create a wizard for your installers so your customers can take the installation step-by step.
Of course, you decide which steps they must pass through. You can require that they agree to your license, view a readme file, and select where your app is installed. Or, you can eliminate any of these steps.
It already has your logo, installation instructions for each platform, and more. Your users just click on the installer they need. You can also easily integrate your own web site customization with the generated download pages and files.
You can create multiple install types, also known as setup types, if you'd like with JExpress. This lets you organize your system so your customers can decide which components they'd like to install. For example, you might want to create Typical and Compact install types. The Typical might include all the files your customers might want and the Compact might only include the minimum your files need to operate.
You decide on the names for the install types and provide a brief description to help the customer know the differences between your options.
JExpress lets you quickly create a single installer for multiple products or components. The user can install one or multiple components/packages at a time. And, each component has its own uninstaller.
You decide on the names for the components and provide a brief description to help the customer know the differences between your options.
You can add popup windows to your installer to display marketing messages, tips, or instructions. Just add a custom class and use Java's Popup class.
Your installers can display rotating marquees, during the installation process. You can create as many billboards as you'd like and decide how quickly they rotate.
For more details about how easy it is to configure billboards, see the manual's FAQ.
JExpress can password protect your distribution files so only customers with the valid password can install your product.
If you include a license agreement, JExpress makes sure that customers agree to it before they can install your product.
You also have the option of including a READ ME file. Customers start learning about using your product during the installation, if you included one. With the click of a button, they can open up a full size window to easily review the document.
JExpress automatically sets the user's classpath during installation. You can let JExpress determine the classpath automatically by examing your distribution files or set it manually. No need to hassle with changing the user's environment. JExpress handles the classpath for you.
After JExpress creates the directory tree for you, it can JAR all your distribution files into a compact file with a complete manifest. You can create a project that eliminates all unused classes and then builds your JAR file. Your installer project can then include that JAR file in your file list.
Use ant or a similar project management program to run multiple projects.
JExpress installers work seamlessly on Windows Vista, Windows 7, and Windows 8 platforms. If your customer has UAI active, then JExpress prompts the users for their administrative credentials so you have full access to their computers, including the registry.
You can use any computer that is running a modern JRE to build installers for any OS that JExpress supports.
In other words, you can run JExpress Builder on your Windows computer and build native installers for Windows, Mac, and Linux. Or, build your native Windows, Mac, and Linux installers on your Linux computer. If you want to bundle the JVM for any platform, then follow these instructions.
JExpress builds native Mac OS X installers and creates app bundles so even your Java apps appear native.
Your customers use the same Mac installer on OS X 10.1 or later. In other words, customers installing your app on Snow Leopard use the same installer as customers installing on Lion or Mountain Lion. Although Apple and Oracle created incompatible app bundles for java apps running Java 5 or 6 and Java 7, JExpress creates an app bundle that works with any of these versions of the JRE.
JExpress builds native Linux installers and creates unix scripts so your Java apps start without issuing complex commands.
You can run your installers on any OS that supports a modern JRE. If you'd like to create a native installer for another OS, then simply purchase the source license and port 2 small C++ programs. If you're porting to another variant of unix, this usually just means re-compiling the programs on the appropriate OS.
Creating an installer takes minutes with the simple JExpress wizard. You simply fill out some basic information about your Java app, click the Build button, and JExpress builds your cross platform and native installers.
While you're building your installers and autoupdaters detailed help is only a key click away. A comprehensive and tightly integrated manual is available.
If you need more features or just prefer not to use a Wizard, Jexpress also include an Advanced interface. It includes many more features, and you can go straight to the setting you want. With the Advanced interface you can easily create autoupdaters, eliminate unused classes, and automatically distribute your installers and updaters to your web site.
While you're building your installers and autoupdaters detailed help is only a key click away. A comprehensive and tightly integrated manual is available in both the wizard and advanced interface. When you're using JExpress you can get detailed information about each panel's options by selecting Help from the menu or clicking the Help button on the panel. And, as you pass your mouse over every field you'll see tips about that field. Of course, if you'd prefer to turn the tips off in JExpress, you can do that from the Options menu.
If JExpress detects any errors while building your project, it gives a brief description of the problem and a key to learn how to fix it. If you're still having trouble, then you can simply contact a support engineer. Our staff are great at explaining how to find solutions.
Choose the Advanced interface or the Wizard. JExpress includes both.
You can predefine where your application is installed on your customers' computers.
JExpress handles the installation directory so you can preset it appropriately for each OS. For example, it can install your app in the Program files subdirectory on Windows and the Applications directory on Mac.
You can include your logo on each panel of the installer or in the background. It's easy to change the look using Java's Native, Nimbus, or Synth themes. Adapt the colors so they fit your company's design.
Generates cross platform installers using Swing: This really helps deliver on the promise of "Write once. Run anywhere." Installers built with JExpress can automatically give your customers the native look and feel they already know.
Stop wasting time creating the complex directory tree required by most Java applications and applets — JExpress manages it for you. Only the exact classes you're using from each Java package are included in your distribution. Your files are automatically stored in the correct directory or subdirectory.
You can also filter which files you want included or excluded from a subdirectory based on file extensions. So you can insure your customers won't receive any .bak or .tmp files, by simply excluding them from your file list.
You can include almost any file (e.g., binary, text, etc.) that you'd like in your distribution list. The only known exception is a Mac CFM file because the CFM files cannot be moved to non-Mac platforms and maintain their integrity.
There's no need to layout your distribution directory. Instead, select files and directories from anywhere on your computer. JExpress organizes them into a single distribution tree or multiple distribution trees, if you prefer.
JExpress supports the current versions of the JRE. JExpress will use any version that meets your criteria or install any version which you bundle with your installer.
Apple does not allow you to bundle Java 5 or 6, but you can include Java 7 for your Mac customers.
While many people refer to Java by its minor name, e.g., Java 7, the version number reported by Java itself is Java 1.5, 1.6, and 1.7. As soon as Oracle officially releases Java 8 (or 1.8), we'll support it as well.
JExpress compresses your class and non-class files into a compact file with manifest. This insure a small foot print for your installation files and the manifest increases reliability during extraction.
You probably won't need any support to use JExpress, but if you do, we're ready to help. Any questions that you have are answered by engineers, not lollipop people. If you can't figure out how to do something, regardless if it's an unusual request or seems like something simple, we'll see if our engineers might have a suggestion. You'll always get an answer within a business day and usually within a few hours.
Learn more about the Support Programs for JExpress.