views:

2304

answers:

8

I've decided to add auto-update functionality to one of my applications and was looking for any existing solutions that compare the current running version with the latest version that is then downloaded from the web.

I know Sparkle on Mac OSX which is very nice and powerful, but was wondering whether there is something similar for Win32/MFC?

+1  A: 

I've never used it, but WiX provides ClickThrough. Might be worth a look.

Roger Lipscombe
Thanks for the suggestion, but what I can see from the web site, ClickThrough is still more of an idea rather than a working project.
fhe
A: 

In general no, windows maps things like DLLs (either your own or MFC) in such a way that you can't replace a running program. The msi installer checks the VERSIONINFO and doesn't overwrite installed files that have the same (or newer version) but you would have to quit the runnign instance.

Martin Beckett
It doesn't need to. After an update is downloaded the program can launch an updater which prompts the user to close the program, updates it, and then relaunches it.
Peter Burns
Yes exactly, this is what I'm looking for.
fhe
A: 

I assume you already know about ClickOnce? I wasn't sure it was compatible with MFC, but then I found this article, so if that's the question you're asking, ClickOnce would be something to try.

dnord
The problem I see with this approach is that your app actually becomes a .NET application with dependencies to the .NET framework.
fhe
+2  A: 

I found two more projects aimed at solving this: http://sevenupdate.sourceforge.net/ and Google's Omaha but it's not clear either of them has any external users yet, so this question is apparently still open. I too am looking for a solution....

spot
A: 

AbstractSpoon uses "Software Update Wizard" from here for their awesome ToDoList MFC app.

Aidan Ryan
A: 

There is open source project WIPT inspired by APT of Debian Linux. However, the project seems to be abandoned.

Taneli Waltari
+2  A: 

I just stumpled accross WinSparkle which is an early stage but looks very promising.

fhe
A: 

Another .NET one: SparkleDotNet

TomA