Perché ActiveX smette di funzionare in Office 2024 / Microsoft 365 e come diagnosticarlo

· Aggiornato il: · · ActiveX, COM, Office, Microsoft 365, 32bit, 64bit, Windows, Legacy Asset Reuse

Cosa devi sapere per primo

In Office 2024 e Microsoft 365, i controlli ActiveX sono disabilitati di default. Quando pulsanti e moduli Excel, o oggetti incorporati in Word / PowerPoint, sembrano improvvisamente “smettere di funzionare” dopo un aggiornamento, la causa di solito non è un programma rotto ma un cambiamento nelle impostazioni di sicurezza.

Le cause rientrano in tre categorie ampie.

  1. Cambiamenti delle impostazioni di sicurezza (Trust Center, ActiveX disabilitati di default)
  2. Mismatch 32-bit / 64-bit (caricare un controllo solo 32-bit in Office 64-bit)
  3. Registrazione COM mancante o DLL / runtime dipendenti (regsvr32 mai eseguito, VC++ runtime mancante)

Regola empirica sul campo: affrontarle dall’alto in questo ordine è il percorso più veloce.

Office 2024 vs Microsoft 365 — Cosa cambia

Aspetto Famiglia Office 2024 (licenza perpetua) Microsoft 365 Apps (abbonamento)
Modello di aggiornamento Solo aggiornamenti di sicurezza / qualità. Nessuna nuova funzionalità aggiunta Aggiornamenti di funzionalità continui per canale
Default ActiveX Disabilitati di default Disabilitati di default (uguale)
Percorsi / policy registry Ancora 16.0 Ancora 16.0
OS supportato (a partire dal 2026) Windows 11, Server 2025 / 2022, Win10 LTSC Windows 11, Server 2025 / 2022 sono i requisiti ufficiali. Win10 ha un periodo di tolleranza di migrazione fino a ottobre 2028
Metodo di installazione Click-to-Run (non MSI) Click-to-Run

Importante: Il percorso registry rimane 16.0 anche in Office 2024. Cercare 24.0 “perché è 2024” è un classico giro fuori strada.

Nota su Windows 10

Il supporto generale per Windows 10 è terminato il 14 ottobre 2025. Tuttavia, Microsoft 365 Apps resta in un periodo di tolleranza di migrazione su Windows 10, con aggiornamenti di sicurezza forniti fino al 10 ottobre 2028. In altre parole, la situazione è questa:

  • Non è vero che “non funziona proprio nulla su Windows 10”
  • Si opera sotto la doppia premessa “OS fuori supporto, Apps in periodo di tolleranza”

Panoramica troubleshooting

NoSiSiNoSiNoNoSiNoSiRiproduci il sintomoRaccogli nome prodotto, build, bitness Office e info OSI prerequisiti di supporto OS / Office sono OK?Correggi prerequisiti: rivedi edizione / canale OS / OfficeControlla il Trust CenterProblema con ActiveX settings / Protected View / Trusted Documents?Correggi impostazioni, firma e design di distribuzioneDipende da legacy Web / IE?Controlla IE mode e la site listControlla CLSID / InprocServer32 / TypeLibLa registrazione COM è sana?regsvr32 / RegAsm / reinstallaControlla DLL dipendenti / .NET / VC++ runtimeLe dipendenze sono soddisfatte?Ripara e ridistribuisci il runtime pertinenteRaccogli log / Procmon / Process ExplorerControlla delta di build e delta di aggiornamento sicurezza

Passo 1 — Raccogli informazioni ambiente

Per prima cosa, registra sempre le seguenti informazioni. Lo scopo è prendere decisioni basate su numeri, non su sensazioni.

Lato Office

  • Controlla in File → Account → Informazioni prodotto
    • Nome prodotto (Office 2024 vs Microsoft 365)
    • Versione e build number (la più importante)
    • Tipo installazione (Click-to-Run)
  • Controlla 32-bit / 64-bit nella finestra di dialogo informazioni prodotto sotto Informazioni su Excel / Informazioni su Word, ecc.

Lato Windows

# Informazioni base OS
Get-CimInstance Win32_OperatingSystem |
  Select-Object Caption, Version, BuildNumber, OSArchitecture

# Percorsi eseguibili dei processi Office
Get-Process WINWORD, EXCEL, POWERPNT, VISIO -ErrorAction SilentlyContinue |
  Select-Object ProcessName, Path

Pitfall comuni

Errore Approccio corretto
Accontentarsi di “è l’ultima versione” Controlla il build number. I delta di canale in Microsoft 365 sono significativi
Caricare COM / ActiveX solo 32-bit in Office 64-bit La bitness di Office e di COM deve corrispondere
Assumere che non possa funzionare perché è Windows 10 Potrebbe ancora funzionare durante il periodo di tolleranza, ma le fondamenta sono instabili

