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 a32), tenendo presente cheRemoveMSIgestisce 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"conDisplay 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), nonCurrent. 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.