Great sample!! (all comments are based on using ServerManifestCheck for ChangeDetectionMode)
After playing with the code for a little while and watching what it does, I noticed that the downloader code does not leverage existing DLLs in the original install directory. It downloads everything and then merges the code from the original install directory (please correct me if I am wrong). Wouldn't it make sense to copy the original installation folder to the download folder first and then start downloading? (The downloader code is smart enough not to download files that are the same) Since the downloader code does not take into account the contents of the existing installation folder it ends up downloading everything from the update server. What if you only need to deploy a fix to a 10KB DLL? Some other observations: * By linking the update version with the assembly version in the main application EXE, you cannot send down an update without recompiling the main EXE. What if you just want to deploy a minor DLL change? Then you need to recompile the EXE as well. * Another side effect of linking the main EXE is that you cannot rollback if something goes wrong (yes, I know you need to be careful but sometimes you may need the option of downgrading a user to a Known Good Version). * appdomain setting does not work when restarting the EXE - it immediately closes (someone else posted this issue as well). I modified the code to store the version number in the in the appstart.config and use this version to determine "when to download" rather then depending on the main app EXE assembly version - this allows a rollback or incremental update (main EXE does not need to be recompiled). Mark, is there a better place to send feedback? To: [EMAIL PROTECTED] cc: Mark Boulter Subject: [DOTNET] *NEW* Auto-deployment whitepaper and sample code <[EMAIL PROTECTED]> Sent by: dotnet discussion <[EMAIL PROTECTED]> 03/07/2002 06:07 PM Please respond to dotnet discussion I just wanted to let you know there's a new auto-deployment article written by Jamie Cool on the Windows Forms team on GotDotNet http://www.gotdotnet.com/team/windowsforms/appupdater.aspx ***.Net Application Updater Component**** Want to make your application smart enough to update itself? This article describes how to do just that. The .NET Application Updater component included with this article is the same one used to make the .Net Terrarium game automatically updatable. by Jamie Cool, Program Manager - Microsoft .NET Framework You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.