Don’t Delay: Upgrade Classic Teams to New Teams in your VDI/MultiSession environment before June 30th!


Currently, we are engaged in multiple Azure Virtual Desktop and Citrix projects where the new Teams version is a significant focus. Through our migration process to the new Teams, we have acquired valuable insights and developed scripts that we wish to share with you.

End of Life – Teams classic (V1) per June 30th, 2024

Microsoft is transitioning to the new Teams (V2) and phasing out the classic Teams (V1). Classic Teams will remain functional until June 30th, 2024. For EUC admins, this necessitates migrating to the new Teams (V2) within the forthcoming months across Citrix, VMware Horizon, or Azure Virtual Desktop environments. Therefore, it’s advisable to initiate this migration promptly to ensure sufficient time before the deadline on June 30th, 2024.

Source: https://learn.microsoft.com/en-us/azure/virtual-desktop/teams-on-avd

Classic Teams: End users will receive banners

Users of Classic Teams will begin to receive banners prompting them to upgrade to the new Teams. Since non-persistent images are utilized across various EUC products, updating the image with the new Teams is essential. Starting from February 1st, 2024, end users still using Classic Teams will receive banners:

After March 31st, 2024, additional banners will be sent to users, if applicable:

Microsoft has published an article detailing the end of availability for the classic Teams client here: https://learn.microsoft.com/en-us/microsoftteams/teams-classic-client-end-of-availability

FSLogix 2210 hotfix 3 – new Teams data will be saved in container

With the installation of the new Teams client, user data will only persist between sessions if the latest FSLogix 2210 Hotfix 3 version is installed. Failure to install this version will result in end users experiencing issues such as the inability to retain personal Teams settings across sessions. Common complaints include having to restore Teams background settings daily. This version is now GA!

The release notes of FSLogix 2210 hotfix 3 are as follows:

Source: https://learn.microsoft.com/en-us/fslogix/overview-release-notes

If you are using other solutions than FSLogix, like Citrix Profile Containers, please include the correct Microsoft Teams paths. See Profile and cache location for the new Teams Client: https://learn.microsoft.com/en-us/microsoftteams/new-teams-vdi-requirements-deploy#profile-and-cache-location-for-new-teams-client

Installation of new Teams V2 with single image management

Referencing the documentation provided https://learn.microsoft.com/en-us/microsoftteams/new-teams-vdi-requirements-deploy, there are several methods available to update or install the new Teams in your environment. Microsoft provides guidance for Azure Virtual Desktop, Citrix and VMware Horizon deployments. Leveraging our extensive experience with automation, we have developed installation scripts that we are eager to share with you.

WebRTC installation (Azure Virtual Desktop)

When using Azure Virtual Desktop or Windows 365, install WebRTC first, as we did with the previous classic Teams: https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new-webrtc

Below is a PowerShell script to download the latest MsRdcWebRTCSvc:

# Download latest WebRTC MSI from Microsoft and was take from this URL: https://learn.microsoft.com/en-us/azure/virtual-desktop/whats-new-webrtc
Write-Host "##[command]Downloading latest AVD Remote Desktop WebRTC Redirector Service Installer file"
$ProgressPreference = 'SilentlyContinue' #Disabling the Progress Speeds the process up
Invoke-WebRequest -UseBasicParsing -Uri "https://aka.ms/msrdcwebrtcsvc/msi" -OutFile "C:\Windows\Temp\MsRdcWebRTCSvc_x64.msi"
$ProgressPreference = 'Continue' #Enable Progress Again
Write-Host "Done"

Unattended install parameters for MsRdcWebRTCSvc:

msiexec.exe /i "C:\Windows\Temp\MsRdcWebRTCSvc_x64.msi" Reboot=ReallySuppress /qn

WebSocketService registry key (Citrix VDA)

For Citrix VDA, it is necessary to set the following registry key:

Source: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html

Below is a PowerShell script to set the registery keys for Citrix:

#Add Registry Keys
New-Item -Path "HKLM:\Software\WOW6432Node\Citrix" -Name "WebSocketService" -Force -ErrorAction Ignore
New-ItemProperty -Path "HKLM:\Software\WOW6432Node\Citrix\WebSocketService" -Type "MultiString" -Name "ProcessWhitelist" -Value "msedgewebview2.exe" -force 

IsWVDEnvironment registry key (Azure Virtual Desktop/Windows 365)

When using Azure Virtual Desktop, ensure the IsWVDEnvironment registry key is set before installing the new Teams. For Citrix or VMware Horizon, install their agent software before proceeding with the new Teams installation.

#Add the IsWVDRegistryKey | Still a requirement https://learn.microsoft.com/en-us/microsoftteams/new-teams-vdi-requirements-deploy
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Teams" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Teams" -Name IsWVDEnvironment -PropertyType DWORD -Value 1 -Force

