views:

168

answers:

5

Does anyone have experience with a library or tool suite that helps an ISV deliver software updates of shipped products? We ship software that runs on OS X, Linux, and Windows. We have partial solutions that are platform-specific for each platform, but we would like to have a single, unified system for pushing out software updates to our installed users. We will probably end up rolling our own solution, but I wanted to ask if anyone here knows of a good off the shelf solution.

Also, has anyone ever tried using Subversion (combined with libsvn on the client side) for this purpose? Any thoughts about the pros and cons of such an approach?

Thanks!

Edit: The installed applications in this case are full-blown desktop applications - some Java, some Dot Net (with the Mono runtime), some native C++. So we are open to any platform or language to solve the problem.

A: 

I'm fairly sure that InstallAnywhere has a built in update system. It's cross platform too! There's a free trial so you should be able to see if it meets your needs.

Zxaos
We're already using InstallAnywhere for the installers all of these products, and my release engineer swears up and down that it doesn't have any software update features built in, but I will ask him again to make sure.
Clay Fowler
Looks like another product called FlexNet Connect can optionally be purchased and is in some way compatible with InstallAnywhere. Looking into it...
Clay Fowler
I'd stay far, far, away from anything associated with InstallShield. Even if it's just from the same company.
JesperE
My mistake - I didn't realise that the update functionality was part of a separate package. Sorry :-(
Zxaos
A: 

I would look into the Eclipse p2 stuff. It's intended to eventually do that you want, and I know there is a lot of 3rd party work going on that uses it. There are probably companies that offer this sort of update mechanism with non-Eclipse artifacts.

Francis Upton
+1  A: 

I don't think Subversion is really what you are looking for. You would be using only a very small subset of Subversion's functionality, and you would still miss things like versioning constraints between different components (component A requires version X of component B, etc).

Using Eclipse p2 for this would be interesting; p2 is not limited to distributing Eclipse plugins/features, although I do believe you'll find yourself somewhere along the bleeding edge on that one.

Perhaps RPM or DEB would fit your needs (along with suitable UI layers on top). Some porting work might be required though.

JesperE
+1  A: 

The stuff that claims to be, so far hasn't been good enough or doesn't cover enough platforms. My current company also has the same problem and we haven't find a single cross platform solution. I also do not think highly of InstallShield products.

So I do not think there is a GOOD one out there yet, and the only way to get one would be to do it yourself, or to find a decent open source one and see about adding additional platform support to it.

My suggestion would be to look at the Google Updater project Omaha, and see if you can port it to work on the platforms you needed. It works great for Windows, and would have the best chances of getting support if you wanted to take it to other platforms. This would mean your company has some developers they can spare a few cycles on to contribute to porting.

If you guys end up rolling your own solution and want to take it open source let me know I would love to contribute and help out any way I can. This would be a great solution that the community sorely needs.

Rodney Foley
A: 

BitRock InstallBuilder bundles a multiplatform autoupdate tool (Linux, OS X, Windows). Depending on what you need to do it may or may not be what you are looking for (though from your description it seems it would meet your requirements). Drop us an email, we welcome InstallAnywhere refugees :)

Daniel Lopez