Upgrading Software in Microsoft Azure RemoteApp
In this article, I’ll show you how to upgrade, remove, or replace software in a Microsoft Azure RemoteApp app collection by re-deploying the session hosts from an updated template image.
Imagine that you have deployed even the smallest of app collections in Azure using a custom template; a basic plan app collection deploys two session hosts. You will have users logging into at least two hosts. Eventually, a time will come when you need to upgrade, remove, or replace software on those session hosts. How will you do this?
Note that if you use Microsoft-supplied templates then Azure will update the deployments when required. If you use a custom template, then you are responsible for updating the deployments.
Say Goodbye to Traditional PC Lifecycle Management
Traditional IT tools, including Microsoft SCCM, Ghost Solution Suite, and KACE, often require considerable custom configurations by T3 technicians (an expensive and often elusive IT resource) to enable management of a hybrid onsite + remote workforce. In many cases, even with the best resources, organizations are finding that these on-premise tools simply cannot support remote endpoints consistently and reliably due to infrastructure limitations.
In theory, you could log into each host via Remote Desktop with an administrator account and manage the installed programs. You could, in theory, use a software management tool such as System Center Configuration Manager, to do the work. But there remains a problem: users will have access to the session hosts, and you potentially will have a lot of work if you have lots of hosts.
Fortunately, Azure RemoteApp does have a feature that allows you to update an app collection with a new image in an orchestrated manner. The process works as follows:
- You create a new version of your template and add it to RemoteApp.
- Select the Update action in your app collection and select the new image.
- Choose how to deal with currently logged in users.
Users will either:
- Be given 60 minutes to finish up their work, where they are notified via an on-screen message and sign out. Any signed in users will be automatically signed out after 60 minutes and the upgrade will start.
- All signed in users will be immediately signed out without any warning. Choose this option if you are evil, like angry users and bosses, or are working in a test/development environment.
Performing an Update
Use the original virtual machine image that you used to create your app collection. Update this image with any program changes and software updates that are required, and create a new virtual machine image.
- Open the classic management portal at (RemoteApp is not available in the new Azure Portal yet), browse to RemoteApp, and enter Template Images.
- Click Add, and select Import An Image From Your Virtual Machines Library.
- Select the image and confirm that you have met the requirements.
- Give the new image a name and select the region of your app collection. Wait for the image to be imported into RemoteApp – refresh the page and you’ll see that it has a status of “Upload pending,” followed by “Import in progress,” so wait for it to be “Ready.”
When the image is imported, browse into the app collection and click Update:
- Select the image (previously imported into RemoteApp) that you want to update the app collection to.
- Choose when you want to do the update; immediately or give the users 60 minutes’ notice (with an alert). The alert option is strongly recommended in a production environment.