Passo 2 — Controlla il Trust Center e le impostazioni di sicurezza

Quello che stai facendo qui è determinare se “il file stesso viene bloccato” o “il caricamento del componente COM fallisce”.

Checklist (in ordine, dall’alto)

# Elemento Dove controllare Causa comune
1 Barra messaggi ActiveX La barra gialla all’apertura del file Disabilitati di default. Prova [Abilita contenuto] per vedere se funziona temporaneamente
2 Trust Center > ActiveX Settings File > Opzioni > Trust Center È impostato su “Disabilita tutti i controlli senza notifica”?
3 Protected View Trust Center > Protected View I file aperti da condivisioni di rete o allegati email vengono bloccati
4 Trusted Documents Trust Center > Trusted Documents Una volta attendibile, l’avviso non ricompare, rendendo la riproduzione dipendente dalla macchina
5 Trusted Publishers Trust Center > Trusted Publishers Anche con firma, non è consentito se il certificato non è distribuito
6 Macro Settings Trust Center > Macro Settings Macro e ActiveX sono impostazioni separate ma possono interagire in combinazione

Cosa provare per primo

  1. Copia il file problematico in una cartella gestita localmente (es. C:\Temp) e salvalo con un nome diverso
  2. Evita di aprirlo direttamente da una condivisione di rete o da un allegato email (per escludere Protected View)
  3. Avvia Office in modalità provvisoria per isolare l’influenza dei componenti aggiuntivi
excel /safe
winword /safe
powerpnt /safe

Passo 3 — Controlla se dipende da IE Mode

Ci sono casi in cui quello che sembrava un “ordinario fallimento ActiveX” si rivela causato da Edge IE mode non configurato.

  • IE mode non è un interruttore del browser — si applica solo ai siti registrati nell’Enterprise Site List
  • Se solo una parte della tua integrazione web interna fallisce, controlla se quel sito è effettivamente coperto da IE mode

Controlla:

  • Edge policies: Administrative Templates > Microsoft Edge
  • Registry: HKLM\SOFTWARE\Policies\Microsoft\Edge
  • Pagina diagnostica: edge://compat/iediagnostic

Passo 4 — Controlla la registrazione COM

Se il Trust Center è pulito, la prossima cosa è verificare se il componente COM stesso è registrato correttamente.

Comandi base di verifica

:: Stato registrazione CLSID
reg query "HKLM\SOFTWARE\Classes\CLSID\{YOUR-CLSID-HERE}\InprocServer32" /s

:: Registra / deregistra una DLL COM / ActiveX nativa
regsvr32 C:\Path\YourControl.dll
regsvr32 /u C:\Path\YourControl.dll

Per componenti COM costruiti con .NET (importante)

regsvr32 non può essere usato per assembly .NET. Usa RegAsm.

:: Office 32-bit su Windows 64-bit -> usa RegAsm Framework
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb

:: Office 64-bit -> usa RegAsm Framework64
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb

Incidente tipico: “La bitness di RegAsm non corrisponde alla bitness di Office” — la registrazione ha successo nel registry, ma Office non trova il componente.

Passo 5 — Controlla DLL dipendenti / runtime

Quando “la DLL principale esiste ma non si carica”, il caso più comune è una dipendenza mancante.

Runtime frequentemente mancanti in pratica

Comunemente mancante Come controllare
Visual C++ Redistributable packages (2013, 2015-2022) Controlla l’elenco in Pannello di controllo > Programmi e funzionalità
.NET Framework 4.8.1 reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
DLL dipendenti (vendor-specific) Controlla con Process Explorer / Procmon

Strumenti di investigazione low-level

Strumento Scopo
Process Explorer Ispezionare l’elenco delle DLL caricate in un processo
Procmon Tracciare NAME NOT FOUND / PATH NOT FOUND / ACCESS DENIED in tempo reale

Cattura un log Procmon mentre riproduci il problema e filtra su NAME NOT FOUND, e diventa immediatamente chiaro quale DLL o chiave registry non è stata trovata.

Passo 6 — Cattura log per conferma finale

Se la causa non è stata identificata a questo punto, abilita i log e cattura il momento della riproduzione.

Abilita logging generale di Office

reg add HKCU\Software\Microsoft\Office\16.0\Common\Logging /v EnableLogging /t REG_DWORD /d 1

Abilita logging Click-to-Run dettagliato

reg add HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v LogLevel /t REG_DWORD /d 3
reg add HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v PipelineLogging /t REG_DWORD /d 1

I log vengono scritti in %windir%\temp o %temp%.

Usa anche Event Viewer

