Environment:
- .NET
- c#
- VS2005 and
- some 3rd party components
- .vdproj files (setup projects inside VS 2005) for .msi building - not "one click deployment"
Problem
I am in a project phase where there are several updates to the project during a day. Since every change is small (two assemblies at most), it would be convenient for the user to use some kind of automatic update that will be both fast and worry-free.
Proposition
I would like to do a simple system that would store my app files somewhere on my server, along with some xml file that will list them with their hashes. Desktop app will read xml, compare hashes, download the required files, restart the app and user would have new version without even noticing it.
So my thought go further...
Client app for it: simple, day or two of work. Considerations:
- have to take care of permissions to write files to user program directory (actually I'm helpless if I can't)
- have to launch updater process that will download and replace files and relaunch original app
- have to make local xml file with hashes at first run, and for that I need local list of deployed files that could change (since all of them aren't just in the local app folder)
Server side is trivial, but there are also some considerations:
- root file with current version description, file list and hashes
- manually upload files to server, create tool for hashing files
Now the question: is there some tool that follows my train of thought to do that without much hassle from the side?