Andrey Khapugin |
June 30th, 2011 |
We are pleased to announce that a public beta of Excelsior Delivery 2.2 is available for download.
The major new feature of this release is the option to create installation packages in MSI format, which is the native format for Windows Installer.
Specifically, the Packager can now export your project as a set of files that may be provided as input to WiX, an open source toolset that builds Windows installation packages from XML source code, originally developed by Microsoft.
The Packager can also invoke WiX tools directly, essentially enabling you to use Excelsior Delivery as a GUI front-end for WiX. You may also use this feature to migrate your project to a WiX-based setup authoring tool if necessary.
We would greatly appreciate your feedback.
Categories: Excelsior Installer, News, Product Updates
Natalia Baskakova |
June 24th, 2011 |
According to the Support Policy statement, Excelsior JETĀ 6.5 has reached Product End Of Life status. We encourage customers of this version to migrate to more recent versions to receive the support services under valid Support Contracts.
If you need help in migrating to a newer version of Excelsior JET,
do not hesitate to contact us.
Categories: Excelsior JET, Product Updates
Vitaly Mikheev |
June 16th, 2011 |
We have reached the next internal milestone in the development of 64-bit Excelsior JET:
- 64-bit JET Runtime DLLs are now part of regular automatic build
- Compiled executables correctly load the JET Runtime components
- Initialization of 64-bit Runtime passed and reached the point of first execution of Java code
The next goal is running “Hello, world!”, which, in turn, requires execution of multiple Java SE platform classes on startup.
Categories: 64-bit, Excelsior JET
Dmitry Leskov |
May 31st, 2011 |
Thousands of businesses around the world trust Excelsior JET to protect, optimize, and package their Java applications. The Customer Showcase series highlights some of them.
Today’s featured company is Rocksand Computers Limited, UK. Paul Sapsford, Managing Director, writes in:
Pitstop Flag is a digital tachograph analysis application that assists Operators meet the EC Drivers’ Hours and Working Time Directive legislation. From the tachograph data it produces infringement, speeding and summary reports enabling Operators maintain a legally run fleet of vehicles.


Small and medium sized companies such as Rocksand Computers are often capable of providing better products and services at more attractive prices than their bigger rivals, but do not have the latter’s marketing budgets at their disposal. We already treat such companies in a special way, but this series is an attempt to help them get their marketing message out. If you want your product featured in the Customer Showcase, please contact us.
Categories: Customer Showcase
Dmitry Leskov |
May 24th, 2011 |
Our work on the 64-bit port has borne early fruit. During the thorough review and re-write of Excelsior JET Runtime, we have discovered a few stability issues, and promptly backported the fixes to the current and previous version.
At the same time, we have to apologize for being unable to catch up with Oracle JDK team on Java version support – they have already released Java SE 6 Update 25 and we can only provide you with 6u24 today. Will do better next time.
Learn more and download the updates here:
If you are a paying customer of Excelsior JET 7.0 or 7.2, but the download instructions for the above updates are neither in your inbox nor in the junk mail box, request them from our Support Dept. at support@excelsior-usa.com.
Categories: Excelsior JET, Product Updates
Dmitry Leskov |
May 7th, 2011 |
Excelsior Microbusiness Licensing Program enables small companies and self-employed professionals to purchase our main product at a substantial discount.
A small South African consultancy was the first to take advantage of this Program back on May 7, 2008, so technically today is its third anniversary – time to share some results with the world.
But first, for those of you who came to this post without knowing much about us and our product, let me elaborate a bit on why we had introduced the Program in the first place.
Excelsior JET is a Java software development tool licensed per seat. However, it is not an IDE that each developer uses on a daily basis, but rather an optimization and packaging tool that is invoked during automated builds most of the time. Therefore it is often sufficient to purchase just one license for a group of developers. This effectively makes the price per developer too high for the most price-sensitive customers: microISVs, early stage startups, and other very small businesses employing just one or two software engineers. We thought it would be fair to offer discounts to such customers.
Now, without disclosing the absolute sales figures, I can tell you that this Program has accounted for over 35% of all new license sales in 2010 in terms of the number of licenses sold, which translated to 27.5% in terms of revenue:

