Im trying to work an automatic update process in to my application. I have read a lot about the method of creating a seperate project within your solution that essentially shadow copies your dlls and then launches the main application from a new appdomain, so that the main app can then overwrite the original dlls to update (with its update logic written in).
Im not fully sure im understanding this correctly. My question is that if you have a seperate exe (a project in VS with just 1 class in that has a main and launches the shadow copy appdomain), then why do you need to shadow copy ? As your running this seperate little exe, and your main application files are not locked or loaded? Couldn't you just do the update there ?
Any pointers on this or insights would be great !
Thanks
mikePosted Jul 24, 2010, 6:42 PM
Yea - i have an application that i have running on say, 10 client machines. When i make changes to the code i need to update them all but dont want to give them all new installers. I was planning on having the app call a webmethod on startup to check for a new version - if there is then patch before starting up. People seem to say shadow copying is a good way to do this because i can copy over the original dlls.. which sounds right.
I am having trouble when it comes to actually implementing it. I have it working, but its a seperate project in my VS solution that loads my main app assembly in to a new shadow copied app domain. Annoyingly, this means i have the main app .exe, and another .exe for my "Loader" app. I dont want two exes... because i dont want them being able to run without the Loader. And i dont know how to do this :-)
Mahesh ChandPosted Jul 24, 2010, 9:55 AM