Upgradable application
-
What is the best way of upgrading an application via the web? I would prefer it to be included as a dll instead of a stand alone exe. My thought would be to check a dat file for a version change and a url to the upgrade. How would I close the running app to replace it with a newer version? How could I control who had access to download upgrades? Any sudo code would be nice thanks in advance. All ideas are excepted, thanks. Darroll
-
What is the best way of upgrading an application via the web? I would prefer it to be included as a dll instead of a stand alone exe. My thought would be to check a dat file for a version change and a url to the upgrade. How would I close the running app to replace it with a newer version? How could I control who had access to download upgrades? Any sudo code would be nice thanks in advance. All ideas are excepted, thanks. Darroll
Imho, there's probably no "best" way to do this, but there certainly are a number of alternatives. You should pick the one that works best for your type of app. Here are a couple off the top of my head. I'm sure other people could come up with smarter ideas.
- Load all your DLLs explicitly (using
LoadLibrary()
). This lets you replace DLLs on the fly. Your main app would be the driver for the upgrade task, allowing the user to upgrade without exiting the app. Imho, this is likely to be a lot of work, since you have to design your app from the start to load its behavior from DLLs, and have very little business logic within the app itself. - Spawn an external upgrader app that only knows how to check for a newer version, shutdown the current version, upgrade the app, and restart the upgraded version. This is relatively easy to do and puts almost no constraints on the design of your app.
/ravi Let's put "civil" back in "civilization" http://www.ravib.com ravib@ravib.com
- Load all your DLLs explicitly (using