Perché serve Office Deployment Tool

Il portale Microsoft 365 offre un pulsante Install Office che scarica un bootstrapper già configurato: Current Channel, 64 bit, tutte le app, lingua del profilo utente. Va bene per l’utente singolo, non va bene quando l’organizzazione deve imporre canale, architettura, lingue o esclusioni.

L’Office Deployment Tool (ODT) è un eseguibile scaricabile dal Microsoft Download Center (setup.exe) che si pilota con un file XML. Due modalità:

setup.exe /download configuration.xml     # scarica i sorgenti in locale
setup.exe /configure configuration.xml    # installa o riconfigura

/download serve solo se si vuole distribuire da share di rete. Se si installa dal CDN Microsoft si usa direttamente /configure.

Anatomia del configuration.xml

Elemento / attributo Ruolo Valori tipici
Add OfficeClientEdition Architettura 32 o 64
Add Channel Canale di aggiornamento Current, MonthlyEnterprise, SemiAnnual, SemiAnnualPreview, CurrentPreview
Add SourcePath Cartella sorgenti locale/UNC omesso = CDN Microsoft
Add Version Blocco su build specifica omesso = ultima disponibile
Product ID Suite o app singola O365ProPlusRetail, O365BusinessRetail, VisioProRetail, ProjectProRetail
Language ID Lingue installate it-it, en-us, MatchOS
ExcludeApp ID App da non installare Groove, Lync, Bing, OneDrive, Access, Publisher
Display Level UI durante l’installazione None (silente) o Full
Property AcceptEULA Accettazione preventiva licenza TRUE
RemoveMSI Disinstalla Office MSI legacy elemento senza attributi
Updates Enabled Aggiornamenti automatici TRUE / FALSE

Esempio operativo: deployment silente a 64 bit, canale Monthly Enterprise, italiano + inglese, senza Skype for Business e senza OneDrive standalone, con rimozione di Office 2016 MSI preesistente.

<Configuration>
  <Add OfficeClientEdition="64" Channel="MonthlyEnterprise">
    <Product ID="O365ProPlusRetail">
      <Language ID="it-it" />
      <Language ID="en-us" />
      <ExcludeApp ID="Lync" />
      <ExcludeApp ID="Groove" />
    </Product>
  </Add>
  <RemoveMSI />
  <Display Level="None" AcceptEULA="TRUE" />
  <Updates Enabled="TRUE" />
</Configuration>

Nota: Display Level="None" senza AcceptEULA="TRUE" fa fallire l’installazione silente, perché il prompt di licenza resta bloccante.

Il Microsoft 365 Apps admin center

Scrivere l’XML a mano è legittimo ma sconsigliato come best practice: il Microsoft 365 Apps admin center (config.office.com) espone l’Office Customization Tool, una UI che genera e valida il file. Gestisce anche i profili di servicing e le deployment settings riusabili.

CDN Microsoft vs share di rete

Criterio CDN Microsoft Share di rete (SourcePath)
Banda WAN Ogni client scarica circa 2-4 GB da Internet Un solo download, poi traffico LAN
Manutenzione Zero Serve rieseguire /download a ogni build
Versione installata Sempre l’ultima del canale Quella presente nella share
Client remoti/VPN Ideale Penalizzante
Requisito firewall URL Office CDN in allowlist Solo SMB interno

Regola pratica d’esame: filiali con banda limitata → SourcePath su share locale; utenti remoti o Intune-managed → CDN.

Self-service vs deployment gestito

  • Self-service dal portale: l’utente clicca Install Office su portal.office.com. Nessun controllo su architettura, canale, esclusioni. Si disabilita dal Microsoft 365 admin center (Settings → Org settings → Services → Microsoft 365 installation options) o revocando la licenza dell’app.
  • Deployment gestito: ODT invocato da script, oppure il pacchetto Microsoft 365 Apps nativo di Microsoft Intune (che sotto il cofano genera lo stesso XML), oppure Configuration Manager. È l’unico modo per garantire uniformità di canale e lingua.

Con Intune si usa il tipo di app Microsoft 365 Apps for Windows 10 and later, che offre sia il configuratore guidato sia l’incolla di un XML personalizzato.

Trappole tipiche d’esame

  • Scenario: un client ha già Office 2016 a 32 bit installato via MSI e il nuovo XML specifica OfficeClientEdition="64" → l’installazione fallisce. Non si possono mescolare architetture sulla stessa macchina: la risposta giusta è disinstallare la versione a 32 bit (o allineare l’XML a 32), tenendo presente che RemoveMSI gestisce la rimozione ma l’architettura target deve comunque essere coerente con eventuali componenti Office rimasti.
  • Scenario: il deployment lascia sul PC il vecchio Office Professional Plus 2016 accanto alle nuove app → mancava l’elemento <RemoveMSI />. È il solo modo per far disinstallare automaticamente le versioni MSI legacy durante /configure.
  • Scenario: si vuole Visio sul canale Current e Microsoft 365 Apps sul canale Semi-Annual Enterprise, stessa macchina → non è supportato. Tutti i prodotti Click-to-Run installati su un dispositivo condividono lo stesso canale di aggiornamento; la risposta giusta è allineare i prodotti a un unico canale.
  • Scenario: script di installazione silente che si blocca senza errori nei log → mancava AcceptEULA="TRUE" con Display Level="None". Sempre entrambi insieme per il silent deploy.
  • Scenario: si deve garantire ai client una build validata e stabile per mesi → Channel="SemiAnnual" (aggiornamenti funzionali ogni 6 mesi), non Current. Se serve un compromesso mensile ma prevedibile, la risposta è MonthlyEnterprise.
  • Scenario: gli utenti installano Office da soli con lingue e architetture eterogenee → disabilitare le installation options nel Microsoft 365 admin center e passare a un deployment gestito via Intune o ODT.