By default, running the installer for Microsoft Teams doesn’t actually install the application but it extracts a package and a json file into the c: program files directory. When a user then logs into a their VDI instance the package is extracted and installed directly into the users profile (around 500mb natively). Virtual Desktop Infrastructure (VDI) is virtualization technology that hosts a desktop operating system and applications on a centralized server in a data center. This enables a fully personalized desktop experience to users with a fully secured and compliant centralized source. Microsoft Teams in a virtualized environment supports chat and collaboration, and with the Citrix platform, calling and meeting functionalit. Note: Citrix Virtual Apps and Desktops and VMware Horizon can both host an image of Microsoft Teams, but this article will focus exclusively on deploying Teams on WVD-based VDI. Prerequisites and limitations of Teams for WVD.
Teams is actually a really good enterprise messaging and collaboration tool and as its in many O365 subscriptions etc then it’s a no-brainer to use it.
However teams also has an unpleasant after taste for SBC/VDI admins (its not the only app that does mind you) in the way that it is installed. By default, running the installer for Microsoft Teams doesn’t actually install the application but it extracts a package and a json file into the c:program files directory. When a user then logs into a their VDI instance the package is extracted and installed directly into the users profile (around 500mb natively).
For physical devices this doesn’t cause too much of a hassle but for VDI implementations this causes a massive headache. If you consider a typical non-persistent VDI environment which includes some kind of profile solution, Citrix UPM, VMware’s persona manager etc etc you get some highly undesirable effects.
You either have to persist the default locations for theinstallation files within your profile management solution adding at least 500mb’sto each profile (no thank) or users have to accept that on each logon to a nonpersistentfresh desktop the Teams installer will execute providing a non ideal userexperience while the CPU is busy performing the installation actions and whateverelse it has to worry about during a logon.
A great solution to this is FSLogix and Office365 or profile containers to containerise the installer reducing the user impact by persisting the data natively within an OS as far as Windows is concerned. This is one of the reasons why Microsoft purchased FSLogix then provided effectively free licences for anyone who purchases RDS,VDA, E3 and above O365 among others. This obviously covers pretty much about everybody. however the problem will still be the same that while Teams is containerised within FSLogix that is still 500mb x No. of users of storage space that could be put to better use.
Despite the great FSLogix option there’s no denying that Teamsis a badly written application for any kind of non-perisitent solution andeveryone has been commenting on the situation for some time. It appears thatMicrosoft are now starting to do something about it.
Microsoft have released a version of Teams that is a machine based install which does not install the application into a profile location but with in the correct C:program files location with the caveat that it available for VDI instances only. Sorry SBC people you’ll have to have wait a bit longer I think.
Microsoft have recently released this articlewhich includes download links to the x64 and x86 versions of teams and aspecific command line to run in order to install Teams as a VDI friendlyproduct. I wanted to have a look at this executable and see how it installed.
The command line you need to install teams is:
msiexec /i Teams_Windows_x64.MSI /l*v Teams.log ALLUSER=1
The critical difference here which either installs teams inthe standard in profile mode or VDI mode is the ALLUSER=1. DO NOT get ALLUSERconfused with ALLUSERS=1 its not a typo!
In order to find out a bit more about the teams installer Ibroke open process monitor and ran the command line without having preinstalledany typical VDI agent packages into a windows 10 instance. Sure enough theinstaller errors out with an error stating “cannot install for all users when aVDI environment is not detected”.
Looking into the process monitor logs it appears that theteams installer looks for specific VDI agent based registry locations to determinewhether it will install or not.
Microsoft Teams On Citrix Vdi Download
The installer looks specifically looks for the followingregistry keys
Microsoft Teams For Vdi
HKLMSOFTWARECitrixPortICA
Microsoft Teams On Citrix Vdi App
HKLMSOFTWAREVMware, IncVMware VDMAgent
These reg keys are obviously associated with the two big VDIvendors however if you are using another vendor again you may be out of luckfor now. If a VDI agent is not installed then the installer looks for thesekeys only and then fails the install however if the VDA is installed it alsolooks for quite a few other keys so at the moment its not a case of creating asingle key to fool the installer.
Just eat it stream. However once you have a standard VDI agent installed you will then be able to run the installer command and you will see that rather than putting only the package and json file within the program files location it will now install full application into program files with the only exception to the rule being that the Squirell install log file is placed within the user profile and also a folder is created for Teams addin’s within the C:Users%username%appdatalocalMicrosoftTeamsMeetingAddin.
Teams Vdi Optimization
The change to MSI package are certainly welcome and a good initial step in providing a machine based install for Microsoft Teams which hopefully will also migrate across to the other apps that are guilty of the same behaviour(cough OneDrive). I personally would like it be a choice for the customer whether they want to go to the standard version of teams ensuring that they stay up to date with the latest versions automatically across their estate or take a steadier approach by using the machine based install versions
without the VDI technology search behaviour which would require more administrative effort for IT teams but a further degree of control that most companies find comforting.
A couple of things worth noting is that like its non machine based install counterpart Teams is not yet optimised for VDI voice and video capabilities, such as the HDX realtime pack so Microsoft recommend disabling the calling feature within teams.
The machine based installed is also not automatically updated so IT teams will need to manage the update procedure as they would for any other application.
Author: Dale Scriven