Application of the Week – Microsoft 365 Apps (Part 1)

Probably the first set of applications you want to deliver in your Liquit Workspace are Word, Excel, PowerPoint etc. as part of Microsoft 365. In this blog I will describe how to create a package for deployment with some tips and tricks along the way.

Deployment of Microsoft 365 is different compared to like Office 2016 on-premises deployment where its media is downloaded from the Volume Licensing Service Center portal. Microsoft 365 deployment is based on Click-to-Run, instead of Windows Installer (MSI), as the installation technology.

What’s needed here is Office Customization Tool as part of the Microsoft 365 Apps Admin Center and the Office Deployment Tool.

The Office Deployment Tool (ODT) is a command-line tool that you can use to download and deploy Click-to-Run versions of Office, such as Microsoft 365 Apps for enterprise, to your client computers.

The Office Customization Tool creates the configuration files that are used to deploy Office in large organizations. These configuration files give you more control over an Office installation: you can define which applications and languages are installed, how those applications should be updated, and application preferences. After creating the configuration files, you can use them with the Office Deployment Tool to deploy a customized version of Office.

In this example I’ve configured this configuration XML in which I’ve opted for the Monthly channel of Microsoft 365, both Dutch and English Languages as well as language packs, and I’ve excluded applications like Access, OneNote and Publisher:

<Configuration ID="fe6213df-d21b-4ee9-bdba-f6364e0f57b1">
<Add OfficeClientEdition="32" Channel="Monthly">
<Product ID="O365BusinessRetail">
<Language ID="en-us" />
<Language ID="nl-nl" />
<ExcludeApp ID="Access" />
<ExcludeApp ID="Groove" />
<ExcludeApp ID="Lync" />
<ExcludeApp ID="OneNote" />
<ExcludeApp ID="Publisher" />
<ExcludeApp ID="Teams" />
</Product>
<Product ID="LanguagePack">
<Language ID="en-us" />
<Language ID="nl-nl" />
<ExcludeApp ID="Access" />
<ExcludeApp ID="Groove" />
<ExcludeApp ID="Lync" />
<ExcludeApp ID="OneNote" />
<ExcludeApp ID="Publisher" />
<ExcludeApp ID="Teams" />
</Product>
</Add>
<Property Name="SharedComputerLicensing" Value="0" />
<Property Name="PinIconsToTaskbar" Value="FALSE" />
<Property Name="SCLCacheOverride" Value="0" />
<Property Name="AUTOACTIVATE" Value="0" />
<Property Name="FORCEAPPSHUTDOWN" Value="FALSE" />
<Property Name="DeviceBasedLicensing" Value="0" />
<Updates Enabled="TRUE" />
<RemoveMSI />
<AppSettings>
<Setup Name="Company" Value="Liquit BV" />
</AppSettings>
<Display Level="None" AcceptEULA="FALSE" />
</Configuration>

With the ODT, using the /download switch and this XML you’re able to download the setup files for Microsoft 365.

These setup files are based on Microsoft ClickOnce. ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction:

After the setup files have been downloaded, you can use the ‘Install uploaded directory’ action to upload these files. This is our first action of our ‘Microsoft Office 365’ package:

For the second action we need the setup.exe out of the ODT copied to every device on which you want to install Microsoft 365. We need to use the ‘Install uploaded file’ action for that:

For the third action we’re going to copy our Microsoft 365 configuration XML next to ODT’s setup.exe:

For the fourth and last action we’re going to run ODT’s setup.exe on the local device in the content of the device, where the configuration XML we’ve created with the Microsoft 365 Apps Admin Center is used. Make sure to check the ‘Wait for completion’ checkbox:

Now, in order to replace the non-managed shortcuts for Word, Excel, PowerPoint etc. for Liquit Smart Icons, I normally use something like a ‘Remove Unmanaged Start Menu Shortcuts’ package which is launched every time one logs in into Liquit Workspace.

One other example I had to use recently is a package to remove specific factory pre-installed Office 365 languages. In this case I’m using ${ProgramFiles64}Common FilesMicrosoft SharedClickToRunOfficeClickToRun.exe with this parameter to run a silent uninstall:

scenario=install scenariosubtype=ARP sourcetype=None productstoremove=O365ProPlusRetail.16_fr-fr_x-none culture=fr-fr version.16=16.0 DisplayLevel=False

Before deploying Microsoft 365 Apps to users in your organization, you must first assign licenses to those users. Each license allows a user to install Microsoft 365 Apps on up to five desktops, five tablets, and five mobile devices. Each installation is activated and kept activated automatically by cloud-based services associated with Office 365 (or Microsoft 365). This automatic activation means you don’t have to keep track of product keys and you don’t have to figure out how to use other activation methods such as Key Management Service (KMS) or Multiple Activation Key (MAK). More details about licensing in Overview of licensing and activation in Microsoft 365 Apps.

Next week in ‘Part 2’ of this blog I will discuss how to use PowerShell to create the Smart Icons for Microsoft 365 using the ‘Liquit PowerShell Module‘.