How to support automatic client upgrades
Posted on 2007-03-31
I have a c# application using .Net 2005 and the 2.0 framework. Currently it is deployed on about five machines but i expect that to increase to about 300 in the near future. Currently i just copy the executable to the clients when i create a new version.
With 300 potential clients i'd like to find a better way. I'm looking for suggestions on how to automate this process. I'm thinking of something like Quicken uses, where it senses a new version somehow and asks the user if he wants to install it.
I'm' not sure how those programs work, since i don't think you can overwrite the app that's running with a new version (i.e. simple logic that looks for a new version and overwrites itself). I'm currently thinking about spawning a small executale that performs this task and closing the currently running one, overwriting, then relaunching the client. Basically, i just want to put the new client on the network and know that the clients will receive it when they are run the next time.
If there are best practices on how this should be done or products that can help i'm all ears.
note: Currently i rdp to the machine and copy the new client executable from a network share. Assume that this network share exists and can be specified in the preferences.