These figures however do not include upgrades or support contract renewals, to which the participants of the Program contribute much less frequently than other customers, I must admit.
Please do not hesitate to share your experience/opinions and ask questions in the comments.
Categories: Excelsior JET, News
Vitaly Mikheev |
May 6th, 2011 |
Excelsior JET has produced the first 64-bit executable that starts and terminates correctly.
It was compiled by the baseline (non-optimizing) AOT compiler that currently supports only “simple” bytecodes such as arithmetic operations and direct calls. Under the covers, this is a result of completing large development tasks:
- Baseline compiler has been completely re-implemented in Java (BTW, its 32-bit version has passed all JCK 6 tests)
- 64-bit code emitter has been successfully integrated into the new baseline compiler
- Lots of work have been done in the linker to support various JET Runtime structures for 64-bit platforms (which will not be limited to Windows and Linux, we hope
)
Now we are actively working on 64-bit JET Runtime…
Categories: 64-bit, Excelsior JET
Vitaly Mikheev |
February 2nd, 2011 |
A new component completed for 64-bit Excelsior JET is code emitter that generates all necessary x64 instructions. For better design, we have also implemented and tested 32-bit version of the emitter sharing the common infrastructure.
The component is supposed to be highly reusable: in addition to the optimizing AOT compiler, it will be integrated with the baseline (fast non-optimizing) compiler and both 32- and 64-bit JIT compilers. Finally, the emitter will then be used to optimally generate certain platform-specific runtime routines right on the JVM bootstrap.
Categories: 64-bit, Excelsior JET
Dmitry Leskov |
January 11th, 2011 |
Despite Sun’s (now Oracle’s) best efforts to push Java to all PCs in the world, people keep coming to our Web site seeking a way to turn a Java app into a single EXE file that would just run on any Windows box without installation.
Problem is, even though Excelsior JET is capable of compiling your Java application classes together with Java SE standard library classes into a single executable, that executable still needs a number of separate files to run: native method libraries, fonts, time zone information, etc.
Those files are needed because Excelsior JET includes the licensed reference implementation of the Java SE standard library, and that’s the way it works. Changing all the places referencing those files and propagating the changes through Java version updates would be prohibitively expensive.
The solution we used to suggest is to export your application as a self-contained directory, which may then be reduced to a single executable using one of the generic application virtualization technologies such as VMware ThinApp.
If you think application virtualization is an overkill for your needs (especially considering the exorbitant costs of the commercial solutions), here is a quick workaround we recently discovered. Using the free 7-Zip archiver, you may turn the self-contained directory produced by JetPackII into an SFX archive that would unpack itself into a temporary directory, launch your application, wait for its termination and clean up after itself.
For those of you who want to try it immediately, here is a link to the Knowledge Base article with step-by-step instructions and tips to avoid the UAC prompts and PCA warnings on Windows 7 and Vista:
HOWTO: Create a single EXE from your Java application
Packaging a Private JRE
You may be wondering now why you would need Excelsior JET when you could place a private copy of the JRE alongside your application jars in the SFX archive. This is a very valid question, but I suggest you keep reading to learn about the benefits of using our product compared to a private JRE.
Disk Footprint
I will be using our pet example – RSSOwl RSS reader – again. RSSOwl is implemented as an Eclipse RCP application and itself takes 17 MB when unzipped. It also needs a Java runtime so as to run on any computer, whether Java-enabled or not. I have four options:
- Uncompressed application directory with a private JRE
- Same packaged into an SFX archive as described above
- Natively compiled application exported as a self-contained directory
- Same packaged into an SFX archive
And here is the disk footprint chart:

As you may see, even in the uncompressed natively compiled form the application’s disk footprint is not much worse than compressed jars with a private JRE.
Startup Time Impact (can be positive)
Now there is a concern that the intermediate decompression step may substantially increase the overall startup time of the application. At the same time, reading one compressed file sequentially, especially from a slow-seek device such as an optical disk drive, takes less time than reading multiple files in a scattered order. Also, the decompressed files will remain in the disk cache, so the application will then enjoy a very warm start. So if the processor is fast enough to decompress the archive at the pace matching the transfer rate of the device containing the SFX, the application may actually start faster.
I have conducted some measurements to prove or disprove the above speculations. Specifically, I could think of the following scenarios where packaging your app as a single, install-free EXE is desirable:
- You want to place it on the desktop of a digitally challenged friend or family member with the words “when you need X, fast-click this icon twice”;
- You want to place it in a well-known shared folder on your intranet for your non-IT colleagues to use.
- You want to carry it around on a USB stick so as to be able to run it on any PC.
- You want it to run automatically from a CD/DVD (you’ll see why single EXE is desirable in this case as well)
I have run the tests on my desktop (AMD Phenom 9750 Quad-Core, 4GB RAM, Optiarc DVD±RW AD-5260S, Windows 7 Professional 64-bit), measuring startup time as the time to fully display the main window.

You may notice that the decompression overhead is negligible these days even on a midrange desktop PC. Moreover, the use of compression totally eliminates the huge optical drive seek overhead, making Java a viable option for creating “autorun” apps.
I have put the SFX packages on our Web site so that you could test them on your systems.
Download RSSOwl 2.0.6 packaged as a single EXE:
Of course, the generic application virtualization solutions and Portable application creators are way more versatile than the above trick, but they are also way more complex and priced in accordance with that complexityversatility, as this case study nicely illustrates.
Read on for more test results »
Categories: Excelsior JET, Java
Tags: deployment, exe, footprint, Java, startup time
Dmitry Leskov |
December 7th, 2010 |
Tomorrow be an exciting day for all current and former Excelsior JET team members, as it was December 8, 2000 when version 1.0 saw the light of day. Moreover, the first sale took place in just a few hours, so we immediately threw a party!
On behalf of the team, I would like to thank you for your continued interest in our product. To our regret, we cannot invite you to our party, but we have a small present for you:
Dec 08, 2010
EVERYONE GETS
10% OFF
ONE WINNER GETS
FULL REFUND
Coupon code:
TENYEARS
< Order Now >
First, anyone purchasing a new Excelsior JET license, upgrade, or support contract renewal on December 08, 2010 can get a 10% discount by entering coupon code TENYEARS before checkout.
Second, one lucky, randomly selected user of that coupon will get the cost of one purchased item (new license, upgrade, or renewal) fully refunded!
The fine print:
The coupon is valid on December 8, 2010 in all time zones. Depending on your time zone, it may also be valid a few hours before or after that date.
For technical reasons, the offer may not be combined with the discounts extended under the academic and microbusiness licensing programs. You may still claim it in the form of support period extension. Just make your purchase on December 8, 2010 and email us.
Should the winner’s order contain two of more separate items, e.g. a support contract renewal and a license upgrade, the remaining 90% of the most expensive item cost will be refunded. Windows+Linux bundles count as one item.
Categories: Excelsior JET, News
Tags: offer