Why ActiveX Stops Working in Office 2024/Microsoft 365 and How to Diagnose It
· Go Komura · ActiveX, COM, Office, Microsoft 365, 32bit, 64bit, Windows, Legacy Asset Reuse
What You Need to Know First
In Office 2024 and Microsoft 365, ActiveX controls are disabled by default. When Excel buttons and forms, or embedded objects in Word / PowerPoint, suddenly appear to “stop working” after an update, the cause is usually not a broken program but a change in security defaults.
The causes fall into three broad categories.
- Security setting changes (Trust Center, ActiveX disabled by default)
- 32-bit / 64-bit mismatch (loading a 32-bit-only control into 64-bit Office)
- Missing COM registration or dependent DLLs / runtimes (regsvr32 never run, missing VC++ runtime)
Field rule of thumb: Working through these from the top, in this order, is the fastest path.
Office 2024 vs Microsoft 365 — What Is Different
| Aspect | Office 2024 family (perpetual license) | Microsoft 365 Apps (subscription) |
|---|---|---|
| Update model | Security / quality updates only. No new features added | Continuous feature updates per channel |
| ActiveX default | Disabled by default | Disabled by default (same) |
| Registry / policy paths | Still 16.0 | Still 16.0 |
| Supported OS (as of 2026) | Windows 11, Server 2025 / 2022, Win10 LTSC | Windows 11, Server 2025 / 2022 are the official requirement. Win10 has a migration grace period through October 2028 |
| Installation method | Click-to-Run (not MSI) | Click-to-Run |
Important: The registry path remains 16.0 even in Office 2024. Searching for 24.0 “because it’s 2024” is a classic detour.
A Note on Windows 10
General support for Windows 10 ended on October 14, 2025. However, Microsoft 365 Apps remains in a migration grace period on Windows 10, with security updates provided until October 10, 2028. In other words, the situation is this:
- It is not the case that “nothing works at all on Windows 10”
- You are operating under the dual premise of “OS out of support, Apps in a grace period”
Troubleshooting Overview
flowchart TD
A[Reproduce the symptom] --> B[Collect Office product name, build, bitness, and OS information]
B --> C{Are the OS / Office support prerequisites OK?}
C -- No --> C1[Fix prerequisites: review OS / Office edition / channel]
C -- Yes --> D[Check the Trust Center]
D --> E{Problem with ActiveX settings / Protected View / Trusted Documents?}
E -- Yes --> E1[Fix settings, signing, and distribution design]
E -- No --> F{Depends on legacy Web / IE?}
F -- Yes --> F1[Check IE mode and the site list]
F -- No --> G[Check CLSID / InprocServer32 / TypeLib]
G --> H{Is COM registration healthy?}
H -- No --> H1[regsvr32 / RegAsm / reinstall]
H -- Yes --> I[Check dependent DLLs / .NET / VC++ runtimes]
I --> J{Are the dependencies satisfied?}
J -- No --> J1[Repair and redistribute the relevant runtime]
J -- Yes --> K[Collect logs / Procmon / Process Explorer]
K --> L[Check build deltas and security update deltas]
Step 1 — Collect Environment Information
First, always record the following information. The point is to make decisions based on numbers, not gut feeling.
On the Office side
- Check under [File] → [Account] → [Product Information]
- Product name (Office 2024 vs Microsoft 365)
- Version and build number (most important)
- Installation type (Click-to-Run)
- Check 32-bit / 64-bit in the product information dialog under [About Excel] / [About Word], etc.
On the Windows side
# Basic OS information
Get-CimInstance Win32_OperatingSystem |
Select-Object Caption, Version, BuildNumber, OSArchitecture
# Executable paths of Office processes
Get-Process WINWORD, EXCEL, POWERPNT, VISIO -ErrorAction SilentlyContinue |
Select-Object ProcessName, Path
Common pitfalls
| Mistake | Correct approach |
|---|---|
| Settling for “it’s the latest version” | Check the build number. Channel deltas in Microsoft 365 are significant |
| Loading 32-bit-only COM / ActiveX into 64-bit Office | Office bitness and COM bitness must match |
| Assuming it cannot work because it’s Windows 10 | It may still work during the grace period, but the foundation is unstable |
Step 2 — Check the Trust Center and Security Settings
What you are doing here is determining whether “the file itself is being blocked” or “loading the COM component is failing”.
Checklist (in order, from the top)
| # | Item | Where to check | Common cause |
|---|---|---|---|
| 1 | ActiveX message bar | The yellow bar when opening the file | Disabled by default. Try [Enable Content] to see if it works temporarily |
| 2 | Trust Center > ActiveX Settings | [File] > [Options] > [Trust Center] | Is it set to “Disable all controls without notification”? |
| 3 | Protected View | Trust Center > Protected View | Files opened from network shares or email attachments get blocked |
| 4 | Trusted Documents | Trust Center > Trusted Documents | Once trusted, the warning never reappears, making reproduction machine-dependent |
| 5 | Trusted Publishers | Trust Center > Trusted Publishers | Even with a signature, it is not allowed unless the certificate has been distributed |
| 6 | Macro Settings | Trust Center > Macro Settings | Macros and ActiveX are separate settings but can interact in combination |
What to try first
- Copy the problem file to a locally managed folder (e.g.,
C:\Temp) and save it under a different name - Avoid opening it directly from a network share or email attachment (to rule out Protected View)
- Start Office in safe mode to isolate the influence of add-ins
excel /safe
winword /safe
powerpnt /safe
Step 3 — Check Whether It Depends on IE Mode
There are cases where what looked like an “ordinary ActiveX failure” turns out to be caused by Edge’s IE mode not being configured.
- IE mode is not a browser-wide switch — it applies only to sites registered in the Enterprise Site List
- If only part of your internal web integration is failing, check whether that site is actually covered by IE mode
Check the following:
- Edge policies: Administrative Templates > Microsoft Edge
- Registry:
HKLM\SOFTWARE\Policies\Microsoft\Edge - Diagnostics page:
edge://compat/iediagnostic
Step 4 — Check COM Registration
If the Trust Center is clean, the next thing to verify is whether the COM component itself is correctly registered.
Basic verification commands
:: Check CLSID registration status
reg query "HKLM\SOFTWARE\Classes\CLSID\{YOUR-CLSID-HERE}\InprocServer32" /s
:: Register / unregister a native COM / ActiveX DLL
regsvr32 C:\Path\YourControl.dll
regsvr32 /u C:\Path\YourControl.dll
For COM components built with .NET (important)
regsvr32 cannot be used for .NET assemblies. Use RegAsm.
:: 32bit Office on 64bit Windows -> use the Framework RegAsm
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb
:: 64bit Office -> use the Framework64 RegAsm
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" "C:\Path\YourControl.dll" /codebase /tlb
Typical accident: “The RegAsm bitness does not match the Office bitness” — registration succeeds in the registry, but Office cannot find it.
Step 5 — Check Dependent DLLs / Runtimes
When “the main DLL exists but won’t load,” the most common case is a missing dependency.
Runtimes that are frequently missing in practice
| Commonly missing | How to check |
|---|---|
| Visual C++ Redistributable packages (2013, 2015-2022) | Check the list under Control Panel > Programs and Features |
| .NET Framework 4.8.1 | reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" |
| Dependent DLLs (vendor-specific) | Check with Process Explorer / Procmon |
Low-level investigation tools
| Tool | Purpose |
|---|---|
| Process Explorer | Inspect the list of DLLs loaded into a process |
| Procmon | Track NAME NOT FOUND / PATH NOT FOUND / ACCESS DENIED in real time |
Capture a Procmon log while reproducing the issue and filter on NAME NOT FOUND, and it becomes immediately clear which DLL or registry key could not be found.
Step 6 — Capture Logs for Final Confirmation
If the cause has not been identified by this point, enable logging and catch the moment of reproduction.
Enable general Office logging
reg add HKCU\Software\Microsoft\Office\16.0\Common\Logging /v EnableLogging /t REG_DWORD /d 1
Enable detailed Click-to-Run logging
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
Logs are written to %windir%\temp or %temp%.
Use Event Viewer alongside
eventvwr.msc
- Check Windows Logs > Application
- .NET Runtime and SideBySide errors are often the decisive clue
Disable logging after verification (don’t forget)
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
Key Registry / Policy Quick Reference
Four paths worth memorizing
| Purpose | Path |
|---|---|
| Root of Office policies | HKLM\SOFTWARE\Policies\Microsoft\Office\16.0 |
| Checking ActiveX blanket disable | HKCU\Software\Microsoft\Office\Common\Security\DisableAllActiveX (1 = disabled, 0 = lifted) |
| COM component registration | HKLM\SOFTWARE\Classes\CLSID\{CLSID}\InprocServer32 |
| Office COM kill bit | HKLM\Software\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID} |
With 32-bit Office on 64-bit Windows, also check under
Wow6432Nodefor anything COM-related.
Frequently used test registry entries (verification only)
Windows Registry Editor Version 5.00
; Test only: lift the blanket ActiveX disable
[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]
"DisableAllActiveX"=dword:00000000
Warning: These settings are for verification only. The permanent fix should be “a trusted distribution path plus signing.”
Common Symptoms and Remedies
| Symptom | Most likely cause | First thing to try |
|---|---|---|
| Button unresponsive after an update | ActiveX disabled by default | Message bar → [Enable Content] → check the Trust Center |
| Fails only on 64-bit Office | 32-bit-only COM / ActiveX | Ask the vendor whether an x64 build exists. If not, switch to 32-bit Office |
| Fails only on a specific PC | COM not registered / registration corrupted | Check the CLSID with reg query → re-register with regsvr32 |
| DLL exists but won’t load | Missing dependent DLL / VC++ runtime | Track NAME NOT FOUND with Procmon |
| Fails from network shares or email attachments | Protected View / MOTW | Copy to a local folder and compare reproduction |
| Only part of internal web integration fails | IE mode not configured | Add the target site to the Enterprise Site List |
| Signed but still not allowed | Certificate not distributed / Trusted Publisher not registered | Verify code-signing validity and certificate distribution |
| Behavior changes when reusing MSI-era deployment steps | Migration to a Click-to-Run premise | Revisit old scripts and designs that assume self-registration |
Recommended Settings for Enterprises
The fundamental principle of a permanent fix is “don’t lower security across the board — allow only what is needed, narrowly”.
| Item | Recommendation |
|---|---|
| Update channel (Microsoft 365) | For machines with heavy legacy ActiveX dependence, use the Monthly Enterprise Channel (changes are easier to track) |
| Office bitness | Unless the vendor explicitly states x64 support, give priority consideration to 32-bit Office |
| Trusted Locations | Trusted locations on the network are prohibited as a rule. When needed, use an exception-request process |
| Signing | Code-sign internally distributed ActiveX / macros / add-ins, and centrally manage Trusted Publishers |
| IE mode | Register only the required URLs in the Enterprise Site List (avoid making the whole estate legacy) |
| Pre-deployment validation | Before production rollout, build a pilot ring and run fixed-build validation on representative documents / representative machines |
Example Microsoft 365 deployment configuration (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>
Last Resort — Repair
- Quick Repair / Online Repair does work for settings and registration corruption
- However, it does not solve x86 / x64 mismatches or signing / policy problems themselves
- Repair comes last (doing it first contaminates your investigation logs)
Command Quick Reference
| Purpose | Command |
|---|---|
| Start in safe mode | excel /safe / winword /safe |
| Register a COM DLL | regsvr32 xxx.dll |
| Unregister a COM DLL | regsvr32 /u xxx.dll |
| Register a .NET COM component (32-bit Office) | Framework\v4.0.30319\RegAsm.exe xxx.dll /codebase /tlb |
| Register a .NET COM component (64-bit Office) | Framework64\v4.0.30319\RegAsm.exe xxx.dll /codebase /tlb |
| Back up the registry | reg export HKCU\... backup.reg /y |
| Enable general Office logging | reg add HKCU\Software\...\Logging /v EnableLogging /t REG_DWORD /d 1 |
| Enable detailed Click-to-Run logging | reg add HKLM\SOFTWARE\...\OverRide /v LogLevel /t REG_DWORD /d 3 |
| Launch Event Viewer | eventvwr.msc |
Conclusion — Don’t Get the Order Wrong
Misconfiguration -> OS / bitness mismatch -> COM component problem -> dependencies -> update deltas
Even when an ActiveX problem looks like “just an Excel issue,” it is in fact a problem where five layers intersect: Office’s default security + Windows support prerequisites + COM component registration + dependent runtimes + the update model. Rather than blindly relaxing settings, isolate the cause from the top down and you will reach a repair that is far less likely to recur.
Reference Links
- ActiveX controls are disabled by default in Microsoft 365 and Office 2024 — scope of impact of the default disablement
- Enable or disable ActiveX settings in Office files — the resource closest to user operations
- Update history for Office LTSC 2024 and Office 2024 — build comparisons, pre/post-update deltas
- Overview of update channels for Microsoft 365 Apps — differences between Current / Monthly Enterprise / Semi-Annual
- Release Information for Updates to Microsoft 365 Apps — channel-driven behavioral differences
- Compatibility between the 32-bit and 64-bit versions of Office — decision criteria when ActiveX / COM assets are involved
- Internet Explorer mode in Microsoft Edge — Enterprise Site List and policies
- regsvr32 command — registering / unregistering native COM
- Regasm.exe (Assembly Registration Tool) — registering COM components built with .NET
- Process Monitor (Procmon) — tracking NAME NOT FOUND / PATH NOT FOUND
- Process Explorer — DLL load status of a process
- Latest supported Visual C++ Redistributable Downloads — where to check for missing VC++ runtimes
- .NET Framework installation guide — checking .NET Framework versions
Related Articles
Recent articles sharing the same tags. Deepen your understanding with closely related topics.
Windows App Outsourcing and Contract Development: What to Sort Out Before You Ask
Before commissioning Windows app outsourcing or contract development, here is how to sort out existing software modification, device inte...
Registration and Bitness Pitfalls in COM/OCX/ActiveX Development
A practical look at the pitfalls of COM, OCX, and ActiveX development: 32bit/64bit, Visual Studio 2022, regsvr32/Regasm, administrator ri...
A Developer's Strange Love, or: How I Learned to Stop Worrying and Love Windows
Windows is a hassle. But that hassle is the hassle of an OS that has carried real-world business on its back.
Preparing for VBScript Deprecation: An Audit Guide for VBA and Internal Tools
Preparing for the phased deprecation of VBScript: inventorying VBA, Excel macros, and internal tools, static detection, execution logging...
A Worked Example of a COM Bridge for Calling a 64-bit DLL from a 32-bit App
When a 32-bit app cannot call a 64-bit DLL directly, a COM bridge can connect them. We walk through the approach, including the Windows c...
Related Topics
These topic pages place the article in a broader service and decision context.
Windows Technical Topics
Topic hub for KomuraSoft LLC's Windows development, investigation, and legacy-asset articles.
ActiveX Migration
Topic page for staged decisions around keeping, wrapping, or replacing COM / ActiveX / OCX assets.
Where This Topic Connects
This article connects naturally to the following service pages.
Legacy Asset Reuse & Migration Support
Extending and migrating Excel / Word / PowerPoint / Visio assets that use ActiveX / OCX / COM components overlaps directly with our legacy asset reuse and migration support themes.
Bug Investigation & Root Cause Analysis
Office-plus-COM issues like 'a button that used to work suddenly stopped responding' are exactly the kind of problem suited to root-cause isolation with Process Explorer / Procmon / Click-to-Run logs.
Technical Consulting & Design Review
Configuration policy spanning Office bitness, update channels, Trusted Publishers, IE mode, and the Enterprise Site List is easy to organize as a pre-deployment design review.
Author Profile
Profile page for the article author.
Go Komura
Representative of KomuraSoft LLC
Focused on Windows software development, technical consulting, and investigations into failures that are difficult to reproduce.
Public links