views:

48

answers:

1

Endowing utility applications with "auto-update" capability seems like basic good manners these days.

I'm thinking of apps like Reflector or Paint.NET, that proactively tell you "hey, there's a newer release available. Wanna download it?"

Q: Does anyone know of a common framework that can be used by apps that come from Codeplex projects, to alert the user if there is a newer release, and optionally download and install that newer release directly from CodePlex?

Obviously there's ClickOnce, and the Updater Block, and I've written utility classes for doing this myself, for winforms and WPF, and other people have written similar things, but all these require the app publisher to publish the app outside of Codeplex, in order for the auto-update to work. What I'm imagining is something that just downloads directly from codeplex.


EDIT
I can imagine such a framework might impose a structure on how the app is published to codeplex. It may require a "manifest.xml" to be published with each release, and inside that manifest file might be a app version, timestamp, notes on the release, URL to the latest binary download, and so on.

It seems like someone would have built this already.

+1  A: 

For all I know (based on my experience of trying to make Componento download archives from CodePlex), it is notoriously difficult to just donwload a single file programmatically, since constructing a link similar to http://mef.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34838#DownloadId=88937 is not a very plesant experience.

That said, it's still possible to have a single 'updates.xml` file at a well-known location and check for updates using it.

Anton Gogolev
I was thinking a common framework would parse the RSS feed for releases, then look for a well-known name (like "manifest.xml") on each release. . .
Cheeso