Office 365 ProPlus (Microsoft 365 Apps) hantering i SCCM (MECM)

Ledsen, men denna bloggning blir på svenska (in English, by Google).

Jag har upplevt att en del företag har svårt att få till en bra hantering av Office 365 ProPlus, Visio och Project när det gäller installation och uppdateringar via SCCM/MECM (System Center Configuration Manager, eller som det numera heter Microsoft Endpoint Configuration Manager).
För att säkerställa att samtliga Applikationspaket för Office 365 ProPlus, Visio Pro for Office 365, och Project Online Desktop Client alltid är av senast verifierad (godkänd för installation) version är detta lösning som jag förespråkar.

Bakgrund
I SCCM/MECM skapas det statiska installationspaket (Application packages) för så väl Office 365 ProPlus som Visio och Project. Där Office 365 ProPlus oftast installeras under OS-installationen (via Task Sequence). När Office 365 ProPlus är installerat på klienterna blir de uppdaterade (patchade) via sedvanlig uppdaterings-rutin till nyare ”build” och ibland till ny version.
De statiska installationspaketen (Application packages) ligger fortfarande kvar på samma version och build som när de skapades.

Problemet
Användare A har sin dator installerad med Office 365 ProPlus sedan en tid, och fått både säkerhetsuppdateringar och ny version av Office 365 ProPlus. Nu behöver användare A även ha Visio installerat. Men eftersom den packade Visio-versionen i SCCM/MECM är äldre än den Office 365 ProPlus som användare A har installerat så kommer installationen att misslyckas.

Lösningen
På ett DFS-share som är åtkomligt från alla nät där klienter sitter (inkl. stagning-nät & VPN) skapar man en mapp för Office 365 filer (tex. Office365SetupFiles så att sökvägen ser ut ungefär så här: \dfs-share.organisationen.net\Office365SetupFiles$), i den skapar man två mappar, x86 och x64.
I mappen Office365SetupFiles lägger man sedan Office Deployment Tool (setup.exe) tillsammans med två XML-filer som man får skapa (en för x86 och en för x64) och som talar om vad som skall laddas ner (för exempel på XML-filer se längre ner i dokumentet).
I XML-filerna för nedladdning anger man alla produkter, språk och rättstavningsverktyg som kan tänkas behövas inom organisationen.
När mapparna och XML-filerna är skapade och på plats tillsammans med setup.exe (från Office Deployment Tool) kör man kommandot: setup.exe /download download_x86.xml för att ladda ner alla filerna för 32-bitars version, och sedan setup.exe /download download_x64.xml för 64-bitars version.

I rutinen för uppdateringar varje månad kör man setup.exe /download download_x32.xml (och setup.exe /download download_x64.xml) för att få de uppdaterade installationsfilerna (man tar sedan bort föregående version från nedladdningen). På detta sätt är alltid installationsfilerna uppdaterade, och givetvis kan man automatisera detta.
För installation skapar man sina statiska installationspaket (Application packages), enbart med filen setup.exe (från Office Deployment Tool) och den konfigurations-fil (XML-fil) som talar om vad som skall installeras. I XML-filen hänvisar man till DSF-sharet där nedladdningen finns, och installeras därifrån (exempel på XML-filer se längre ner i inlägget). Jag rekommenderar att använda PSADT (PowerShell App Deployment Toolkit) för att paketera installationen.

Sammanfattning
Nu i denna lösning när användare A med sin dator installerad med Office 365 ProPlus sedan en tid, med både ny version och säkerhetsuppdateringar nu behöver Visio så kommer installationen fungera, då installationsfilerna är i samma version som användare A redan har sitt Office 365 ProPlus på.

Office Deployment Tool (setup.exe) behöver uppdateras när man går upp i version för att stödja nya funktioner, på samma sätt som man kan behöva se över XML-filerna för att de nya funktionerna/produkter ska komma med, eller förhindras (använd Office Office Customization Tool).
Office Deployment Tool, https://go.microsoft.com/fwlink/p/?LinkID=626065
Office Customization Tool, https://config.office.com/deploymentsettings (skapa/importera/exportera konfigurationsfiler)

Exempel på konfigurationsfiler
Exempel på download_x64.xml

<Configuration ID="11666593-c103-4fad-bc07-0951fdee1223">
  <Add OfficeClientEdition="64" Channel="Broad" SourcePath="\\DFSSHARE.ORGANISATION.ORG\Office365SetupFiles$\x64">
    <Product ID="O365ProPlusRetail">
      <Language ID="sv-se" />
      <Language ID="da-dk" />
      <Language ID="nl-nl" />
      <Language ID="en-us" />
      <Language ID="fi-fi" />
      <Language ID="fr-fr" />
      <Language ID="de-de" />
      <Language ID="nn-no" />
    </Product>
    <Product ID="VisioProRetail">
      <Language ID="sv-se" />
      <Language ID="da-dk" />
      <Language ID="nl-nl" />
      <Language ID="en-us" />
      <Language ID="fi-fi" />
      <Language ID="fr-fr" />
      <Language ID="de-de" />
      <Language ID="nn-no" />
    </Product>
    <Product ID="ProjectProRetail">
      <Language ID="sv-se" />
      <Language ID="da-dk" />
      <Language ID="nl-nl" />
      <Language ID="en-us" />
      <Language ID="fi-fi" />
      <Language ID="fr-fr" />
      <Language ID="de-de" />
      <Language ID="nn-no" />
    </Product>
    <Product ID="LanguagePack">
      <Language ID="sv-se" />
      <Language ID="da-dk" />
      <Language ID="nl-nl" />
      <Language ID="en-us" />
      <Language ID="fi-fi" />
      <Language ID="fr-fr" />
      <Language ID="de-de" />
      <Language ID="nn-no" />
    </Product>
    <Product ID="ProofingTools">
      <Language ID="da-dk" />
      <Language ID="nl-nl" />
      <Language ID="en-us" />
      <Language ID="fi-fi" />
      <Language ID="fr-fr" />
      <Language ID="de-de" />
      <Language ID="nn-no" />
      <Language ID="sv-se" />
    </Product>
  </Add>
  <Display Level="None" AcceptEULA="TRUE" />
