Just in order to use Omaha, you need:
- A non-Express (i.e. paid) version of Visual Studio
- Python
- Scons
- Set a bunch of environment variables, because who needs configuration files?
Lack of clues is always a possible explanation. Some people also want to make sure their software runs on RHEL 5.
Setting environment variables is as easy as writing a .cmd file that sets them for you.
Most devs have Python installed.
Installing Scons is easy.
A paid version of VS can be easily pirated if you don't feel like paying for it. This isn't by accident: MS would rather you be writing Windows software than non-Windows software. And if you're writing software to sell, then a license isn't costly: https://www.google.com/shopping/product/7152061321388788226
The whole point of this tool is to make installing and updating packages easier, but at the same time they have one of the most complicated installation instructions for a standalone software package ever. That is something that makes me wonder how much they really care about simplifying the workflow of installing and updating packages.
Are you sure a day or two of work in exchange for over a year of solid deployment isn't a good exchange? If it isn't, then which alternative would you recommend in order to get similar efficiency?
Nonetheless, I think there's hardly ever a justification for asking other people to perform "a day or two" of work to set up something, even in exchange for years of solid deployment. A day or two, multiplied by thousands of Windows developers, adds up to several man-years of entirely avoidable work.
Entirely avoidable, because it's Google's job, not ours, to package up this Omaha thingy into a neat binary with a neat API that any project can easily use. It's not too difficult to ship a single binary (or collection of binaries) that will work out of the box on every Windows Vista/7/8 PC, with the only dependencies being the Win32 API, vcredist, and perhaps a recent version of .NET Framework. Wrap it all up in an .msi and you're good to go. No need to tell a C# developer, for example, to meddle with Visual C++ or Python.
If the Omaha devs can spend a few weeks to make the setup process as simple as that, now that would have a real chance of adoption.
Also, VS pro is something that a Windows developer could already have. I do not agree to pirating it, though - but MS do provide it for free/cheap if you jump through a few hoops.
"Now, a year later, do you have any updates to share regarding your experience with Omaha?"
"The update system is still running well with no required maintenance for the past year. The server gets almost a request a second at peak times... Omaha checks for updates every 5 hours. If the version that the client has doesn't match what is published it sends a URL (hosted by Rackspace) of the updater. Omaha downloads, verifies, and runs the updater."
So, there's an upfront initial time investment to get it running, and then you don't have to touch it and it still works a year later.
I am not sure it's a good idea to let a third party know what versions of what you have installed on your machine.
Apache2 makes it incompatible with GPLv2. I guess I'll skip that for VLC...
A contrario, the crash reporter, Google-breakpad, is under a BSD license.
I just went for a Wix installer instead that installed cygwin cron as a service. The cron job then rsyncs the current version into the install dir every 5 hours. Finito.
[1]: http://dev.chromium.org/developers/design-documents/software...
That said, it's handy to have a centralised point to check for updates.
It's a completely different tangent to actually creating/managing the install process for a piece of software though.