eventvwr.msc
  • Controlla Windows Logs > Application
  • Gli errori .NET Runtime e SideBySide sono spesso l’indizio decisivo

Disabilita il logging dopo la verifica (non dimenticare)

reg delete HKCU\Software\Microsoft\Office\16.0\Common\Logging /v EnableLogging /f
reg delete HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v PipelineLogging /f
reg delete HKLM\SOFTWARE\Microsoft\ClickToRun\OverRide /v LogLevel /f

Riferimento rapido registry / policy

Quattro percorsi utili da memorizzare

Scopo Percorso
Radice delle policy Office HKLM\SOFTWARE\Policies\Microsoft\Office\16.0
Verifica disabilitazione totale ActiveX HKCU\Software\Microsoft\Office\Common\Security\DisableAllActiveX (1 = disabilitato, 0 = rimosso)
Registrazione componente COM HKLM\SOFTWARE\Classes\CLSID\{CLSID}\InprocServer32
Office COM kill bit HKLM\Software\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID}

Con Office 32-bit su Windows 64-bit, controlla anche sotto Wow6432Node per tutto ciò che riguarda COM.

Voci registry di test frequentemente usate (solo verifica)

Windows Registry Editor Version 5.00

; Solo test: rimuovi la disabilitazione totale ActiveX
[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]
"DisableAllActiveX"=dword:00000000

Avvertenza: Queste impostazioni sono solo per verifica. La correzione permanente dovrebbe essere “percorso di distribuzione attendibile più firma”.

Sintomi comuni e rimedi

Sintomo Causa più probabile Prima cosa da provare
Pulsante non risponde dopo un aggiornamento ActiveX disabilitati di default Barra messaggi → [Abilita contenuto] → controlla Trust Center
Fallisce solo su Office 64-bit COM / ActiveX solo 32-bit Chiedi al vendor se esiste una build x64. Se no, passa a Office 32-bit
Fallisce solo su un PC specifico COM non registrato / registrazione corrotta Controlla il CLSID con reg query → ri-registra con regsvr32
La DLL esiste ma non si carica DLL dipendente / VC++ runtime mancante Traccia NAME NOT FOUND con Procmon
Fallisce da condivisioni di rete o allegati email Protected View / MOTW Copia in una cartella locale e confronta la riproduzione
Solo una parte dell’integrazione web interna fallisce IE mode non configurato Aggiungi il sito target all’Enterprise Site List
Firmato ma comunque non consentito Certificato non distribuito / Trusted Publisher non registrato Verifica validità firma e distribuzione certificato
Il comportamento cambia quando si riusano passaggi di deployment dell’era MSI Migrazione a una premessa Click-to-Run Rivedi vecchi script e design che assumono self-registration

Impostazioni consigliate per le aziende

Il principio fondamentale di una correzione permanente è “non abbassare la sicurezza in blocco — consenti solo ciò che serve, in modo mirato”.

Elemento Raccomandazione
Canale di aggiornamento (Microsoft 365) Per macchine con pesante dipendenza legacy ActiveX, usa il Monthly Enterprise Channel (i cambiamenti sono più facili da tracciare)
Bitness Office A meno che il vendor non dichiari esplicitamente il supporto x64, dai priorità a Office 32-bit
Trusted Locations Le trusted locations di rete sono proibite di regola. Quando necessario, usa un processo di richiesta eccezione
Firma Firma internamente ActiveX / macro / add-in distribuiti internamente, e gestisci centralmente i Trusted Publishers
IE mode Registra solo gli URL necessari nell’Enterprise Site List (evita di rendere l’intero patrimonio legacy)
Validazione pre-deployment Prima del rollout in produzione, costruisci un anello pilota ed esegui validazione su build fissa su documenti / macchine rappresentative

Esempio di configurazione di deployment Microsoft 365 (32-bit + Monthly Enterprise)

<Configuration>
  <Add OfficeClientEdition="32" Channel="MonthlyEnterprise">
    <Product ID="O365ProPlusRetail">
      <Language ID="ja-jp" />
    </Product>
  </Add>
  <Updates Enabled="TRUE" />
  <Display Level="None" AcceptEULA="TRUE" />
</Configuration>

Ultima ratio — Riparazione

  • Quick Repair / Online Repair funzionano per corruzione di impostazioni e registrazione
  • Tuttavia, non risolvono mismatch x86 / x64 o problemi di firma / policy in sé
  • La riparazione viene per ultima (farla per prima contamina i log di investigazione)

Riferimento comandi rapidi