</Configuration>

Exempel på configuration_x64.xml för Office 365 ProPlus

<Configuration ID="5140f541-3226-4067-84d0-c3e53ac6d29f">
  <Add OfficeClientEdition="64" Channel="Broad" SourcePath="\\DFSSHARE.ORGANISATION.ORG\Office365SetupFiles$\x64" OfficeMgmtCOM="TRUE" AllowCdnFallback="FALSE">
    <Product ID="O365ProPlusRetail">
      <Language ID=" en-us " />
      <ExcludeApp ID="Bing" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="OneNote" />
    </Product>
    <Product ID="LanguagePack">
      <Language ID="sv-se" />
      <ExcludeApp ID="Bing" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="OneNote" />
   </Product>
    <Product ID="ProofingTools">
      <Language ID="fr-fr" />
      <Language ID="de-de" />
     </Product>
  </Add>
  <Property Name="SharedComputerLicensing" Value="0" />
  <Property Name="PinIconsToTaskbar" Value="FALSE" />
  <Property Name="SCLCacheOverride" Value="0" />
  <Property Name="AUTOACTIVATE" Value="1" />
  <Property Name="FORCEAPPSHUTDOWN" Value="FALSE" />
  <Property Name="DeviceBasedLicensing" Value="0" />
  <Updates Enabled="TRUE" />
  <AppSettings>
    <User Key="software\microsoft\office\16.0\excel\options" Name="defaultformat" Value="51" Type="REG_DWORD" App="excel16" Id="L_SaveExcelfilesas" />
    <User Key="software\microsoft\office\16.0\powerpoint\options" Name="defaultformat" Value="27" Type="REG_DWORD" App="ppt16" Id="L_SavePowerPointfilesas" />
    <User Key="software\microsoft\office\16.0\word\options" Name="defaultformat" Value="" Type="REG_SZ" App="word16" Id="L_SaveWordfilesas" />
  </AppSettings>
  <Display Level="None" AcceptEULA="TRUE" />
  <Logging Level="Standard" Path="%windir%\Logs\Software\" />
</Configuration>

Exempel på configuration_x64.xml för Visio Pro for Office 365

<Configuration ID="986241dd-06ab-49ed-a5e0-5fb25297a666">
  <Add OfficeClientEdition="64" Channel="Broad" SourcePath="\\DFSSHARE.ORGANISATION.ORG\Office365SetupFiles$\x64" OfficeMgmtCOM="TRUE" AllowCdnFallback="FALSE">
    <Product ID="VisioProRetail">
      <Language ID="en-us" />
      <ExcludeApp ID="Bing" />
      <ExcludeApp ID="Groove" />
    </Product>
    <Product ID="LanguagePack">
      <Language ID="sv-se" />
      <ExcludeApp ID="Bing" />
      <ExcludeApp ID="Groove" />
    </Product>
  </Add>
  <Property Name="SharedComputerLicensing" Value="0" />
  <Property Name="PinIconsToTaskbar" Value="TRUE" />
  <Property Name="SCLCacheOverride" Value="0" />
  <Property Name="AUTOACTIVATE" Value="1" />
  <Property Name="FORCEAPPSHUTDOWN" Value="FALSE" />
  <Property Name="DeviceBasedLicensing" Value="0" />
  <Display Level="Full" AcceptEULA="TRUE" />
  <Logging Level="Standard" Path="%windir%\Logs\Software\" />
</Configuration>

Exempel på configuration_x64.xml för Project Online Desktop Client

<Configuration ID="2755de1d-24bf-4299-b3a0-70ce31c8941b">
  <Add OfficeClientEdition="64" Channel="Broad" SourcePath="\\DFSSHARE.ORGANISATION.ORG\Office365SetupFiles$\x64" OfficeMgmtCOM="TRUE" AllowCdnFallback="FALSE">
    <Product ID="ProjectProRetail">
      <Language ID="en-us" />
      <ExcludeApp ID="Bing" />
      <ExcludeApp ID="Groove" />
	</Product>
    <Product ID="LanguagePack">
      <Language ID="sv-se" />
      <ExcludeApp ID="Bing" />
      <ExcludeApp ID="Groove" />
    </Product>
  </Add>
  <Property Name="SharedComputerLicensing" Value="0" />
  <Property Name="PinIconsToTaskbar" Value="TRUE" />
  <Property Name="SCLCacheOverride" Value="0" />
  <Property Name="AUTOACTIVATE" Value="1" />
  <Property Name="FORCEAPPSHUTDOWN" Value="FALSE" />
  <Property Name="DeviceBasedLicensing" Value="0" />
  <Display Level="None" AcceptEULA="TRUE" />
  <Logging Level="Standard" Path="%windir%\Logs\Software\" />
</Configuration>