0

We have Remote Desktop Services setup under Windows 2012 R2 in session mode, meaning we are not virtualizing machines. The software we are rolling out is our own, so we can make sure it plays nice in a multi-tenant environment and we want to save resources. The only issue we're having now is that there doesn't seem to be an easy way to update the software without kicking everyone off the machine. When I try to update binaries, the files are all locked by users running the apps.

Without going to full virtualized desktops for each user, is there anyway to update software on a machine while users have active sessions? Also, how do people typically do maintenance?

Benjamin Peikes
  • 1,094
  • 3
  • 16
  • 26
  • are you against using a psexec taskkill to kick them off remotely – Knuckle-Dragger Dec 17 '13 at 20:43
  • 1
    If the users are using your application and files that need to be updated are in use and locked then I don't see how you can update your application while it's in use. That's what maintenance windows/schedules are for. – joeqwerty Dec 17 '13 at 20:48

1 Answers1

2

The recommended method is to setup a farm of terminal servers instead of having a single server. You can easily put a server in drain mode which will prevent new connections. Wait for that member server to be empty, update the software, disable drain mode and repeat for additional servers.

If your app is completely self-contained like a portable-application then you don't really need to install anything, just point your users at the newer version of the files. This could be done by storing each builds of your application in their own directory. Then have users run the application via a launcher that detects the newest build and launches that.

If you app isn't self-contained, and you are going to still do the single server approach the only real way to handle this is to just schedule outages.

Zoredache
  • 130,897
  • 41
  • 276
  • 420