Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Strategies for "on the fly" application updates

Status
Not open for further replies.

dgerdner

Programmer
Mar 30, 2005
41
US
Our application is deployed using Citrix Server, so currently in order to release a new version we must get all users out of the application and copy the EXE and all DLL's.

Is there a "conventional wisdom", or has somebody worked out a strategy, where patches to an application (ie: new DLL's) can be distributed without forcing all users out?
 
I have been looking into this recently.

There is a freeware app written in C# that has a "live update" feature which checks a server for a new version each time it is started. The app is called "Paint Dot Net" they have free source code downloads, and should be easy to find on google.

But now with .Net 2.0 I have only breifly read about a feature called "Click Once updates" or something like that, where you keep a project on a webserver, and your client apps automatically send a "manifest" to the server, to be checked against the generated manifest of the project you have there. If the manifest's differ, the needed files should automatically be downloaded and installed to the user machine.

Sorry I cant give more info, I plan on doing something like this "soon" but it all depends on how much development time I can dedicate to it. Good luck and if you come across anything interesting, let us know.
 
I think our needs are slightly different, because the users are running a copy of the application that is on a server. We can never copy a new version without getting all users out of the application -- which for us is only possible during a brief window of time on weekends.

So far the best strategy I've come across is to have a starter.exe application that reads an INI file to see where your application lies, then executes that application. When you have a new version you copy it to a new folder on your server, and change the INI to point to your new folder. As users get out of the application and log back in they will be directed to the new version.

Thanks for your input.
 
This sounds like an IT issue. Citrix allows you to stop a server from accepting connections. IF you have more than 1 server, you can do a gradual release. Stop connections on one server until everyone logs out on their own time. Then deploy the new app. Then make that server accept connections again and stop the second server. All new connections will be to the new app and eventually you will be able to deploy the new app to the other server.

Depending on your environment, it doesn't hurt to have people reconnect after a quick deployment. I believe it is referred to as a hotfix!

Hope that gives you some ideas.
 
I know the gradual release is the Citrix official stance. But when you have 300 users spread across the entire world it could take a week to get a new app deployed on several servers using this method.
 
This may be an option
I personnally thought it was hard to work with.

A long shot...
Can you use No Touch Deployment (NTD). If the app is sitting in a web directory and user launch from IE. IE will look at the assemblies and get new ones if needed. The app runs in a kind of bubble.
Just a thought.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top