«« Durham Spec in the Pipe First Draft of Durham Spec »»
blog header image
WiX Plugin for Eclipse?

I've been learning WiX over the past week and so far have found nothing in terms of using it with Java or Eclipse. So here's a blog entry to be picked up by Google to gauge interest in the idea and let people post comments pointing to resources for Wix and Java combos.

WiX is a tool to generate setup files for Windows released as open source (CPL) by Microsoft last year. It is maintained/lead by Rob Mensching. The generated setup files are a relatively new format (MSI) that can be executed just like setup EXE files.

WiX uses XML markup to specify the installer settings and uses a compiler and linker-like system to get to the final MSI file. WiX runs on .NET and has dependencies on the Windows Setup APIs so it cannot be run on Mono (a Linux port of the .NET framework and Common Language Runtime (CLR)).

The good thing about WiX is that it's already being used internally by several large Microsoft teams (including Office) as well as externally by teams like MySQL. Even though it's still officially in beta this really looks good!

There are already people working on better RCP application export functionality for Eclipse. It would be even better if you could just export a Windows installer straight from Eclipse. Eclipse already knows all of the required files for each plugin.

Even though WiX is an open source tool there are a few minor issues I see integrating it with a development environment like Eclipse.

First off, WiX is Windows only and that makes a WiX Eclipse plugin Windows only. There are very few examples of Eclipse plugins that only work on one platform. To counter this there could be RCP installer exporters specifically for Mac OS X and Linux as well.

Secondly, WiX requires the .NET framework and Microsoft Setup APIs that cannot be deployed with the plugin and must be installed separately. This is a minor annoyance but certainly not a barrier. Eclipse already requires the separate installation of Java, of course.

Lastly, there are people that prefer to use Ant to build Java projects and do not necessarily setup their project plugins properly to export installers. They may also want to generate an installer for a timestamped/versioned Ant build after the fact, something completely independent from Eclipse. Ant builds are nice because a) they can be automated (ie. nightly) and b) they are more consistent and are less error-prone than "hand-building" an installer. I haven't seen any WiX integration with Ant either unfortunately.

There's already buzz about WiX integration in Visual Studio 2005. Someone -- possibly even the Eclipse team -- may want to try to beat Microsoft at their own game on this one.

A real Windows installer exporter from Eclipse would be excellent!

That's funny -- just before I published this I noticed this post from Ed Burnette pointing out XtremeJ RCP Builder which uses NSIS instead of WiX. I wonder how NSIS features and WiX features stack up against each other...

Posted at February 07, 2005 at 11:34 AM EST
Last updated February 07, 2005 at 11:34 AM EST
Comments

One disadvantage of WiX is that the user may need to download and install a separate installer to run the .msi file. But it could be argued that most people have it already. On my "list of things I'd like to do if I had time" is an open source Eclipse installer subproject that would be XML based like WiX but be stand-alone like NSIS and cross-platform like InstallAnywhere.

» Posted by: Ed Burnette at February 8, 2005 10:34 AM

That's true Ed. If I'm not mistaken the installer applications for MSI files are included with Windows XP/2003 and with the latest Windows 2000 service packs. Not sure about versions of Windows older than that.

» Posted by: Ryan at February 8, 2005 10:39 AM
Google
 
Search scope: Web ryanlowe.ca