In Today’s world of constant updating of software, system admin’s have their own ways of upgrading their servers with the latest software. Some are better than other, but I thought that I’d write something about how to properly (in my opinion) update software on a server with the least impact on the user base.I’ll be using Screwdrivers as the example software that we are upgrading in this write up.
So you’re going from version 4.3.5.32 of screwdrivers to our latest which is 4.4.01.16. I’ll give 2 scenario’s for you to consider. The first one is, you have a whole bunch of users on your TS happily printing away and using our Screwdrivers driver, and you decide to upgrade the server right there and then. The problem here is two fold, first is you have a lot of users on your production server that are in the middle of their work day, and you are doing an upgrade to the server while they are working, and second is that these users are using the DLL’s that are required for Screwdrivers to work and that are also removed upon uninstall since they are the old version files. So of course if the files are in use the uninstall will not remove these files and it will require a reboot before continuing. So now you can’t continue with the upgrade because you don’t want to anger your users by rebooting, but if you don’t reboot any new users that log on won’t be able to print since the uninstall is partially done. Sounds like a nightmare scenario to me! This next one is more organized and should be considered whenever upgrading any software on your server.
So you want to upgrade Screwdrivers. You notice the amount of users on your server and you realize that it would be a bad idea to upgrade at the moment. Several things can be done with this, the first being scheduling a time where users are aware of the downtime and do the upgrade then, or stay after hours and do the upgrade. Either way is fine, but personally I prefer staying after hours, just in case something goes wrong you don’t want to keep the servers down for more than you promised your users. So users are off the server, and you are free to upgrade! You run the uninstall of the software since you realized that it’s a bad idea to upgrade over top old versions just in case some files did not get installed so software will be using old ones in conjunction with new ones. Then after making sure that the old version of the software is off the server (you might have contacted the vendor to find out where files are placed to make sure they are completely gone) you install the new software and test it a couple of times with several test users to make sure it works properly.
So from these two scenarios It’s pretty obvious which one is the better choice, but in reality you might not have the luxury of waiting until after hours, so either one can work, if the people involved are aware of the consequences.