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.
- Cambiamenti delle impostazioni di sicurezza (Trust Center, ActiveX disabilitati di default)
- Mismatch 32-bit / 64-bit (caricare un controllo solo 32-bit in Office 64-bit)
- 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
flowchart TD
A[Riproduci il sintomo] --> B[Raccogli nome prodotto, build, bitness Office e info OS]
B --> C{I prerequisiti di supporto OS / Office sono OK?}
C -- No --> C1[Correggi prerequisiti: rivedi edizione / canale OS / Office]
C -- Si --> D[Controlla il Trust Center]
D --> E{Problema con ActiveX settings / Protected View / Trusted Documents?}
E -- Si --> E1[Correggi impostazioni, firma e design di distribuzione]
E -- No --> F{Dipende da legacy Web / IE?}
F -- Si --> F1[Controlla IE mode e la site list]
F -- No --> G[Controlla CLSID / InprocServer32 / TypeLib]
G --> H{La registrazione COM è sana?}
H -- No --> H1[regsvr32 / RegAsm / reinstalla]
H -- Si --> I[Controlla DLL dipendenti / .NET / VC++ runtime]
I --> J{Le dipendenze sono soddisfatte?}
J -- No --> J1[Ripara e ridistribuisci il runtime pertinente]
J -- Si --> K[Raccogli log / Procmon / Process Explorer]
K --> L[Controlla 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
- Copia il file problematico in una cartella gestita localmente (es.
C:\Temp) e salvalo con un nome diverso - Evita di aprirlo direttamente da una condivisione di rete o da un allegato email (per escludere Protected View)
- 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
Wow6432Nodeper 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.
Link di riferimento
- ActiveX controls are disabled by default in Microsoft 365 and Office 2024 — scope dell’impatto della disabilitazione di default
- Enable or disable ActiveX settings in Office files — la risorsa più vicina alle operazioni utente
- Update history for Office LTSC 2024 and Office 2024 — confronto build, delta pre/post aggiornamento
- Overview of update channels for Microsoft 365 Apps — differenze Current / Monthly Enterprise / Semi-Annual
- Release Information for Updates to Microsoft 365 Apps — differenze comportamentali guidate dal canale
- Compatibility between the 32-bit and 64-bit versions of Office — criteri decisionali quando sono coinvolti asset ActiveX / COM
- Internet Explorer mode in Microsoft Edge — Enterprise Site List e policy
- regsvr32 command — registrazione / deregistrazione COM nativo
- Regasm.exe (Assembly Registration Tool) — registrazione componenti COM costruiti con .NET
- Process Monitor (Procmon) — tracciare NAME NOT FOUND / PATH NOT FOUND
- Process Explorer — stato caricamento DLL di un processo
- Latest supported Visual C++ Redistributable Downloads — dove controllare VC++ runtime mancanti
- .NET Framework installation guide — verifica versioni .NET Framework
Articoli correlati
Articoli recenti con gli stessi tag per approfondire argomenti vicini.
Outsourcing e sviluppo su commissione di app Windows: cosa chiarire prima di affidare l'incarico
Prima di affidare in outsourcing o su commissione lo sviluppo di un'app Windows, ecco i punti da chiarire: revisione del software esisten...
Il curioso amore di uno sviluppatore, ovvero: come ho imparato a non preoccuparmi e ad amare Windows
Windows è complicato. Ma questa complicazione è anche quella di un sistema operativo che da decenni porta sulle spalle il lavoro reale.
Come costruire l'output di report Excel - COM / Open XML / Template
La progettazione dell'output di report Excel cambia considerevolmente a seconda che si automatizzi Excel stesso, si generino file xlsx di...
Usare una DLL .NET 8 da VBA con tipizzazione completa - Esposizione COM e TLB con dscom
Chiama codice .NET 8 da VBA con early binding: espone una class library a COM, genera una TLB con dscom, registra la comhost DLL. Codice ...
COM, ActiveX e OCX — Distinzioni pratiche per chi eredita sistemi Windows
COM è la tecnologia di base, ActiveX è il contesto in cui si usano i componenti COM embedded, OCX è un'estensione di file per le ActiveX ...
Argomenti correlati
Queste pagine collocano l’argomento in un contesto più ampio di servizi e decisioni.
Argomenti tecnici Windows
Portale su sviluppo Windows, analisi dei problemi e valorizzazione delle risorse esistenti.
Migrazione ActiveX
Scelte per mantenere, incapsulare o sostituire componenti COM / ActiveX / OCX.
Interoperabilità a 32 / 64 bit
Compatibilità 32/64 bit, confini nativi e decisioni di progettazione Windows.
Servizi collegati all’argomento
L’articolo è direttamente collegato ai servizi seguenti.
Riutilizzo e migrazione delle risorse esistenti
Estendere e migrare asset Excel / Word / PowerPoint / Visio che usano controlli ActiveX / OCX / COM si sovrappone direttamente ai temi di riutilizzo e migrazione di asset legacy.
Analisi dei bug e delle cause
Problemi Office+COM come 'un pulsante che funzionava ha smesso di rispondere' sono esattamente il tipo di problema adatto all'isolamento della root cause con Process Explorer / Procmon / log Click-to-Run.
Consulenza tecnica e revisione del progetto
Policy di configurazione che spaziano su bitness Office, canali di aggiornamento, Trusted Publishers, IE mode e Enterprise Site List si prestano bene a una design review pre-deployment.
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.