<p>I want to implement an "automatic update" system for  a windows application. 
Right now I'm semi-manually creating an <a href="http://connectedflow.com/appcasting/" rel="noreferrer">"appcast"</a> which my program checks, and notifies the user that a new version is available. (I'm using
 <a href="http://nsis.sourceforge.net/Main_Page" rel="noreferrer">NSIS</a> for my installers).</p>

<p>Is there software that I can use that will handle the "automatic" part of the updates, perhaps similar to  <a href="http://sparkle.andymatuschak.org/" rel="noreferrer">Sparkle</a> on the mac? Any issues/pitfalls that I should be aware of?</p>

[{'answer_id': 37031, 'author': 'tbreffni', 'author_id': 637, 'author_profile': 'https://Stackoverflow.com/users/637', 'pm_score': 2, 'selected': False, 'text': '<p>If your application is written in .Net, you could try <a href="http://msdn.microsoft.com/en-us/library/142dbbz4.aspx" rel="nofollow noreferrer">ClickOnce</a>.  However, it\'s difficult to perform administrative or custom actions during install using this approach.</p>\n'}, {'answer_id': 37032, 'author': 'Jeremy McGee', 'author_id': 3546, 'author_profile': 'https://Stackoverflow.com/users/3546', 'pm_score': 2, 'selected': False, 'text': '<p>For .NET, a while back Microsoft Patterns + Practices published the <a href="http://msdn.microsoft.com/en-us/library/ms978574.aspx" rel="nofollow noreferrer">Application Updater Block</a>. This was (to my mind) rather overblown and over-engineered, but did the job quite well.</p>\n\n<p>In essence it used a "stub loader" to check a manifest and a Web service to see if a later version of the program than the one installed was available, then used the BITS background downloader technology to download a new version if one was available on the server.</p>\n\n<p>Once the new version was downloaded and installed (with .NET this is as simple as an xcopy to the relevant folder), the application would update the manifest. The next time the program was loaded the new version would be launched.</p>\n\n<p>While the Patterns + Practices code is .NET specific, there\'s nothing there that couldn\'t be copied for a non-.NET application, especially if you have the ability to silently run the install process in the background.</p>\n'}, {'answer_id': 37035, 'author': 'Sören Kuklau', 'author_id': 1600, 'author_profile': 'https://Stackoverflow.com/users/1600', 'pm_score': 4, 'selected': True, 'text': '<p>There is no solution quite as smooth as Sparkle (that I know of).</p>\n\n<p>If you need an easy means of deployment and updating applications, <a href="http://en.wikipedia.org/wiki/ClickOnce" rel="noreferrer">ClickOnce</a> is an option. Unfortunately, it\'s inflexible (e.g., no per-machine installation instead of per-user), opaque (you have very little influence and clarity and control over how its deployment actually works) and non-standard (the paths it stores the installed app in are unlike anything else on Windows).</p>\n\n<p>Much closer to what you\'re asking would be <a href="http://wix.sourceforge.net/clickthrough.html" rel="noreferrer">ClickThrough</a>, a side project of <a href="http://wix.sourceforge.net/" rel="noreferrer">WiX</a>, but I\'m not sure it\'s still in development (if it is, they should be clearer about that…) — and it would use MSI in any case, not NSIS.</p>\n\n<p>You\'re likely best off rolling something on your own. I\'d love to see a Sparkle-like project for Windows, but nobody seems to have given it a shot thus far.</p>\n'}, {'answer_id': 49829, 'author': 'Dave Arkell', 'author_id': 4002, 'author_profile': 'https://Stackoverflow.com/users/4002', 'pm_score': 0, 'selected': False, 'text': '<p>Just came here from an answer to my own question on the same subject - I mention one other <a href="http://windowsclient.net/articles/appupdater.aspx" rel="nofollow noreferrer">updating solution</a> in my <a href="https://stackoverflow.com/questions/49747/autoupdating-net-applications">question</a>.  It uses a stub loader, and an xml file to point to the latest executable.</p>\n'}, {'answer_id': 2302900, 'author': 'Václav Slavík', 'author_id': 237188, 'author_profile': 'https://Stackoverflow.com/users/237188', 'pm_score': 4, 'selected': False, 'text': '<p>There\'s now a Windows port of Sparkle, see <a href="http://winsparkle.org" rel="noreferrer">http://winsparkle.org</a>.</p>\n'}, {'answer_id': 3294180, 'author': 'LoneRanger', 'author_id': 384141, 'author_profile': 'https://Stackoverflow.com/users/384141', 'pm_score': 2, 'selected': False, 'text': '<p>It\'s a good idea to use a third-party solution, cause autoupdates can be a pain, especially with Windows Vista/7 (UAC). For what it\'s worth, the product my company uses is <a href="http://AutoUpdatePlus.com/" rel="nofollow noreferrer">AutoUpdate+</a> and it seems to work fairly well.</p>\n'}, {'answer_id': 3709667, 'author': 'Mark', 'author_id': 76295, 'author_profile': 'https://Stackoverflow.com/users/76295', 'pm_score': 3, 'selected': False, 'text': '<p>Google Chrome auto-update is based on Omaha:</p>\n\n<p><a href="http://code.google.com/p/omaha/" rel="noreferrer">http://code.google.com/p/omaha/</a></p>\n\n<p>Their <a href="http://omaha.googlecode.com/svn/wiki/OmahaOverview.html" rel="noreferrer">overview</a> has a great section on why it was needed:</p>\n\n<blockquote>\n  <p>The browser typically prompted the user with a long series of techy, confusing and scary dialogs all trying to convince the user not to install. Then the user was prompted with a wizard filled with choices that they did not need to or know how to decide amongst. These factors combined to form a bad user experience and large drop-off during the app installation process</p>\n</blockquote>\n'}, {'answer_id': 5548734, 'author': 'Helge Klein', 'author_id': 234152, 'author_profile': 'https://Stackoverflow.com/users/234152', 'pm_score': 1, 'selected': False, 'text': '<p>For .NET applications you might want to have a look at <a href="http://netsparkle.codeplex.com/" rel="nofollow">NetSparkle</a>, a Sparkle variant for .NET programs. It is pretty new (from 2011) and developed actively.</p>\n'}, {'answer_id': 7036883, 'author': 'yarone', 'author_id': 858850, 'author_profile': 'https://Stackoverflow.com/users/858850', 'pm_score': 2, 'selected': False, 'text': '<p>wyUpdate looks really nice.  See video here:\n<a href="http://wyday.com/wybuild/help/automatic-updates/" rel="nofollow">http://wyday.com/wybuild/help/automatic-updates/</a></p>\n'}]
['https://Stackoverflow.com/questions/37030', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/3002/']