This week I’ve been working on automating all things Office 365. In SCCM we had bundled Language Packs based upon regions like EMEA, EPAC and so on. This was a simple quick and dirty approch, but it will pollute devices with Language Packs never being used, not very modern IMHO.
Starting with version 16.0.11615.33602 of the Office Deployment Tool (ODT) it’s possible to make changes to an existing installation of Office 365 while keeping the installed version as is, even when a newer one is available on the Office CDN.
Language Packs
The Office 365 XML configuration files needs to contain the proper culture code, which can be found here. You need to have two XML files per Language Pack, one for installation and one for uninstallation.
1 2 3 4 5 6 7 8 |
<Configuration> <Remove> <Product ID="LanguagePack"> <Language ID="nb-NO" /> </Product> </Remove> <Property Name="FORCEAPPSHUTDOWN" Value="TRUE" /> </Configuration> |
The trick here is to use MachInstalled, without that the installation will automatically upgrade the current installed Office version to the latest and greatest!
The Win32App creation and publishing itself is straight forward using the script as explained in the post Windows 365 – Building Win32Apps for Intune Automatically.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<Application> <Manufacturer>Microsoft</Manufacturer> <ProductName>Office Language Pack Norwegian, Bokmål (Norway)</ProductName> <ProductVersion>16.0.13801.20738</ProductVersion> <ProductCode></ProductCode> <Description>Language packs add additional display, help, and proofing tools to Office. You can install additional language accessory packs after installing Microsoft Office. If a language accessory pack is described as having partial localization, some parts of Office may still display in the language of your copy of Microsoft Office..</Description> <Installer>setup</Installer> <InstallerType>exe</InstallerType> <Install>/configure .\Install-nb-NO.xml</Install> <Path></Path> <Uninstaller>setup</Uninstaller> <Uninstall>/configure .\Uninstall-nb-NO.xml</Uninstall> <UninstallerPath></UninstallerPath> <DetectionRuleRegistry>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - nb-NO</DetectionRuleRegistry> <DetectionRuleValue>DisplayVersion</DetectionRuleValue> <DetectionRuleVersion>16.0.13801.20738</DetectionRuleVersion> <SCCM>False</SCCM> <Intune>True</Intune> <Categories>IT Admin Tools</Categories> <Group>All Users</Group> <RequiredGroup>All Devices</RequiredGroup> <PilotGroup>All Users</PilotGroup> <Owner>TROHAV</Owner> <ID>100019</ID> </Application> |
The DetectionRuleVersion in the XML file is used for detection, so make sure it’s lower than any currently deployed versions of Office 365 in your environment. Failing to do so, will prevent the application(s) from showing up in Company Portal.
Another lesson learned during testing, is that the installation will fail if there’s any Office products running. Make sure to use markdown to highlight this in the application description.
Publisher / Visio
Again we’re using MatchInstalled version.
1 2 3 4 5 6 7 8 |
<Configuration> <Add Version="MatchInstalled"> <Product ID="ProjectProRetail"> <Language ID="MatchInstalled" TargetProduct="O365ProPlusRetail" /> </Product> </Add> <Property Name="FORCEAPPSHUTDOWN" Value="TRUE" /> </Configuration> |
1 2 3 4 5 6 7 |
<Configuration> <Remove> <Product ID="ProjectProRetail"> </Product> </Remove> <Display Level="None" /> </Configuration> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<Application> <Manufacturer>Microsoft</Manufacturer> <ProductName>Project</ProductName> <ProductVersion>16.0.13801.20738</ProductVersion> <ProductCode></ProductCode> <Description>Microsoft Project is a project management software product, developed and sold by Microsoft. It is designed to assist a project manager in developing a schedule, assigning resources to tasks, tracking progress, managing the budget, and analyzing workloads.</Description> <Installer>setup</Installer> <InstallerType>exe</InstallerType> <Install>/configure .\Install-Project.xml</Install> <Uninstall></Uninstall> <Path></Path> <Uninstaller>setup</Uninstaller> <Uninstall>/configure .\Uninstall-Project.xml</Uninstall> <UninstallerPath></UninstallerPath> <DetectionRuleRegistry>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ProjectProRetail - en-us</DetectionRuleRegistry> <DetectionRuleValue>DisplayVersion</DetectionRuleValue> <DetectionRuleVersion>16.0.13801.20738</DetectionRuleVersion> <SCCM>False</SCCM> <Intune>True</Intune> <Categories>IT Admin Tools</Categories> <Group>All Users</Group> <RequiredGroup>All Devices</RequiredGroup> <PilotGroup>All Users</PilotGroup> <Owner>TROHAV</Owner> <ID>100020</ID> </Application> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<Application> <Manufacturer>Microsoft</Manufacturer> <ProductName>Visio</ProductName> <ProductVersion>16.0.13801.20738</ProductVersion> <ProductCode></ProductCode> <Description>Microsoft Visio is a diagramming and vector graphics application and is part of the Microsoft Office family. The product was first introduced in 1992, made by the Shapeware Corporation. It was acquired by Microsoft in 2000.</Description> <Installer>setup</Installer> <InstallerType>exe</InstallerType> <Install>/configure .\Install-Visio.xml</Install> <Uninstall></Uninstall> <Path></Path> <Uninstaller>setup</Uninstaller> <Uninstall>/configure .\Uninstall-Visio.xml</Uninstall> <UninstallerPath></UninstallerPath> <DetectionRuleRegistry>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\VisioProRetail - en-us</DetectionRuleRegistry> <DetectionRuleValue>DisplayVersion</DetectionRuleValue> <DetectionRuleVersion>16.0.13801.20738</DetectionRuleVersion> <SCCM>False</SCCM> <Intune>True</Intune> <Categories>IT Admin Tools</Categories> <Group>All Users</Group> <RequiredGroup>All Devices</RequiredGroup> <PilotGroup>All Users</PilotGroup> <Owner>TROHAV</Owner> <ID>100021</ID> </Application> |
The cool part here is that whenever you Add / Remove Products or Language Packs, it will follow the installed version and automatically Add / Remove Language Packs.
Looking at the image above, you can easily see why creating bundled Language Packs based upon regions it’s not a very clever idea.
Office 365
So how do we automatically update the product version of any installed Office 365 products? Quite simple, that’s based upon your Update Channel 2.0 settings in your Configuration Profile.