How I change the update channels for Microsoft 365 Apps using Configuration Manager

Introduction

OK, so this post is admittedly a few weeks overdue, but regardless still relevant. Microsoft has decided, as we know by now, to carry out a name change of the Office 365 ProPlus suite, and rename the product to Microsoft 365 Apps (for Enterprise).

Following this change of name, Microsoft also decided to introduce some new changes to the update channels, which includes new names as well as a brand new update channel: Monthly Enterprise Channel.

So I figured, all things taken into considerations, that I wanted to go into details on how I’m changing the update channels using Configuration Manager.

This is a somewhat continuation of my previous blog post: Use Powershell to create device collections in Configuration Manager for the new Microsoft 365 Apps update channels

Carrot on a stick: All of the configurations I have made for this setup, I have exported for you to download. No real configuration needed in your end. Just download and import – almost. 😀

Change Update Channel

According to Microsoft’s own documentation on this very topic, there are only 2 methods which are considered supported. This is changing the channel by Group Policy or by the ODT (Office Deployment Tool).

Find those docs right here: Change the Microsoft 365 Apps update channel for devices in your organization

I’m using a combination of the 2, and added something extra.

  • Disclaimer: I’m probably ending up in an unsupported scenario, but I have found this approach to have the best and most immediate effect. You should test this for yourself and make your own educated decision
  • NOTE: I know a lot you good people are leveraging compliance settings. I used to do that as well, but seeing simply modifying the registry is not supported, I looked for something else 🙂

The 6 Update Channels

For good measures, these are the 6 different update channels available to Microsoft 365 Apps.

  • Beta
  • Current (Preview)
  • Current
  • Monthly Enterprise
  • Semi-Annual Enterprise (Preview)
  • Semi-Annual Enterprise

Application Model

I’m using applications, deployed as both required and available via the Software Center.

Regular users have no saying on their update channel, nor do they really care I think. Their devices have an application deployed to them as required, which essentially will enforce this, shall the update channel ever change to something else.

Deployment Type

For each of the 6 update channels, I’m using a corresponding batch file for the installation program. This is essentially where the magic happens if you will.

Taking a closer look on the batch file, I am directly modifying the value of 2 registry entries (CDNBaseUrl and UpdateChannel).

  • reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v CDNBaseUrl /t REG_SZ /d http://officecdn.microsoft.com/pr/55336b82-a18d-4dd6-b5f6-9e5095c314a6 /f
  • reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateChannel /t REG_SZ /d http://officecdn.microsoft.com/pr/55336b82-a18d-4dd6-b5f6-9e5095c314a6 /f

This is where it goes unsupported, though this is what I found to be most effective. In theory, those two registry entries should change their value automatically once the channel change has properly been picked up.

I am also modifying the updatebranch registry entry, which essentially is what Group Policy also does.

  • reg add HKEY_LOCAL_MACHINE\Software\policies\microsoft\office\16.0\common\officeupdate /v updatebranch /t REG_SZ /d MonthlyEnterprise /f

Finally, I am combining this with the actual Office Deployment Tool (setup.exe). This is tied to the scheduled task called “Office Automatic Update 2.0”. This is simply for the completeness. While in theory it’s sufficient to only do Group Policy or ODT, I am doing both – including changing the values of the registry entries involved.

  • “%~dp0setup.exe” /configure MonthlyEnterprise.xml”

Also triggering a hardware inventory cycle in order to send those updated values back to Configuration Manager immediately, so the device will move to the proper collection. Those are the collections I created here: Use Powershell to create device collections in Configuration Manager for the new Microsoft 365 Apps update channels

  • WMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000001}” /NOINTERACTIVE

Detection Method

The detection method used on each application, is basically the value of the mentioned registry entries.

If either of these are changing on the device, where this application is deployed as required, the detection method (App Deployment Eval Cycle) will make sure the deployment is being rerun and the values set back to what’s desired.

Import the Application

As I promised in the introduction, I have exported each and every of the applications used for changing to the new update channels.

Find all the downloads on my GitHub page right here: https://github.com/imabdk/Microsoft-365-Apps-Update-Channels

  • Download the .zip files from my GitHub repository
  • Extract the content somewhere onto a UNC path. Preferably your usual source file library

Once extracted, the content of each download will be similar to what is displayed below with the Beta update channel:

Select to Import Application from within the Configuration Manager console:

Point to the .zip file that was extracted to your source file library:

Make the relevant changes to the Action and complete the import:

Rinse and repeat for each of the downloaded .zip files, and you are left with 6 applications, one for each of the new Microsoft 365 Apps update channels.

Distribute content to your distribution points as well as double check that the content location is configured as expected. Make relevant changes if needed:

Proof of Concept

My test device (Device name: KR-MAB-TEST) is currently running on Monthly Enterprise channel. This is verifiable directly in any of the Microsoft 365 applications:

Therefore it also falls into the collection, where Monthly Enterprise updates are deployed to (collections explained here: Use Powershell to create device collections in Configuration Manager for the new Microsoft 365 Apps update channels)

I want the device to move up to Current Preview, so I make it a target of my application doing just that:

Fast forward past hardware inventory and collection updates, my test device has now moved into the new collection belonging to Current Preview where Current Preview updates are deployed to:

Fast forward yet again, past policy refreshes, and the updates for the new update channel Current Preview is offered in the Software Center.

And finally, post installation and restart of the device, Microsoft 365 Apps has updated and are now rolling on the new channel:

ENJOY 🙂

6 thoughts on “How I change the update channels for Microsoft 365 Apps using Configuration Manager”

  1. Hi Martin and thank you for sharing!
    I did “The Microsoft way” to change channels but was not happy about the timeframe and the control of the change.
    Your solution makes things a bit better. #Kudos.

    In my environment I had to use different GPO registry settings values to makes this work.
    In the ADMX files this is the values to use:
    [Current, Current Channel] [FirstReleaseCurrent, Current Channel (Preview)] [MonthlyEnterprise, Monthly Enterprise Channel] [Deferred, Semi-Annual Enterprise Channel] [FirstReleaseDeferred, Semi-Annual Enterprise Channel (Preview)] [InsiderFast, Beta Channel].

    So for changing to Semi-Annual Enterprise Channel (Preview) I had to use “FirstReleaseDeferred” as value.

    If the GPO registry value is wrong Office Automatic Updates 2.0 will set UpdateChannel to default and that is Current Channel.

    Reply
    • Hm, I cannot say if something changed again since I did the post. I did the same thing as you, and applied each channel via GPO and took notice of the name which was applied to the registry in the Software\Policies portion. If I get some spare time I will revisit this and double check. Thanks for letting me know 🙂

      Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.