Mac App Bundles
Auto start on boot
Start after installation
Install as a service/daemon
More customers and bigger sales
Online copy protection
Flexible license models
Reports on compliance and usage
Protection beyond copyright
Consistent look across platforms
Add logo and select color scheme
32 and 64 bit installers
Windows XP, Vista, 7, and 8
Build any installer on any OS
Mac OS X 10.1 through 10.8.x
Cross platform installer
Install java and non-java apps
One installer, multiple products
Multiple install types
Multiple directory trees
Click free installers
One click Java Web Start installer
Install from the web
Update launchers for java apps
Protect your update revenue
Update any program, not just java apps
Installs exact JRE
Automatically configures classpath
Creates JAR files
Pack 200 support
Eliminates unused classes
Signs JAR files
Supports Java 5, 6, and 7
Preset install directory
Password protect your distribution files
Accept user input
Use Java to add special functions
Install 3rd party products
One click to build and deploy
Integrates with ant, maven, etc.
Download pages generated
One click for a new release
Define your own distribution tree
Prepare your own JRE bundle
Convert Java app to an EXE
Create EXE installers
Build DMG installers on Mac and Linux
Sign Windows installers
Sign Windows launchers
Sign Mac OS X installers
6 Months free support
Easy and professional
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.
Try JExpress now
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.
Your applications can have a desktop icon added to Windows, Mac, and
Linux by simply adding a
while creating your installer project.
Just add a
when you create your installer project and JExpress will set up
your customers' computers so your application starts everytime their computer
After the installation finishes, you can have your application
automatically start by adding a
when you design your install project.
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
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
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 also can setup
Windows services and
by adapting a simple custom class. To learn more about
managing the Windows registry
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
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
includes a complete
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.
Use the JExpress Updater to keep any program that you distribute up-to-date.
Learn how easy it is to create an updater.
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.
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
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
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
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
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
You create your updater by just clicking a radio button in a dialog box.
And if you need something really special, you can
updater with templates and java.
You can learn more about
autoupdates by reading how autoupdates work or
following the step-by-step example.
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.
You can learn more about
how customize your installers and updaters
or follow a step-by-step example.
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,
and include the class on the
Custom | Install panel
using the Advanced interface for JExpress Builder.
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.
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
You even have the option of configuring the installer so it
always runs silently. Just add a
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
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
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
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
You decide on the names for
the components and provide a brief description to help the customer know
the differences between your options.
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.
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
JExpress can password protect your
distribution files so only customers with the valid password can install
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 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.
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.
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
JExpress handles the
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
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 can use your certificate to sign your installers.
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 can use your certificate to sign your JAR files.
JExpress can use your certificate to sign your native Windows installers.
JExpress can use your certificate to sign launchers that JExpress creates for your
JExpress can use your certificate to sign your native Mac OS X installers.
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.
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
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
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.
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.
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:
You can set up a single standard license exactly the way you want. Or optimize revenue from each customer.
Change the license terms anytime.
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.
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.
Protects your software or service without:
Direct online authorization. Not authorized? Doesn't run.