Tag Archives: visio

Deploy Office, Visio & Project 2019 using SCCM

14/03/2019 Update

Hi Everyone,

Thought I would update this post with the introduction of the online Office Customization Tool (OCT)


This tool will help customize and generate the xml file required.

One item that does not get created in OCT is this line which I recommend adding into the xml for in place upgrades.

<Property Name=”FORCEAPPSHUTDOWN” Value=”TRUE” />

Without this the install would fail for an in place upgrade as an office application or Skype For Business will be running. This will cause an error stating 0X8000FFFF (-2147418113) in software centre.

When set to TRUE, forces any apps that are blocking the install of Office to shut down. Data loss may occur.


Original Post 29/10/2018

Microsoft Office 2019 was recently released at the end of September..rather quietly as well so don’t be shocked to see that it is suddenly out.

With the O365 way of Office applications these days, this has had a big impact on the typical installer of Office. No longer is there a simple msi style deployment but rather the same click to run style installer that O365 uses. So it is time to relearn how to deploy office again and some of the fun issues you will come across with the SCCM deployment as well.

In my rollout I used the 32bit version due to legacy plugins, however this same guide can be used for the 64bit deployment.

There is a lot of useful information in the Microsoft guide here which I used to pull this together – Deploy Office 2019 (for IT Pros)

First things first, go to the Microsoft VLSC website and grab the installer. The file you will get will be similar to the below.

Run this setup which will ask you to extract to a location. Extract this to your application repository. Click accept and continue

Choose your location

Here are the extracted files. We have the setup.exe file as well as some sample xml templates which is what we will discuss next.

The xml file controls the install we create. The same setup.exe is used for Office, Visio and Project.

Take a copy of one of the templates and rename it to what you like ie company_office2019_setup.xml  Edit the XML in your favorite editor.

As per the update on this post I would now recommend using https://config.office.com/ to generate the xml file

For reference the original can be download here.

I will go through each of the elements in the XML to help explain what each does and why you may change things.

<Add OfficeClientEdition=”32″ Channel=”PerpetualVL2019″>

Which edition of Office 2019 to download or install.

For example, the 64-bit version.

OfficeClientEdition Valid xml values are “32” and “64.”

All Office products on the computer must be of the same architecture. You can’t have both 32-bit and 64-bit Office products installed on the same computer.

We recommend 64-bit on computers that have 4 gb or more of memory. But you should assess application compatibility and other factors that might require you to use the 32-bit version.

“PerpetualVL2019” is the only supported update channel for Office Professional Plus 2019 and Office Standard 2019. It’s also the default update channel for volume licensed versions of Project 2019 and Visio 2019.

<Product ID=”ProPlus2019Volume”>

Change according to what product you want to deploy. ie Office Pro Plus, Standard, Visio, Project etc. The values are below.

Which products to download or install

For example, Office Professional Plus 2019

Product ID Valid values for volume licensed versions of Office 2019 include the following:
– ProPlus2019Volume
– Standard2019Volume
– ProjectPro2019Volume
– ProjectStd2019Volume
– VisioPro2019Volume
– VisioStd2019Volume

<Language ID=”en-us” />

Select your language

Which languages to download or install

For example, English (en-us) and French (fr-fr).

Language ID You can install multiple languages at the same time you’re Installing Office 2019, or you can install them later.

For more information, see Deploy languages for Office 2019.

<RemoveMSI All=”True” />

This will remove older versions of Office. For more information, see Remove existing versions of Office before installing Office 2019.

<Updates Enabled=”TRUE” Channel=”PerpetualVL2019″ />

For Office Professional Plus 2019, the  update channel you need to use: PerpetualVL2019. Other options are for O365 only.

For more information, see Update channel for Office 2019.

<Display Level=”None” AcceptEULA=”TRUE” />

Display Level has two values, None or Full, for a silent install you mus select None. If AcceptEULA is set to TRUE, the user does not see a Microsoft Software License Terms dialog box. If this attribute is set to FALSE or is not included, the user may see a Microsoft Software License Terms dialog box.

<Property Name=”AUTOACTIVATE” Value=”1″ />

For Office 2019 Professional Plus you can  set AUTOACTIVATE to 1 to have the product activate automatically. This will work for both MAK and KMS activations. To ensure Office 2019 activates on KMS ensure you have installed this on your KMS server

<Property Name=”FORCEAPPSHUTDOWN” Value=”TRUE” />

Now this one was very important. When I did my initial setup and didn’t have this, the install would fail as an office application or Skype For Business was running. This will cause an error stating 0X8000FFFF (-2147418113) in software centre.

When set to TRUE, forces any apps that are blocking the install of Office to shut down. Data loss may occur.


OK, so now you understand the xml it is time to move on with the process. The next step is to use the new xml file we created to download the office content. This will create the whole package you can send to your DP’s.

It is worth noting, the content downloaded is the same for all Office, Visio & Project. The only difference in content will be if you change the xml between 32 or 64 bit different content will download

Open a command prompt or powershell in the current deployment folder and run the following command

CMD:  setup.exe /download company_office2019_setup.xml
Powershell:  .\setup.exe /download .\company_office2019_setup.xml

This will download the installer content into a folder called office

Now this is good to go! Lets jump to SCCM and create a new application.

Select Manually specify the application information.

Type in the application name, publisher, version etc.

Add in the information so that it will display in Software Centre. Add in a nice icon as well 🙂

Select Manually specify the deployment type information.

Again type in the name

The content location is where you have the installer

Installation Program
“setup.exe” /configure “company_office2019_setup.xml”

Uninstall Program
“setup.exe” /configure “company_office2019_uninstall.xml”

To configure an uninstall program you will need to create another xml file that can be used for the uninstall. This is to go in the same content directory. Download the example here.

Also select Run installation and uninstall program as 32-bit process on 64bit clients (For 32 Bit installs only), for 64bit untick this option.

Once done press next, we must now configure the detection rule. Create a new Registry type rule

  • Setting Type – Registry
  • Key – SOFTWARE\Microsoft\Office\ClickToRun\Configuration
  • Value – VersionToReport
  • Enable “This registry key is associated with a 32-bit application on 64-bit systems”
  • Data Type – Version
  • Select “This registry setting must satisfy following rule to indicate the presence of this application”
  • Operator – Greater than or equal to
  • Value – 16.0.10827.20181

For Visio use:

For Project use:

Press Ok and move to the next page.

Change to Install for System and Whether or not a user is logged on. Change the max and estimated times as you see fit.

Press Ok, we must now create a requirement that this is only for Windows 10.

Select Operating System, and select Windows 10.  Press Ok and finish the wizard.

Distribute, Deploy and test!

Here are my final results.

Most important thing that stopped my deployment working was existing office applications not closing before the install would start. Ensure you add that line into the xml mentioned above.

As always feel free to ask questions in the comments section below, I hope this guide helps!