There are many organizations upgrading from previous versions of Microsoft Office to Microsoft Office 365 ProPlus. My favorite way to deploy Office 365 ProPlus is by leveraging the excellent Powershell App Deployment Toolkit.
Many of these organizations have locations all around the world, with requirements of local language support.
I have seen that deploying Microsoft Office 365 ProPlus in large enterprise environments is not as trivial as you might think, as you have to consider many things.
The way described in this blog post is the way I go about deploying Office 365 ProPlus, and I have frankly not found a better way to do it.
If you have improvements to the process or any other ideas on how to do this better, please drop a comment 🙂
Since I can not go into too much detail in this blog post, I have to make some assumptions:
- Experience with deploying applications in Microsoft Endpoint Configuration Manager (SCCM)
- Knowledge of Microsoft Office Deployment Toolkit (ODT)
How To Deploy Office 365 ProPlus
The Office 365 ProPlus deployment solution:
- Based on Powershell Application Deployment Toolkit 3.6.9
- Uninstall previous versions of Microsoft Office 2007-2016
- Install the Microsoft Office 365 ProPlus language according to the OS language culture
- Displays pop-up asking the user to close Microsoft applications if they are open
Uninstall previous Microsoft Office installations
To altogether remove an old installation, I use Offscrub, which is a script provided by Microsoft. These scripts have been around since Microsoft Office 2007 and are also available for Microsoft Office 365 ProPlus.
The solution supports the removal of Microsoft Office 2007-2016.
Note that you might want to modify the section depending on what you want to remove. In my case, I’m running CLIENTALL. I have noticed that this can sometimes remove more than you intended, so test it out before rolling out into production.
Microsoft is deprecating the Offscrub scripts in favor of the feature set in the new Office Customization Toolkit available at config.office.com, and also in Microsoft Endpoint Configuration Manager (SCCM).
How to configure support for multiple languages in Office 365 ProPlus
This Microsoft Office 365 ProPlus deployment solution analyzes the computer’s OS culture and then applies a XML configuration file, depending on the outcome.
In the default version of the solution, I only have English and Swedish defined, but you can select other languages.
If the OS language does not match any language in the list, it automatically falls back to en-us.
Implement the Office 365 ProPlus deployment solution in Microsoft Endpoint Configuration Manager (SCCM)
Download the Powershell App Deployment Toolkit solution
Download the Microsoft Office 365 ProPlus solution.
A description of the different files:
- Deploy-Application.exe – Executable used for triggering the Deploy-Application.ps1 file.
- Psexec/Psexec64.exe – Required for user interaction on Windows 7 32-bit because of session 0.
- ServiceUI_x64/x86.exe – Required for user interaction under session 0.
- Invoke-Installation.ps1 – Wrapper script to trigger the installation.
What is Session 0 and why is it an issue?
Session 0 is a non-interactive mode, where all user interaction actions are blocked. Session 0 means that it does not display user prompts.
Session 0 occurs in the following scenarios:
- Installation during a Task Sequence.
- A Required deployment with the User Experience setting configured to install whether or not a user is logged on.
The solution to this problem is running ServiceUI.exe to bring the client out of session 0 and display the prompt. SeviceUI.exe is part of the Microsoft Deployment Toolkit and has been extracted for this purpose.
The Invoke-Installation.ps1 script automatically handles with session 0 issue.
Configure the Office 365 ProPlus solution with Powershell App Deployment Toolkit
Before you create the application, it requires you to make some customizations. The customizations include:
- Change the download XML
- Create configuration XML files
- Change the Deploy-Application.ps1 script file
- Change Offscrub behavior
- Configure different locales
- Change the banner
- Make customizations to Powershell Application Deployment Toolkit
Create a configuration for download of Office 365 ProPlus
To download the Office files, we need to create a XML file. Name it to download.xml or similar.
The contents should be something like this:
<Configuration> <Add SourcePath="D:tempfilesMicrosoft Office 365 ProPlusFiles" OfficeClientEdition="32"> <Product ID="O365ProPlusRetail" > <Language ID="en-US" /> </Product> </Add> </Configuration>
If you want to download more Languages, copy the <Language ID=”en-US”>/> and replace it with your language of choice. Copy the setup.exe and the XML to the Files folder of the solution.
Create deployment configuration for Office 365 ProPlus
To deploy Microsoft Office 365 ProPlus, there needs to be a configuration XML file for each language.
I have named the XML file for the English installation install_en-us.xml and the Swedish install_sv-se.xml.
You can create a XML file using this online tool: https://officedev.github.io/Office-IT-Pro-Deployment-Scripts/XmlEditor.html
Here is the example of the English version. Make the modifications for your organization:
<Configuration> <Add Channel="Deferred" OfficeClientEdition="32" OfficeMgmtCOM="TRUE"> <Product ID="O365ProPlusRetail"> <Language ID="en-US" /> <ExcludeApp ID="Groove" /> </Product> </Add> <Display AcceptEULA="TRUE" Level="None" /> <Logging Level="Standard" /> <Property Value="1" Name="AUTOACTIVATE" /> <Property Value="FALSE" Name="FORCEAPPSHUTDOWN" /> <Property Value="0" Name="SharedComputerLicensing" /> <Property Value="FALSE" Name="PinIconsToTaskbar" /> <Updates Enabled="FALSE" /> </Configuration>
Create uninstall configuration for Office 365 ProPlus
Change the below XML file to fit your needs. If you want to uninstall several languages, you need to copy the Language ID line and add the new language there.
<Configuration> <Display Level="None" AcceptEULA="True" /> <Property Name="FORCEAPPSHUTDOWN" Value="False" /> <Remove> <Product ID="O365ProPlusRetail"> <Language ID="en-us" /> </Product> </Remove> </Configuration>
Change the Deploy-Application.ps1 script file
Now you need to change the script file Deploy-Application.ps1 to use the XML files that you have created.
Add the language code under
$LanguageMappingHT, besides the XML file for that language. Refer to this page for a full list of language codes.
Change to your organization’s banner
Replace AppDeployToolkitBanner.png in the AppDeployToolkit folder with your own.
Additional customizations in Powershell App Deployment Toolkit
Refer to AppDeployToolkitConfig.xml in the AppDeployToolkit folder
Download the files for Office 365 ProPlus
Download the Office 2016 Deployment Tool: https://www.microsoft.com/en-us/download/details.aspx?id=49117
Place the setup.exe file under /Files/.
Download Office 365 ProPlus
Launch an administrative command prompt and browse to /Files/
Execute the below command:
setup.exe /download download.xml
Because of the size (a few GBs), this might take a little while. Grab a coffee in the meantime.
When the download is complete, have a folder called Office. Place this under Files in the solution directory.
If you browse to FilesOfficeData you can see the build version, which can be useful to know when deploying different Update Channels. Go to https://docs.microsoft.com/en-us/officeupdates/update-history-office365-proplus-by-date for a full list of build numbers for Office 365 ProPlus.
Now everything is in place, and you need to create the application in Configuration Manager.
Deploy Office 365 ProPlus using Microsoft Endpoint Configuration Manager (SCCM)
Create the Office 365 ProPlus application
Create a new application via the Application Management page.
Select Manually specify the application information.
If required, specify information for the Application Catalog/Software Center.
Create Deployment Type
Press Add to create a new Deployment Type.
Select Manually specify the development type information. Make sure to select Script Installer above. If the default MSI option selected, it impacts selections you can later make.
Give the Deployment Type a name and press Next.
Content source and installation/uninstallation programs
Configure according to the below table:
|Content location||Provide a UNC path to the Office 365 ProPlus source files|
|Uninstall program||Deploy-Application.exe -DeploymentType "Uninstall"|
Create Detection Rules
Press Add Clause.
|Key||Software\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail – en-us|
|Use (Default) registry key value for detection||Checked|
Now you have added the Detection Rule for English.
If you include more languages in your deployment, you need to create a new Clause for each language and use an OR statement.
The installation returns an exit code failure if you do not configure this as System Center Configuration Manager (SCCM) does not detect the application.
Configure User Experience
|Installation behavior||Install for system|
|Logon requirement||Whether or not a user is logged on|
|Installation program visibility||Normal|
Press Next, Next and review the Summary.
Press Next to finalize the creation of the Deployment Type.
Press Next again to finalize the creation of the application.
Distribute the content to your Distribution Points.
Deploy to user/device collection
Deploy to collections.
Start the installation
Following deployment of the application, run a Policy Refresh on the client for it to appear in Software Center.
Press the icon and press Install in the next window.
If you have Microsoft Office applications open, you see this:
If you don’t have any Microsoft Office applications open, you are prompted with this:
Upon continuing, previous Microsoft Office versions are automatically uninstalled.
Following the uninstallation, the installation of Microsoft Office 365 ProPlus starts.
Troubleshoot the Office 365 ProPlus deployment using log files for Powershell App Deployment Toolkit
Logfile location: C:WindowsLogsSoftwareMicrosoft_Office365ProPlus_EN_01_PSAppDeployToolkit_Install
The Powershell Application Deployment Toolkit is an excellent tool to build upon when creating solutions such as the deployment of Microsoft Office 365 ProPlus.
I hope that I have provided you with some help with your deployment project.
It took me some time to figures some of these things out.
If you have any comments or feedback, please drop a comment below.
- Powershell App Deployment Toolkit
- Microsoft Docs – Office 365 ProPlus Deployment
- Update history for Office 365 ProPlus (listed by date) | Microsoft Docs
- The 15 most exciting new features in SCCM 1906
- How to configure maintenance windows in Microsoft Endpoint Configuration Manager (SCCM)
Subscribe to newsletter:
If you want to receive the latest news for MEMCM, Windows 10, and Powershell, please subscribe to my monthly newsletter!