InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

IzPack: Cross-Platform Installer Not Just For Java

Posted by Craig Wickesser on May 31, 2008

Sections
Operations & Infrastructure,
Process & Practices,
Development,
Architecture & Design
Topics
Release ,
Open Source ,
Java ,
Installation
Tags
IzPack ,
Open Source Project Releases
IzPack is an open source, customizable, cross-platform solution for packaging, distributing and deploying applications. It was initially created by Julien Ponge while attending college, primarily as a hobby. Since then the community became involved and the buzz around the project began. Recently, IzPack 4.0 was released and InfoQ had the opportunity to talk with Julien about the latest release, as well as, who the target audience is and what the future holds for IzPack.

InfoQ: What are the core features to look for in IzPack 4.0?

Julien Ponge:  A list of common features is available from http://izpack.org/features/.
IzPack provides a wide range of panels that can constitute an installer (e.g, displaying a license agreement, creating desktop shortcuts, or gathering input data from the user such as port numbers, etc).

IzPack is cross-platform, but OS-specific customizations are possible. For instance you can have variations in the files to be installed depending on the operating that you are running on. More advanced OS integration includes interacting with the Windows registry and creating application shortcuts on Windows and X11 desktops. Finally, we also provide some scripts for wrapping an installer inside a Windows self-extracting executable, or a Mac OS X application bundle.

Version 4.0.0 is a natural maturation of the work.

InfoQ: Who should be using IzPack? What level of programming skills does someone need to work with it?

Julien: IzPack is useful whenever you need an installer for your applications that works identically across operating systems, be it for your company or your pet project. In terms of skills, you don't even need to know Java unless of course you plan to develop specific customizations. IzPack is accessible to people whose job is not primarily to develop Java code.

InfoQ: What projects are currently using IzPack?

Julien: IzPack is used by a wide range of companies and projects worldwide.

Among the famous examples we have JBoss: their installers are all based on IzPack. It is hard to know who exactly using IzPack, but I have managed to spot a few ones including: XWiki, Scala, Mule Enterprise, Jajuk and many others.

We are currently creating showcases to promote IzPack and help other projects. I have personally created an installer for Glassfish (Sun's JavaEE appserver) which is a project that I like very much. It can be obtained from http://izpack.org/showcase-glassfish-v2/ and it provides a more user-friendly installation experience to Glassfish, especially for developers (sysadmins will probably prefer to install it "by hand" on production servers anyway). An IzPack developer recently helped with another showcase for Groovy, so you should shortly hear about an IzPack-based installer for our friends of the Groovy community (we are neighbours as we are both hosted at Codehaus).

InfoQ: Do you plan to provide plug-in support for Eclipse, NetBeans, IntelliJ, etc?

Julien: That is clearly an area where we could improve, so yes, at some point we will look at this seriously.

InfoQ: Is there support for JavaFX Script applications?

Julien: No, but adding more general scripting support would be interesting. Leveraging the syntax of Groovy builders for creating user interfaces would probably be very nice.

InfoQ: Will IzPack remain open source? Is there a business model in the works?

Julien: Of course IzPack is and will always be open source under the Apache License version 2.0. My opinion is that as the project founder and leader, I do have an implicit contract with the community that helped me develop and grow the project, and that contract is simply the licensing choice that was made. Changing to a more restrictive license or a closing it would be a breach of trust between me and the community. We have seen some dramatic examples recently that I won't name... That is clearly something I will never do. We have seen some good examples of business success with an open source project released under a permissive license behind it: G2One, 37 Signals, SpringSource, XWiki, or even larger companies like Sun Microsystems that is releasing most of its software portfolio in the open source space.

InfoQ: Who do you consider to be IzPack's competition, who are you aiming to "beat"?

Julien: Our open source competition is rather low. We are directly competing with proprietary cross-platform deployment solutions, although most of them prefer to generate OS-specific artifacts (e.g., RPM, exe, DMG, ...) rather than a single installer that works seamlessly across platforms like we do. Being open source and having an open API, we also tend to be far easier to customize. We've received a lot of user stories that migrated from a proprietary solution to IzPack, mostly because it covered nearly the same functional needs and because it was easier to extend. There is of course the pricing factor: you don't have to pay us.

We are also "competing" to a lesser extent with native installer solutions. NSIS and InnoSetup are very good choices for Windows-only installers.

There exist complementary tools such as Launch4J and JSmooth that can facilitate the end user experiences while running an IzPack-based installer.

InfoQ: What's next for IzPack?

Julien: We have already planned some enhancements for version 4.1: reducing the installers footprint and supporting Pack200 compression. IzPack is a mature, community-driven project, so we will continue to include people's feedback.

InfoQ: Why should I/we choose to use IzPack?

Julien: Because it is mature, it has been used by large and small companies (including famous ones), it has an active community behind it, and it can be easily tailored to your needs. Oh I forgot: and it doesn't cost a thing :-)

I highly recommend IzPack for software installation if you need to support multiple operating systems, as supporting OS-specific solutions has traditionally been a very costly thing...


IzPack is a maturing solution for packaging, deploying and distributing applications. From desktop applications and standalone servers, even deploying to an application server is possible. Julien did make it clear that IzPack isn't just a solution for Java based applications, it can be used for non-Java based applications as well.

For more information try the following links:

Very good installer by Vincent Massol Posted
That made me giggle by Francois Ward Posted
Additional installation software by Nicolas Brieva Posted
  1. Back to top

    Very good installer

    by Vincent Massol

    I highly recommend IzPack. We're using on XWiki (xwiki.org) and we've been very happy users. We have a maven2 build that automatically generates an IzPack installer and another module that wraps it with launch4j for a native windows installer.

    See svn.xwiki.org/svnroot/xwiki/xwiki-products/xwik...

    Thanks Julien for all your great work.
    -Vincent

  2. Back to top

    That made me giggle

    by Francois Ward

    We have seen some dramatic examples recently that I won't name...


    That made me giggle a bit, since it is so easy to defer what examples he is refering to... :)

  3. Back to top

    Additional installation software

    by Nicolas Brieva

    Some other interesting cross platform products:

    BitRock and InstallAnywhere (they are for pay though)

    Also, for creating MSI (Windows only) there is WiX which is free.

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.