Installing the latest new Teams via offline install method

The new Teams can be installed using various methods. In our automated single-image deployment, we opt for the offline install method. Here’s how.

Download the most recent Teams bootstrapper and MSIX file:

#https://learn.microsoft.com/en-us/MicrosoftTeams/new-teams-bulk-install-client | Option 1B: Download and install new Teams using an offline installer
$urlTeamsBootstrapper = "https://go.microsoft.com/fwlink/?linkid=2243204&clcid=0x409"
$urlTeamsMSIX = "https://go.microsoft.com/fwlink/?linkid=2196106"
# Download latest MSI from Microsoft and was take from this URL: https://docs.microsoft.com/en-us/microsoftteams/msi-deployment
$ProgressPreference = 'SilentlyContinue' #Disabling the Progress Speeds the process up
Write-Host "##[command]Downloading latest Microsoft Teams v2 Bootstrapper file"
Invoke-WebRequest -UseBasicParsing -Uri $urlTeamsBootstrapper -OutFile "C:\Windows\Temp\teamsbootstrapper.exe"
Write-Host "Done"
Write-Host "##[command]Downloading latest Microsoft Teams v2 MSIX file"
Invoke-WebRequest -UseBasicParsing -Uri $urlTeamsMSIX  -OutFile "C:\Windows\Temp\MSTeams-x64.msix"
Write-Host "Done"
$ProgressPreference = 'Continue' #Enable Progress Again

Unattended install parameters for the new Teams:

C:\Windows\Temp\teamsbootstrapper.exe -p -o C:\Windows\Temp\MSTeams-x64.msix

At successful installation, the output of the teamsbootstrapper.exe will be (exitcode 0):

To prevent auto-updating of the new Teams, utilize the following registry key. Note that this is only applicable for new Teams builds higher than 23306.3314.2555.9628 in VDI:

# Disable new Teams auto update
# To prevent new Teams from auto updating, use the following registry key on the virtual machine. Only new Teams builds higher than 23306.3314.2555.9628 in VDI can process this registry key.
# Source: https://learn.microsoft.com/en-us/microsoftteams/new-teams-vdi-requirements-deploy#disable-new-teams-autoupdate
Write-Host "##[command]Disabling new Teams auto update"
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Teams" -Name disableAutoUpdate -PropertyType DWORD -Value 1 -Force

 

Microsoft TeamsMeeting Addin for Microsoft Outlook

When the new Teams is installed, it will try to install the Microsoft Teams Meeting Addin in the user context, when the new Teams is launched. If you implemented security right, this installation will be blocked in the user context. Result: users cannot schedule Teams meetings from Microsoft Outlook.  There are possibilities to allow this user-based installation, but we just install it in C:\Program Files (x86) on image build. Installing it in program files is available for anyone on the system.

Install script for the Microsoft Teams Meeting Addin:

msiexec.exe /i "$((Get-ChildItem -Path 'C:\Program Files\WindowsApps' -Filter 'MSTeams*').FullName)\MicrosoftTeamsMeetingAddinInstaller.msi" Reboot=ReallySuppress ALLUSERS=1 TARGETDIR="C:\Program Files (x86)\Microsoft\TeamsMeetingAddin" /qn

And register the Microsoft Teams Addin to the registry:

#Add Registry Keys for loading the Add-in
New-Item -Path "HKLM:\Software\Microsoft\Office\Outlook\Addins" -Name "TeamsAddin.FastConnect" -Force -ErrorAction Ignore
New-ItemProperty -Path "HKLM:\Software\Microsoft\Office\Outlook\Addins\TeamsAddin.FastConnect" -Type "DWord" -Name "LoadBehavior" -Value 3 -force
New-ItemProperty -Path "HKLM:\Software\Microsoft\Office\Outlook\Addins\TeamsAddin.FastConnect" -Type "String" -Name "Description" -Value "Microsoft Teams Meeting Add-in for Microsoft Office" -force
New-ItemProperty -Path "HKLM:\Software\Microsoft\Office\Outlook\Addins\TeamsAddin.FastConnect" -Type "String" -Name "FriendlyName" -Value "Microsoft Teams Meeting Add-in for Microsoft Office" -force

Some notes

If you do nothing, the new Teams is pushed by Microsoft to the user profile. You can avoid this by disallowing the new Teams via the organization settings of the Microsoft Teams service. This can result in some weird situations in your non-persistent environment as users start to use the new Teams. At one of my customers, we got massively support tickets about:

  • Teams isn’t remembering my personal settings, I need to set my Teams background every morning.
  • I cannot schedule Teams meetings in my Outlook Calander anymore. The “Teams meeting” button is missing.
  • I have two versions of Teams. Which one should I use?

It might be a good idea to switch in a controlled way to the new Teams.

Please note, that if you do not migrate, classic Teams will not work in your environment after June 30th, 2024.