Scopo Comando
Avvio in modalità provvisoria excel /safe / winword /safe
Registra una DLL COM regsvr32 xxx.dll
Deregistra una DLL COM regsvr32 /u xxx.dll
Registra un componente COM .NET (Office 32-bit) Framework\v4.0.30319\RegAsm.exe xxx.dll /codebase /tlb
Registra un componente COM .NET (Office 64-bit) Framework64\v4.0.30319\RegAsm.exe xxx.dll /codebase /tlb
Backup del registry reg export HKCU\... backup.reg /y
Abilita logging generale Office reg add HKCU\Software\...\Logging /v EnableLogging /t REG_DWORD /d 1
Abilita logging Click-to-Run dettagliato reg add HKLM\SOFTWARE\...\OverRide /v LogLevel /t REG_DWORD /d 3
Avvia Event Viewer eventvwr.msc

Conclusione — Non sbagliare l’ordine

Misconfigurazione -> Mismatch OS / bitness -> Problema componente COM -> dipendenze -> delta aggiornamenti

Anche quando un problema ActiveX sembra “solo un problema di Excel”, in realtà è un problema in cui si intersecano cinque layer: sicurezza di default di Office + prerequisiti di supporto OS + registrazione del componente COM + runtime dipendenti + modello di aggiornamento. Piuttosto che rilassare ciecamente le impostazioni, isola la causa dall’alto verso il basso e arriverai a una riparazione molto meno incline a ripresentarsi.

Articoli recenti con gli stessi tag per approfondire argomenti vicini.

Queste pagine collocano l’argomento in un contesto più ampio di servizi e decisioni.

L’articolo è direttamente collegato ai servizi seguenti.

Domande frequenti

Domande che ricorrono nelle consulenze sull’argomento dell’articolo.

Perché i miei controlli ActiveX hanno smesso di funzionare dopo un aggiornamento di Office?
In Office 2024 e Microsoft 365, i controlli ActiveX sono disabilitati di default, quindi pulsanti e moduli che sembrano "smettere di funzionare" dopo un aggiornamento di solito vengono colpiti da un cambiamento nelle impostazioni di sicurezza piuttosto che da un programma rotto. Controlla la barra dei messaggi gialla all'apertura del file e prova Abilita contenuto, poi rivedi ActiveX Settings, Protected View, Trusted Documents e Trusted Publishers nel Trust Center. I file aperti da condivisioni di rete o allegati email possono essere bloccati anche da Protected View, quindi copiare il file in una cartella locale è un modo rapido per escluderlo.
Perché un controllo ActiveX fallisce solo su Office 64-bit?
Un controllo COM o ActiveX in-process può essere caricato solo da un host della stessa bitness, quindi un controllo solo 32-bit non può essere caricato in Office 64-bit. Chiedi al vendor se esiste una build x64; in caso contrario, passare a Office 32-bit è il rimedio pratico, e a meno che un vendor non dichiari esplicitamente il supporto x64, Office 32-bit merita considerazione prioritaria per le macchine con dipendenze legacy. Lo stesso trappolone vale per gli strumenti di registrazione: RegAsm per componenti COM .NET esiste nelle versioni Framework e Framework64, e usarne uno sbagliato significa che la registrazione ha successo ma Office non trova il componente.
Come controllo se un componente COM è registrato correttamente per Office?
Interroga la chiave InprocServer32 del CLSID con reg query, e ricorda che su Windows 64-bit con Office 32-bit, le voci COM possono trovarsi sotto Wow6432Node. I COM/ActiveX DLL nativi si registrano con regsvr32, ma gli assembly .NET richiedono RegAsm con le opzioni /codebase e /tlb — regsvr32 non funziona su di essi. Se la DLL è registrata ma non si carica, sospetta dipendenze mancanti come i pacchetti Visual C++ Redistributable o .NET Framework, e rintracciali con Process Explorer o una traccia Procmon filtrata su NAME NOT FOUND.
Dovrei semplicemente eseguire la riparazione di Office quando ActiveX si rompe?
No — la riparazione dovrebbe venire per ultima, perché eseguirla per prima contamina i log di investigazione. Quick Repair e Online Repair aiutano contro corruzione di impostazioni e registrazione, ma non risolvono mismatch x86/x64 né problemi di firma e policy. Il percorso più veloce è affrontare i layer dall'alto verso il basso: impostazioni di sicurezza nel Trust Center, prerequisiti OS e bitness, registrazione COM, runtime dipendenti e infine delta di aggiornamento per build number. Per una correzione aziendale permanente, non abbassare la sicurezza in blocco: firma internamente i controlli distribuiti, gestisci centralmente i Trusted Publishers e consenti solo il necessario.

Profilo dell’autore

Pagina di presentazione dell’autore dell’articolo.

Go Komura

Rappresentante di KomuraSoft LLC

Specializzato nello sviluppo di software Windows, nella consulenza tecnica e nell’analisi dei malfunzionamenti, soprattutto nei progetti con sistemi esistenti e guasti difficili da riprodurre.

Torna al blog