Time and quality. It's easy to horribly underestimate how
much effort it takes to write a good installer.
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.
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.
Or even get an Enterprise license
to get the source for the installer and uninstaller.
Your software will make a great first impression by starting
with a strong installer.
Try JExpress now
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.
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
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.
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, if the machine has a virtual framebuffer installed.
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.
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.
You can find out more about
customization. Or learn how to design a custom WizardPanel with a
Yes. Just customize your
installers with a form on a simple WizardPanel.
Yes. You can access any information that the installer
uses. It's all in the installer's Property List.
A more comprehensive description about customization is available here. Or,
learn how to design a custom WizardPanel with our step-by-step example.
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
To learn more about creating an single installer for multiple
projects, review the step-by-step
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
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
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
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
Yes. Review the technical FAQ to learn how to ship
whichever JVM that is best for your application.
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.
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
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
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.
JExpress is updated on a regular basis. The current
version number appears in the release notes.
Learn how to tell which version of
JExpress you are running.
You can see which version of JExpress you're using by selecting the
About box from the Help menu.
You receive 6 months of free e-mail support from the day you purchase
a standard license to JExpress.
If you're evaluating JExpress,
then you get free e-mail support during the evaluation period.
Everyone gets unlimited free
support via our online knowledge base.
Yes, you get 30 days free e-mail support during the evaluation
All major and minor releases will be available for download free
during the 6 months after the date of purchase.
After the initial 6 months, you have the option of
purchasing Annual Updates
within 6 months. If you decide not to purchase the Annual Updates
within the first year and then you decide that you want to get
updates, you'll need to purchase a new license which supercedes
the old license.
If you purchase updates for
JExpress, then you get all major and minor releases for the next 12
months from the date of purchase. If you purchase the updates at
the same time that you order a license for JExpress, then you'll
get a total of 18 months of updates from the date of purchase
(6 months included with the license plus 12 months for the Annual Updates).
If you let your updates lapse, then you can
renew the updates.
Purchasing the annual updates does
not include technical support. You must purchase
the Annual E-mail Support, if you'd like additional technical
You may only extend the annual updates if you currently can receive updates.
Otherwise, you must renew the updates.
Six months of free updates are included
with the purchase of a new license. If you extend your updates before the end
of that 6 month period or before your current annual updates expire, then you
can get a significant discount.
Regardless if you extend or renew the updates, you'll get 12 months of all
major and minor updates released starting when your current updates end if extending
or when you place your order when renewing.
Purchasing the annual updates does
not include free technical support. You must purchase
the Annual E-mail Support, separately, if you'd like it.
Yes, all of our support staff have over many years experience in development
and technical support.
You get unlimited free support via our online knowledge base. If you want
special attention after the free support period, then you can elect to
subscribe to the annual support program. You can learn more about our
support programs by clicking here.
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
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
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:
You receive all the Java source produced by DeNova
for the JExpress installer and uninstaller. In other words, all the
java source files for the class files found in the JExpressInstaller and
JExpressUninstaller subdirectories of the Standard license. You
also receieve the C++ source for the programs that installs the JVM
When you purchase a new license, you also get one year of free technical support, as outlined in the
license agreement, free updates for one year, and free year of CopyCheq services.
Review the license:
Of course, we use JExpress to build our installers, updaters, and
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
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
Yes. You can add a custom command to change an environment variable.
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.
Kagi does accept purchase orders, but
you must submit your order via Kagi's order form
and follow these instructions.
As soon as Kagi confirms receipt of payment, you'll receive email with your credentials.
our authorized reseller, accepts
wire transfers in U.S. dollars (USD).
You pay for 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 "USD" as the currency or else the "Wire transfer" payment
method will not be available.
Important: When you order through Kagi, 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.
Kagi only accepts
in U.S. dollars.
When you finish submitting your
order, Kagi will provide banking details for you to send the wire transfer.
As soon as Kagi confirms the transfer, you'll receive email with your credentials.
Our authorized ecommerce reseller, Kagi
handles all of orders. When you click on a button to
on DeNova's site, you are automatically redirected to a secure order form Kagi's site.
There are no shipping or handling charges as we deliver all software via
If you are located in California or 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
If you order via the secure online order form at Kagi's or 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 order via fax with a credit
card, then it can take 4-8 days to process your order. If you order by
prepayment through Kagi, then it usually takes 5-10 days after Kagi receives
If you ordered with your credit card through Kagi, then
you can check the status of the order online. Go to Kagi's secure server and
enter the e-mail address and credit card number you used to place your
If you don't find any information about your order, then you can
contact Kagi between 10am and 4pm US West Coast time at
+1 (510) 601-5244 to get more info. Or, if it's been more than 48
hours, you can resubmit your order. We've never had Kagi double
bill for an order, but if they would, you'd simply need to notify us and
we'd get it straightened out immediately.
If you ordered by fax or mail, please remember that it can take up to
8-10 days to process your order. If you've been patient and still not
gotten word, then send e-mail to
or call Kagi between 10am and 4pm
US West Coast time at +1 (510) 601-5244.
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 number.
You can fully evaluate JExpress 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$35 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, and uninstallers created by JExpress.
Kagi is one of DeNova's authorized resellers or
ecommerce stores so all credit card orders are made through them or our
other authorized reseller, Avangate.
DeNova is ready to help with any questions about your bills or credit card
charges. Please send questions to
Avangate is one of DeNova's
authorized reseller or ecommerce store so all credit card orders are made
through them or our other reseller, Kagi.
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
You can use your Master card, Visa, American Express, Discover, EuroCard,
if you prefer using a credit card. You can also pay by check or money
order in US Funds. If you elect to pay by check, please allow 2-6 weeks
for us to receive and process your order.
You can print out an invoice or save it to a PDF file. Look at the
"Thanks for your payment" email message you received from Kagi. You'll
find a "Transaction ID" in the details. Add that Transaction ID after the
equals sign (i.e., =) to the following URL:
For example, if the Transaction ID is CH123456DE, then the URL would be: