Macro di Microsoft Project bloccate dopo aggiornamento 2024: cause, soluzioni e fix

Un recente aggiornamento di Microsoft Project ha impedito a molti ambienti con Project Online di eseguire macro VBA: all’avvio era visibile solo “Disable Macros”. Qui trovi una guida pratica e approfondita su cause, workaround, stato dei fix Microsoft e raccomandazioni per amministratori.

Indice

Contesto e sintomi

Tra fine estate e inizio autunno 2024 numerosi tenant hanno riscontrato, dopo il passaggio a build di Project in corrente diffusione, un blocco anomalo dei macro VBA caricati dall’Enterprise Global e, in alcuni casi, anche dei macro locali. L’interfaccia mostrava unicamente l’opzione Disable Macros senza offrire la tradizionale possibilità Enable Macros. Il fenomeno è emerso in particolare su postazioni collegate a Project Online con un Enterprise Global attivo, ma non è mancata qualche segnalazione anche su file MPP e Global.mpt locali.

Segnali più comuni

  • All’avvio di Project o all’apertura di un MPP collegato a Enterprise Global, compare soltanto Disable Macros.
  • I macro dell’Enterprise Global risultano disattivati; eventuali funzioni nel menu personalizzato non compaiono o producono errori.
  • In alcune installazioni anche i macro salvati nel profilo locale non si avviano, pur con impostazioni del Centro protezione apparentemente corrette.
  • Il comportamento è riproducibile su più utenti con lo stesso canale di aggiornamento e la stessa build.

Ambito di impatto

Le segnalazioni hanno riguardato postazioni aggiornate a versioni recenti in canale corrente. L’impatto tipico si manifestava su client che:

  • utilizzano Project connesso a Project Online e caricano l’Enterprise Global all’avvio;
  • caricano macro dall’Enterprise Global o da file MPP distribuiti centralmente;
  • in alcuni casi, mantengono anche macro nel Global.mpt locale.

Il problema non dipendeva dalla presenza di componenti aggiuntivi COM o VSTO: la casistica ha interessato nello specifico il codice VBA legato ai template globali e ai file di progetto.

Analisi tecnica del comportamento

Dalle discussioni tecniche e dalle riproduzioni in laboratorio emerge che un nuovo controllo antivirus in tempo reale applicato al codice VBA è stato introdotto con le build di metà agosto. Tale controllo ha influenzato la fase in cui Project acquisisce e mette in cache il modulo VBA proveniente dall’Enterprise Global o da file collegati. Alcune chiamate di automazione come FileOpen e FileOpenEx, se invocate dal template globale, sono state classificate come non sicure dal nuovo meccanismo di ispezione, con il risultato che il codice copiato nella cache non veniva contrassegnato come “attendibile”. Da qui l’assenza del pulsante Enable Macros e il blocco.

È stata individuata anche una funzionalità commutabile tramite registro che, se attivata, disabilita il controllo introdotto. La chiave interessata è Fix9072568 nel ramo impostazioni di Project. In diversi ambienti l’impostazione ha ripristinato l’esecuzione dei macro dell’Enterprise Global; in configurazioni più restrittive poteva rendersi necessario intervenire anche sulle impostazioni di attendibilità e firma dei macro locali.

Soluzioni provvisorie adottate dalla community

Le discussioni hanno convergito su un set di workaround che hanno consentito di riprendere rapidamente la produttività in attesa dei fix progressivi.

SoluzioneDettagliLimiti e note
Chiave di registroAggiungere sotto HKCU\Software\Microsoft\Office\16.0\MS Project\Settings
"Fix9072568"=dword:00000001. Alcuni ambienti hanno usato 00000101 con pari efficacia.
Funziona bene con Enterprise Global; non sempre sblocca macro locali. Richiede permessi sul registro utente o distribuzione centralizzata.
Rollback a versione precedenteEseguire
OfficeC2RClient.exe /update user updatetoversion=16.0.17830.20166 e sospendere gli aggiornamenti automatici.
Risolve in modo netto ma ferma gli update successivi; da ripetere se il client si aggiorna inavvertitamente.
Passaggio a canale differitoImpostare temporaneamente il canale Semi‑Annual, privo del nuovo controllo nel periodo iniziale.Comporta ritardo sugli aggiornamenti di funzionalità e sicurezza.
Firma digitale e blocco macro non firmateFirmare l’Enterprise Global con un certificato di code signing e configurare il Centro protezione per consentire solo macro firmate.Riduce il rischio e spesso aggira il problema in combinazione con la chiave; non sempre risolve per macro locali non firmate.
Copia locale del Global.mptRinominare il Global.mpt, aggiungere la cartella alle Posizioni attendibili e aprire manualmente il file dopo l’avvio di Project.Procedura scomoda, rischio di conflitti al salvataggio e disallineamento rispetto all’Enterprise Global.

Istruzioni passo passo per la chiave di registro

  1. Chiudere Project e tutte le app Office.
  2. Aprire l’Editor del Registro di sistema come utente interessato.
  3. Portarsi su HKEYCURRENTUSER\Software\Microsoft\Office\16.0\MS Project\Settings.
  4. Creare un nuovo Valore DWORD (32 bit) denominato Fix9072568 e impostarlo a 1 (esadecimale 00000001).
  5. Riavviare Project e verificare la ricomparsa del pulsante Enable Macros e l’esecuzione del codice.

In alternativa si può importare un file .reg con il seguente contenuto:

Windows Registry Editor Version 5.00

[HKEYCURRENTUSER\Software\Microsoft\Office\16.0\MS Project\Settings]
"Fix9072568"=dword:00000001 

Nota: in alcune postazioni è stato riportato dword:00000101. Entrambi i valori hanno attivato il comportamento desiderato; resta consigliabile preferire 00000001 per coerenza e semplicità di gestione.

Indicazioni per un rollback controllato

  1. Eseguire da prompt con privilegi utente:
    "C:\Program Files\Common Files\Microsoft Shared\ClickToRun\OfficeC2RClient.exe" /update user updatetoversion=16.0.17830.20166
  2. Attendere il completamento e verificare la versione in File → Account → Informazioni su Project.
  3. Disattivare temporaneamente gli aggiornamenti automatici per evitare ritorni alla build problematica.
  4. Documentare l’intervento e pianificare il rientro alla corrente non appena disponibile un fix stabile.

Uso della firma digitale

Se l’organizzazione dispone di una PKI, firmare l’Enterprise Global con un certificato di Code Signing aziendale è una buona pratica di sicurezza che aiuta anche a separare il rischio delle macro interne da quelle non attendibili. In assenza di PKI, è possibile creare un certificato locale con SelfCert.exe e distribuirlo ai client come Autorità di certificazione attendibile o Editor attendibile. Nel Centro protezione di Project impostare “Consenti solo macro firmate da editor attendibili”.

Considerazioni sulle posizioni attendibili

Se si utilizzano macro locali in Global.mpt o in MPP, aggiungere la cartella che ospita i file a Posizioni attendibili può rimuovere ulteriori ostacoli. È una misura da calibrare con attenzione, preferendo cartelle dedicate, non condivise e non sincronizzate con percorsi potenzialmente pericolosi.

Cronologia sintetica dei fix rilasciati

Gli aggiornamenti pubblici hanno seguito una progressione che, per molti ambienti, ha riportato gli eseguibili in condizioni operative senza necessità di workaround.

DataBuild e canaleStato macro
14 agosto 2024Versione 2406 (17830.x)Introduzione del controllo e comparsa del bug.
6 settembre 2024Versione 2408 (17928.20114) canale correnteCorrezione parziale; molti ambienti tornano operativi anche senza chiave, altri ancora impattati.
11 settembre 2024Versione 2409 (18025.20104) canale correnteCorrezione estesa; in diversi casi la chiave non è più necessaria, ma non viene rimossa automaticamente.
Fine settembre – metà ottobre 2024Roll‑out previsto su canali Semi‑Annual, Monthly Enterprise e versioni perpetue 2016/2019/2022Annuncio di disponibilità progressiva del fix definitivo su tutti i canali.

Raccomandazioni operative per team e amministratori

  1. Verificare la build in File → Account → Informazioni su Project. Annotare versione, numero di build e canale.
  2. Se la build è aggiornata e i macro funzionano: mantenere la chiave del registro così com’è (non interferisce) oppure rimuoverla dopo un periodo di osservazione con test ripetibili; riattivare gli aggiornamenti automatici.
  3. Se il problema persiste: applicare la chiave o retrocedere alla build precedente come soluzione di emergenza. Verificare che criteri come “Disattiva macro senza notifica” non blocchino comunque l’esecuzione. Valutare la firma digitale per Enterprise Global e file locali.
  4. Pianificare un test pilota prima di distribuire futuri aggiornamenti: l’incidente ha evidenziato come i controlli di sicurezza possano avere effetti collaterali non previsti.
  5. Monitorare le note di rilascio e i messaggi dell’Admin Center per confermare la correzione finale e l’eventuale rimozione automatica della chiave.

Guida pratica alla gestione centralizzata

Distribuzione della chiave via strumenti aziendali

  • Group Policy: creare una Preference del registro in ambito utente che imposta HKCU\Software\Microsoft\Office\16.0\MS Project\Settings\Fix9072568 a 1. Utilizzare il targeting per unità organizzative pilota.
  • Gestione cloud: con strumenti di gestione endpoint distribuire uno script di logon che imposti la chiave in HKCU. Assicurarsi che lo script sia idempotente e registri l’esito.
  • Reversibilità: predisporre anche lo script di rimozione, da eseguire quando il fix è stabile su tutto il parco.

Strategia a ring

  1. Pilota: poche postazioni rappresentative per verificare il comportamento con e senza chiave su build recenti.
  2. Early adopters: allargare il campione con utenti esperti di Project e team che usano massicciamente i macro.
  3. Produzione: migrazione scaglionata, con finestra di rollback e comunicazione chiara agli utenti.

Controlli nel Centro protezione

Verificare le seguenti impostazioni, specie in ambienti regolati da criteri:

  • Lo stato di “Disattiva tutte le macro senza notifica”: se abilitato via criteri, continuerà a bloccare ogni macro.
  • Le Posizioni attendibili: preferire cartelle dedicate per template e MPP con macro.
  • La politica “Blocca macro da Internet”: utile per mitigare il rischio, non influisce sui file generati e firmati internamente.
  • Gli Editor attendibili: stabilire le entità (certificati) che possono firmare il codice approvato.

Diagnostica e test di conferma

Prova rapida

  1. Aprire Project senza file, attendere il caricamento dell’Enterprise Global.
  2. Aprire un MPP con una macro di test (ad esempio un semplice MsgBox all’apertura).
  3. Verificare la presenza del pulsante Enable Macros e l’esecuzione del codice all’evento Project_Open.

Problemi frequenti e rimedi

  • La chiave è impostata ma i macro locali non partono: verificare se la cartella è tra le Posizioni attendibili e se un criterio disabilita le notifiche. Valutare la firma del Global.mpt e dei file MPP.
  • Differenze tra utenti: controllare coerenza di canale e build; accertarsi che il valore della chiave sia in HKCU per l’utente corrente.
  • Menu personalizzati mancanti: confermare che i moduli VBA siano effettivamente caricati dal template globale e che non vi siano conflitti tra Global.mpt locale ed Enterprise Global.

Sicurezza e valutazione del rischio

Il controllo antivirus sui macro ha l’obiettivo di innalzare il livello di protezione del client. Disabilitarlo con una chiave di compatibilità è un compromesso legittimo per continuità operativa, ma va inquadrato in un disegno di sicurezza più ampio:

  • preferire la firma digitale del codice VBA dell’Enterprise Global e dei template locali;
  • delimitare l’uso di posizioni attendibili a cartelle strettamente controllate;
  • evitare l’uso persistente del workaround quando il fix è disponibile e validato;
  • documentare gli impatti e conservare un piano di rientro.

Piano di rimozione del workaround

  1. Aggiornare i client a build che includono la correzione.
  2. Eseguire un test di non regressione con macro dall’Enterprise Global e da file locali.
  3. Rimuovere la chiave Fix9072568 tramite lo stesso meccanismo usato per distribuirla.
  4. Riattivare gli aggiornamenti automatici e riposizionare i canali come da standard aziendale.

La rimozione va programmata per fasi, con possibilità di reinserire la chiave in caso di casi limite residui.

Esempi operativi

Script PowerShell di esempio

Per contesti gestiti, uno script semplice può impostare la chiave per l’utente al logon:

$path = "HKCU:\Software\Microsoft\Office\16.0\MS Project\Settings"
New-Item -Path $path -Force | Out-Null
New-ItemProperty -Path $path -Name "Fix9072568" -Value 1 -PropertyType DWord -Force | Out-Null

E per la rimozione:

$path = "HKCU:\Software\Microsoft\Office\16.0\MS Project\Settings"
Remove-ItemProperty -Path $path -Name "Fix9072568" -ErrorAction SilentlyContinue

Domande ricorrenti

La chiave resta necessaria dopo i fix

In molti scenari aggiornati non è più indispensabile. È prudente mantenerla per qualche settimana come rete di sicurezza, pianificando la rimozione dopo test di conferma.

Perché alcuni macro locali continuano a essere bloccati

Le impostazioni del Centro protezione e le policy di sicurezza possono impedire l’esecuzione anche in presenza della chiave. La firma digitale e l’uso di posizioni attendibili dedicate restano fondamentali.

Che relazione c’è con i componenti aggiuntivi

Il problema ha riguardato specificamente il codice VBA in template e file di progetto. I componenti aggiuntivi COM o VSTO seguono pipeline di attendibilità diverse.

Qual è la differenza tra Enterprise Global e Global.mpt

L’Enterprise Global è un template centralizzato caricato all’avvio quando il client è connesso a Project Online; il Global.mpt è il template personale memorizzato nel profilo utente. Entrambi possono contenere macro, ma sono soggetti a meccanismi di caricamento e caching differenti.

Lista di controllo per i team

  • Inventario delle macro critiche in Enterprise Global e in file locali.
  • Verifica del canale di aggiornamento e della build su ogni gruppo pilota.
  • Applicazione o rimozione della chiave in modo orchestrato e tracciabile.
  • Definizione di criteri del Centro protezione coerenti con la policy macro aziendale.
  • Adozione della firma digitale per il codice VBA aziendale.
  • Piani di rollback e comunicazione verso gli utenti finali.

Conclusioni

Il blocco dei macro in Microsoft Project riscontrato tra estate e autunno 2024 è stato ricondotto a un controllo antivirus in tempo reale introdotto nel percorso di caricamento del VBA. L’impatto si è visto soprattutto su ambienti con Enterprise Global: l’assenza del pulsante Enable Macros ha impedito l’esecuzione del codice anche in contesti legittimi. Due rimedi hanno garantito continuità operativa: l’introduzione della chiave Fix9072568 e, in casi urgenti, il rollback alla build precedente. Successivi rilasci hanno progressivamente ripristinato il comportamento atteso. In prospettiva resta raccomandato adottare firma digitale, posizioni attendibili minimali, test pilota e un’attenta gestione dei canali di aggiornamento per prevenire ricadute e compatibilità incerte.


Riferimento rapido

  • Chiave di compatibilità: HKCU\Software\Microsoft\Office\16.0\MS Project\Settings\Fix9072568=1
  • Command line rollback: OfficeC2RClient.exe /update user updatetoversion=16.0.17830.20166
  • Punto di verifica: File → Account → Informazioni su Project
  • Misure strutturali: firma dei macro, posizioni attendibili, criteri coerenti
Indice