How do I make a java installer?
Use JExpress
JExpress:
What are the advantages of JExpress over the competition?
JExpress provides all of these features in one product:
Why shouldn't I just write an installer myself?
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. Or even get a source license at a reasonable price. Your software will make a great first impression by starting with a strong installer.
Why not just use Java Web Start?
Functionality 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 profressional cross platform installer, updater and uninstaller.
JExpress also supports standalone installers because JWS is not always reliable. For example see Sun's own forum and more. We've had customers report that the user has to clear the cache if anything goes wrong when using JWS. Users don't know how to do that. If your app uses Java 1.6 then the cache for all programs, not just yours, gets cleared. This definitely makes folks unhappy.
By choosing JExpress, you can create native installers, cross platform installers, and JWS installers.
Can JExpress make my Java app an EXE on Windows?
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.
Is JExpress only a Java installer?
No. JExpress leaves simple installers far behind. Software protection is 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 updates 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 customize your installers and updaters using simple Java.
Of course, you design your professional installers through a GUI. You can choose a simple wizard or an advanced interface, both included. Your installers are cross platform and ready for the international market. Your customers get the exact JVM your application needs.
But there's a lot more to getting your app ready for the market than just building an installer. JExpress takes the drudgery out of preparing a new version for distribution and manages updating your customers automatically.
With a click, JExpress...
Does JExpress support languages other than English?
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
Has JExpress received 100% Pure Java certification?
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.
Can I install directly from the web?
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.
Can I run JExpress and its installers on a headless machine?
Yes, if the machine has a virtual framebuffer installed. Learn more.
How do I customize my installers and updaters with JExpress?
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 step-by-step example.
>
Can I collect information from the user during installation?
Yes. Just customize your installers with a form on a simple WizardPanel.
Can I access information, such as the installation directory name, in my custom extensions?
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.
>
What is the size of the installer?
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.
Can I use a single JExpress installer for multiple, related projects?
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.
Does JExpress let me create multiple install types (e.g., Typical, Compact)?
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:
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.
Do I need a JVM on my machine to install JExpress?
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.x, 1.6.x, 1.7.x, or later on your machine.
Do my customers need a JVM on their machine to install my application?
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.4.1 or later installed on their system.
Can I change the version of the JVM that is distributed with the native installers?
Yes. Review the technical FAQ to learn how to ship whichever JVM that is best for your application.
>
Do the native installers have to distribute a JVM?
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".
Do I use a Wizard to create my installation programs with JExpress?
It's your choice. JExpress lets you use either a wizard or a more advanced interface to build your Java installation programs.
Do my customers use a Wizard with the installation program?
Yes. You get sophisticated Wizard installation programs with JExpress. Your customers quickly move from dialog box to dialog box.
You can easily add panels and custom commands to the install wizard if you use JExpress.
Can I use JExpress even if I'm not a Java programmer?
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.
Can JExpress create installers for non-Java products?
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.