Buy or Build for web deployment?

Posted by Cannonade on Stack Overflow See other posts from Stack Overflow or by Cannonade
Published on 2009-03-23T03:22:12Z Indexed on 2010/06/08 22:52 UTC
Read the original article Hit count: 315

Filed under:
|
|
|
|

I have been evaluating the wide range of installation and web deployment solutions available for Windows applications. I will just clarify here (without too much detail, these tools have been covered in other questions) my understanding of the options:

  • NSIS - Free tool that generates setup executables. Small binary. Specialized, sometimes obtuse, scripting language.
  • Inno Setup - Free tools for setup executables. Various binary compression schemes. Pascal scripting engine.
  • WIX - Free toolset to generate MSI binaries. XML definitions language.
  • WIX ClickThrough - Additional tools for packaging, web download and auto update detection (now part of WIX core).
  • InstallShield - Commercial development environment for installation packaging. Generates MSI binaries. C-like InstallScript language.
  • Wise - Commercial development environment for installation packaging. Generates MSI binaries.
  • ClickOnce - Visual Studio supported framework for publishing applications to a webserver, with automatic detection of updates. No support for custom installation requirements (INI files, registry etc ...). Packages setup as an MSI binary.
  • Install Aware - Commercial development environment for installation. Generates MSI binaries. Automatic Update framwork (Web Update).

If I have missed any, please let me know.

And found some useful discussions of these technologies on StackOverflow:

I have worked with a few of these solutions, as well as a handful of proprietary internal installation solutions. They are mostly concerned with packing installations and providing a framework for developers to access the run time environment. With the growing requirement for web deployment and automatic software updates, I expected to find more of a consensus among developers on a framework for web delivery of software and subsequent updates, I haven't really found that consensus. There are certainly solutions available (ClickOnce, ClickThrough, InstallShield Update Service), but they each have considerable limitations (please correct me if I mis-represent any of these). I would be interested in a framework that provided some of the following:

  • Third party hosting/management of updates.
  • Access to client environment (INI files, registry, etc..).
  • User registration/activation.
  • Feedback/Error reporting

This is leaving me with the strong impression that the best way to approach the web deployment problem is through a custom built proprietary solution (possibly leveraging existing installer packaging). I have seen this sort of solution work well for a number of successful applications:

Related posts about installer

Related posts about wix