Java Cross Platform Installer Features for JExpress
Launchers
License tracking
More customers and bigger sales
Reports on compliance and usage
Look and feel
Consistent look across platforms
Add logo and select color scheme
OSes and Architecture
Installer types
Install java and non-java apps
One installer, multiple products
One click Java Web Start installer
Updater
Update launchers for java apps
Update any program, not just java apps
Java support
Automatically configures classpath
Other
Customization
Use Java to add special functions
Build tool
Integrates with ant, maven, etc.
Define your own distribution tree
Native support
Build DMG installers on Mac and Linux
Standard
Install java and non-java apps
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.
Windows EXEs
JExpress creates an EXE for your Java application so Windows users can simply double click to start your program.
Mac App Bundles
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.
Unix scripts
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.
Menus
JExpress adds menus to the Start menu on Windows and to the Gnome, KDE, and Xfce menu system on Linux.
Desktop icons
Your applications can have a desktop icon added to Windows, Mac, and Linux by simply adding a check mark while creating your installer project.
Auto start on boot
Just add a check mark when you create your installer project and JExpress will set up your customers' computers so your application starts everytime their computer starts up.
Start after installation
After the installation finishes, you can have your application automatically start by adding a check mark when you design your install project.
Install as a service/daemon
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.
One click for a new release
With one click, JExpress:
- eliminates unused class files, if you're distributing a java app
- organizes your files for distribution,
- builds your installers, updater, and uninstaller,
- signs your jar files,
- creates your download web pages, and
- uploads everything to your website
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.
Installs the exact JVM you want
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.
Detects JRE
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.
Unattended builds
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.
User input
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.
Variables
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.
Install from the web
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.
Pack 200
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.
One click deployment
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.
Convert Java app to an EXE
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.
Create EXE installers for Windows customers
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.
Build DMG installers for Mac users
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.
Native integration
Your installers automatically add Windows menus and desktop icons, creates Mac OS X app bundles and desktop icons, and unix scripts.
You also can setup Windows services and access the Windows registry by adapting a simple custom class. To learn more about managing the Windows registry click here.
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.
Windows Registry
You have full access and control over the Windows registry. Simply adapt a custom class and you can query, add, modify, or delete items. The custom API includes a complete complete library.
Windows service
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.
Linux daemon
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.
Update any program, not just java apps
Use the JExpress Updater to keep any program that you distribute up-to-date. Learn how easy it is to create an updater.
Protect your update revenue
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.
Custom JRE bundle
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.
Eliminate unused Java classes
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.
Native installers
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.
Cross platform installers
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.
Java Web Start installers
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.
Autoupdates your customers
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.
You can learn more about autoupdates by reading how autoupdates work or following the step-by-step example.
Update launchers for java apps
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.
Customize updaters
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.
Customization
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.
You can learn more about how customize your installers and updaters or follow a step-by-step example.
Install 3rd party products
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.
Simply include the installer in your install project's distribution files, adapt a custom class, and include the class on the Custom | Install panel using the Advanced interface for JExpress Builder.
Integrates with ant, maven, etc.
Your installer projects can easily be run from ant, maven, or other similar project managers. See an example of how to configure an ant project.
Uninstaller
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.
Translations
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
Silent installations
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.
Click free installers
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.
Wizard installers
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.
Download pages generated
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.
Multiple install types
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.
One installer, multiple products
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.
Splash screen
If your java app requires JRE 1.6 or later, then JExpress can configure your app so it displays a splash screen when it starts. Learn more.
Popups
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.
Billboards
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.
Password protect your distribution files
JExpress can password protect your distribution files so only customers with the valid password can install your product.
License agreement
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.
Automatically configures classpath
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.
Creates JAR files
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.
32 and 64 bit installers
JExpress automatically builds installers for both 32 and 64 bit architectures. If you only want to create installers for one type of architecture, then click here.
Windows Vista, Windows 7, and Windows 8
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.
Build any installer on any OS
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.
Mac OS X
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.
Linux
JExpress builds native Linux installers and creates unix scripts so your Java apps start without issuing complex commands.
Other OSes
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.
Easy and professional
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.
Preset install directory
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.
Add logo and select color scheme
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.
Consistent look across platforms
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.
Multiple directory trees
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.
Define your own distribution tree
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.
Sign installers
JExpress can use your certificate to sign your installers. Learn more.
Supports Java 5, 6, and 7
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.
Sign JAR files
JExpress can use your certificate to sign your JAR files. Learn more.
Sign Windows Installers
JExpress can use your certificate to sign your native Windows installers. Learn more.
Sign Windows Launchers
JExpress can use your certificate to sign launchers that JExpress creates for your java apps. Learn more.
Sign Installers
JExpress can use your certificate to sign your native Mac OS X installers. Learn more.
Prepare your own JRE bundle
You can create your own JVM bundle. If you have the JVM installed on the computer that JExpress is running, then just go to the JVM panel and click the Bundle button. Otherwise, follow these instructions.
Compresses your system files
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.
6 months free support
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.
More customers and bigger sales
- Web based copy protection and license tracking is built right into your installer. Less piracy.
- More people buy when it's harder to pirate. More customers.
- Plus when they buy, they get more licenses. One for every user. Bigger sales.
- You get more revenue now. They renew on time, so you get more later.
- Completely painless. Integrated with the installer.
- Protects any software that can use the net. Works on mobiles, in VMs, just about anywhere.
Online copy protection
Someone always cracks activation, but online services have almost no piracy. With JExpress and CopyCheq you get great protection instantly. Plus you have a clear path to stop piracy cold.
In JExpress select CopyCheq to get web based copy protection and license tracking. Enter your valid customers into the database using forms or the API. That's it. You're protected.
The JExpress installer automatically prompts the user for their credentials and checks them. No authorization, no installation. JExpress' updater also checks online every time to verify the user has your permission. If not, your software doesn't start.
Even more protection if you need it
You can also CopyCheq from inside your app anytime. We include a Java example. But this usually isn't necessary. The JExpress Updater automatically CopyCheqs for you before your software starts. Just select autoupdate.
If you decide you need maximum protection, just move a tiny critical part of your app online, and CopyCheq from your app server. There's nothing on the user system for them to crack. And crackers are too lazy to rewrite your online code.
Flexible license models
Select the license rights for your product from a menu of options. You can easily customize an individual license for a customer.
Choose one, or mix and match:
- product activation
- trial
- subscription
- feature-based
- floating
- metered
- hours used
- transaction
- more
You can set up a single standard license exactly the way you want. Or optimize revenue from each customer. Change the license terms anytime.
Reports on compliance and usage
Know who is using your software but needs a license. Find out how engaged your users are.
See who's authorized and not, how frequently people use your software, how many sessions and how long they are, how much total time they spend with you, and more.
Automatic reminders
Grow revenue about 30% with automatic reminders to buy and renew. CopyCheq sends the reminders so you don't have to.
For your trial users, CopyCheq can send tickler mail for example after 7 days and 10 days. Then send reminders to buy 10 and 3 days before the trial expires.
CopyCheq can send reminders to existing customers before their license expires. For example you may decide on 90, 30, 10 and 3 days in advance. You can specify different messages and include special offers for early renewal. You get early revenue, and get it more reliably. Your customers don't lose access to your software.