Time and quality. It's easy to horribly underestimate how much effort it takes to write a good installer. SLOCCOUNT says it will take you 21 person years at a cost of $2.8M to duplicate JExpress. That estimate is surprisingly accurate, at least for the development effort. It's much faster and costs less to buy a copy of JExpress.
JExpress has over 1500 lines of code just to make sure the user's installation directory meets all the criteria. Handling menus on different platforms is another frustrating nightmare. There are many hidden pitfalls like these in installers.
Any good developer can throw together an unreliable installer fast. You have to build installers for many years to know all the issues for all the platforms and learn how to deal with them.
Easily customize your installer to look and work the way you want. Forms for almost everything. Simple java for everything else. If you need something really special, you can just write a custom class. Your software will make a great first impression by starting with a strong installer.
Only with JExpress do you get...
Features and reliability.
JWS lets your users start a program with one click from the web, but it doesn't come close to an installer. JExpress supports JWS and adds installing the Java version you want, plus automatically builds a custom professional cross platform installer, updater and uninstaller.
JWS is not always reliable. See
By choosing JExpress, you can create native installers, cross platform installers, and JWS installers.
Yes. JExpress creates an EXE on Windows for your Java app so customers don't need to know anything about Java. On Mac OS X, your app launches from a native APP Bundle icon. Linux, Solaris, and other Unix users have a double clickable script. Customers get what they expect.
No. JExpress installs non-java applications and leaves simple installers far behind. Copy protection and license tracking are built in. A click sends your new installers to your web site, and creates the HTML to guide users to the right one for their platform. The updater lets you distribute new versions to your customers completely automatically, or if you prefer, on demand.
You get beautiful and powerful installers with no programming. They look and act the way you want. But if you find you need something really special, you can use simple Java to do almost anything.
Of course, you design your professional installers through a GUI. You can choose a simple wizard or an advanced interface, both included. Your get native installers for all platforms plus a cross platform installer, ready for the international market. Your customers get the exact JVM your application needs.
But there's a lot more to getting your app to market than just building an installer. JExpress updates your web site and customers automatically, protects against piracy and tracks user licenses.
With a click, JExpress...
JExpress sets a new standard for installers.
Yes. JExpress builds a double-clickable jar installer that works anywhere Java works. Plus native installers for the most popular OSes: Windows, Mac OS X, Linux, and Solaris.
JExpress installers can install non-Java programs just as easily as Java apps.
Yes. 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.
Learn how the updater works.
Yes. 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
Yes. JExpress received Sun's 100% Pure Java certification for version 2.1. We are committed to keeping the same high standards that give you flexible, cross platform installers, updaters, and uninstallers in future releases.
Yes. JExpress creates native installers for Windows, Mac OS X, and Linux. So if your customer is running a modern browser that supports downloading and executing binary files, then they simply click on your URL, and the browser downloads and launches the installer.
You can also create a Java Web Start installer which lets your customers click on a URL and your off-line installer is automatically downloaded and started. That way you have full read/write access to the target machine as well as 1 click install.
Yes, JExpress can install both java and native apps as a service on Windows. It can also install native apps as a daemon on Linux. Learn more.
Java. To customize your installers and updaters just write a simple WizardPanel. You can insert your customization at almost any point in the process. You simply enter the name of your custom Java class on the Custom panel in the Advanced interface. Or for the updater, click on the Customize Updater button on the Auto-Update panel and enter your custom classnames.
A JExpress installer adds just 500KB to your application. If you include a JVM, it's likely to be the biggest part of your distribution. JExpress compresses all the files. But because the JVM is already compressed, it won't compress much more. If you have any installer or updater custom classes, they're usually tiny.
Yes. All you need to do is set up multiple JExpress projects, and use a master project to combine them.
You can nest subprojects as deeply as you need. In general you just:
To learn more about creating an single installer for multiple projects, review the step-by-step example.
Yes. If you use JExpress, you can create an installer that lets your customers decide which setup type fits their needs. And, you can name and describe each install type so it integrates with your product's structure.
To configuring your installer for multiple install types:
You can include the same component folder in multiple install types, giving you maximum flexibility.
When your customer installs your product, they'll see a list of your install types with their descriptions. JExpress will only install the exact files and directories you specified for the install type they select.
No. You don't need a JVM on your machine to install JExpress if you use a native installation. JExpress will automatically install the JVM for you if it doesn't find one on your system.
If you want to use one of our pure Java solutions, then you'll need a JRE 1.5 or later on your machine.
No. If your customers use one of the native installers JExpress creates for you, then the installer automatically installs the JVM if it doesn't find one.
If your customers use one of the pure Java solutions that JExpress generates, then they'll need JRE 1.5 or later installed on their system.
Yes, you can install Java 7 or later on Mac. Apple does not allow you to install earlier version of the JVM, but those versions can be installed from Apple's repositories.
JExpress, the installers, uninstallers, and updaters all support Java 5, Java 6, and Java 7.
No, if your customers installed your app with an installer created with JExpress 8.1 or later. If you created your installers with an earlier version of JExpress and you have Mac OS X customers, contact our techincal support for details.
No. If you'd prefer that the native installers simply look for a valid JVM on the user's machine and inform the user if it doesn't find it, then you can select the native installers with "no JVM".
It's your choice. JExpress lets you use either a wizard or a more advanced interface to build your Java installation programs.
Yes. You get sophisticated Wizard installation programs with JExpress. Your customers quickly move from dialog box to dialog box.
You can also choose a click-free or a silent install.
You can easily add panels and custom commands to the install wizard if you use JExpress.
Yes. JExpress is for both install engineers and programmers. It includes two ways to create installers, the Wizard and the Advanced interface. The Wizard uses a simple and fast wizard that lets you create installers within a few minutes.
If you are a programmer, then you can use the Advanced interface to add your own custom Java classes to handle special situations. The Advanced interface lets you jump straight to the right setting when you want to make a change.
Yes. JExpress creates installers for non-Java programs. JExpress' sophisticated file and directory management makes it easy to add non-class files to your project. With a single selection, you can add an entire directory tree. There is no practical limit on the number of directories or files your project can include. JExpress automatically compresses your files to create a small footprint for distribution.
You can see which version of JExpress you're using by selecting the About box from the Help menu.
As a developer, you probably know how draining customer support can be. Yet, as a customer you expect competent and timely responses from friendly, knowledgeable people.
In an effort to keep our engineers positive and determined to solve your concerns quickly, we use the term challenge instead of problem to describe customer incidents. It is much easier to rise to a challenge and overcome it. Problems, on the other hand, tend to mount and overwhelm too easily.
You'll quickly discover how much more effective our engineers are because they keep the right perspective about their jobs: To solve your challenges as quickly as possible.
JExpress is licensed to a single individual. You are free to produce an unlimited number of installers and updaters with JExpress — royalty free. If a team of people work on building or producing the installers/updaters, then each person needs their own license to JExpress.
Please feel free to review the user licenses:
Of course, we use JExpress to build our installers, updaters, and uninstallers.
We use Sun's JDK to compile java and gcc to compile C++. We also use git and ant.
If you distribute the Cross Platform Installer, then your customers must have a computer system capable of running JRE 1.5 or later.
If a customer does not have a JVM installed, then JExpress can automatically install it before it proceeds to install your application.
Also the monitor on the target machine must support 24 colors as a minimum for Java apps to work, including the multiplatform installers created by JExpress.
If your installers are larger than 2 gigabytes, then the minimum version of the JRE must be 1.7 build 55 or later.
There is no known limit if you use JRE 1.7 build 55 or later, create a cross platform installer, and require that your users have JRE 1.7 build 55 or later installed.
Otherwise, the current maximum size for native installers is 4 gigabytes. You must require a minimum of 1.7 build 55 or later for your customer's computers.
Yes. You can add a custom command that interfaces with the Windows registry. The custom API in JExpress lets you query, add, replace, and delete items in the registry, get the name of the Windows and Program Files directory, and let you know which version of Windows you're using.
There are full docs about the Windows registry interface in the manual.
Any platform that runs Java 1.5 or later. This includes any current version of Windows (e.g., XP, Vista, Windows 7, Windows 8), and several versions of Unix including Solaris, Linux, the Mac OS X, HP UX, AIX, and more.
JExpress is pure Java. Two major advantages of Java are that you'll have a more robust system than older languages generally afford and your installation-distribution system can operate on multiple platforms.
There is also a small component of JExpress that relies on C++ to handle the special native calls necessary for installing the JVM.
The size varies depending on which version of the installer you download. The trial copy of JExpress is between 11M and 41M, depending whether you download the installer with or without the JVM.
Yes. Avangate, our authorized reseller, accept wire transfers in Euros. You must include funds to cover all transfer charges.
You must first submit your order via our order form. Select the product and you'll be connected securely to our reseller's order form. On the "Your shopping cart" page, be sure to select "Euro" as the currency or else the "Wire transfer" payment method will not be available.
Important: When you order through Avangate, they will generate an invoice that includes the "Full name", not the Company name, so if your bank needs an invoice with the company's name, then enter the company's name in the "Full name" field.
When you finish submitting your order, our reseller will provide banking details for you to send the wire transfer. As soon as our reseller confirms the transfer, you'll receive email from DeNova with your credentials.
There are no shipping or handling charges as we deliver all software via the Internet.
If you are located in the EU, then taxes may be collected. *Before* you confirm your order, you will receive full details about the total cost of the transaction. There are no surprises on your credit card.
If you order via the secure online order form at Avangate's store with a credit card, then you will typically receive your user ID and password within a couple of hours, but it could take up to 1 business day after your credit card payment is approved.
If you ordered with your credit card through Avangate, then you can check the status of the order online. Go to Avangate's secure server and enter the e-mail address and order reference number from the email confirmation you received from Avangate.
You can fully evaluate our products and services for one month without any obligations with the free trial copy. You receive free tech support during your evaluation period and we strongly encourage you to use it to insure your needs will be met. The trial copy is functional in every way the full release is, except that you can only use it in-house for testing for one month and the installers you create with it will only work for 5 days (and may not be distributed at any time).
You can get a refund, less a US$75 processing fee, if you purchased a product or service 10 days before the date you request the refund. You must destroy all copies of the product and stop distributing the installers, updaters, uninstallers, and isos created by our products and services.
Avangate is one of DeNova's authorized resellers or ecommerce stores so all credit card orders are made through them.
DeNova is ready to help with any questions about your bills or credit card charges. Please send questions to
Just send an e-mail message to with any questions about your credit card charges. Please do not include your credit card number in the email message. Someone will contact you as quickly as possible to resolve any difficulties.
You can use your Visa, Master card, American Express, CarteBleue, Discover/Novus, JCB, DinersClub, if you prefer using a credit card. You can also pay by bank/wire transfer if you order in Euros.
Invoices are available in PDF file from our authorized reseller, Avangate. You'll need to create a free account at Avangate's site, sign in, and then look in the Order History section.