For a while now, I’ve been looking for an easy-to-use solution for doing safe automatic application updates on Microsoft Windows in much the same way that Sparkle works on the Mac. So far, however, I havent really had much luck.
A number of solutions exist though. The most notable candidates
- Googles Omaha
- Sevenupdate
- Wix ClickThrough
- .NET ClickOnce
- Software update wizard by http://www.powerprogrammer.co.uk/
- WinSparkle
Each features its own set of problems (with the possible exception of “Software update wizard”). Looking at each in turn:
Google Omaha
Google Omaha sports a list of dependencies long enough to make me seriously consider if I even want to take the time to look into the project in any sort of real detail. Additionally, the server software required to make the thing work is google proprietary (closed source) code, so I am not really comfortable deploying it. In my opinion, it really shouldn’t be necessary with custom server software for a problem as relatively simple as this. If all else fails, I may take a closer look at Google Omaha though.
Sevenupdate
Seven update is an open source platform for deploying and updating software on Windows systems. From what I can tell, it pretty much fits the bill with respect to what I am trying to achieve. What has me worried about Seven update is the complete lack of documentation. At least, I am unable to find any documentation on the seven update web site.
Additionally, I can’t really figure out if Seven update is a complete stand alone application which must be installed on client machines. I would much prefer the automatic update software be embedded in the application installer, and callable at application startup time (again, much like Sparkle). I am not even sure that deployment in a corporate environment is even possible using Seven update. And did I mention the complete lack of documentation?
Wix ClickThrough
While the Wix ClickThrough project sounds like a usable and powerful approach (especially considering that we are already using Wix for creating installer packages), the project appears to be mostly vaporware. As far as I can tell, it consists solely of a mission statement created in 2005.
.NET ClickOnce
ClickOnce is strictly .NET (or well, mostly so: http://www.codeproject.com/KB/install/MfcClickOnce.aspx). It appears to be fairly tightly coupled with the .NET framework and Microsoft Visual Studio. We currently use neither of those products, so ClickOnce doesn’t appear to be viable option for us.
Software update wizard
Looks like the most promising system. It’s a for-pay library, which appears to support automatically installing application updates in various forms. It’s UI leaves a bit to be desired, but it appears to be easy enough to customize to warrant looking into. I will probably give it a try over the next few days, and see if it can be made to do what I need.
WinSparkle
WinSparkle wants to port Sparkle to Windows, and while it looks like a promising project, it doesn’t appear ready for prime time just yet. As a bare minimum, it needs to support installing application updates, instead of just launching a browser pointed at the update page.