This post originated from an RSS feed registered with .NET Buzz
by Duncan Mackenzie.
Original Post: The Updater Application Block... various additions...
Feed Title: Code/Tea/Etc...
Feed URL: /msdnerror.htm?aspxerrorpath=/duncanma/rss.aspx
Feed Description: Duncan is the Visual Basic Content Strategist at MSDN, the editor of the Visual Basic Developer Center (http://msdn.microsoft.com/vbasic), and the author of the "Coding 4 Fun" column on MSDN (http://msdn.microsoft.com/vbasic/using/columns/code4fun/default.aspx). While typically Visual Basic focused, his blogs sometimes wanders off of the technical path and into various musing of his troubled mind.
One of the nice things about the Updater Application Block is that it was written to be quite extensible... I saw a post today where SamSantiago mentioned he had created a custom class to delete all those old versions on your machine whenever you do an update.... very cool, I'll be trying that out right away...
Personally, I've updated the updater in a few different ways, but the most recent changes have been the most reusable, in my opinon;
I fixed the code so that it no longer requires users to have admin rights...
I added a 'mandatory' flag to the updates (and updated the manifestutility in a few different ways), so that for some updates the client app would know not to ask the user if they want to upgrade... great for occasionally forcing everyone up to the same build...
and I modified the manifest retrieval code so that it can call an ASP or ASP.NET page, which in turn allowed me to create a manifest.aspx page that returns different manifests based on the user's credentials (so I can have a 'beta' group who are given one version, and everyone else gets the last major release...)
I've got to work out a way to get these bits of code online.... it isn't hard, but it takes time that I haven't planned in yet :)