Why ActiveX Stops Working in Office 2024/Microsoft 365 and How to Diagnose It

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

Revision history (1 updates, last updated Sep 1, 2026)

A log of the changes made to this article. Where a pre-update version was archived, it stays readable at a permanent DOI link.

Retranslated as a full translation of the Japanese original. The previous English version was an abridgement that carried only part of the source, so sections, tables, Mermaid diagrams, figure captions and FAQ entries were missing. All of them have been restored to match the Japanese original, and the technical claims are the same as in the Japanese version. Read the version before this update (DOI: 10.5281/zenodo.21614633)
First published
Cite this article(DOI: 10.5281/zenodo.21614632)

This article is archived on Zenodo. Below are both the DOI that always resolves to the latest version and the DOI pinned to the version you are reading.

Go Komura (2026). Why ActiveX Stops Working in Office 2024/Microsoft 365 and How to Diagnose It. KomuraSoft LLC. https://doi.org/10.5281/zenodo.21614632 https://comcomponent.com/en/blog/2026/04/25/002-office-2024-microsoft-365-activex-troubleshooting/

DOI (latest version)
10.5281/zenodo.21614632
DOI (this version)
10.5281/zenodo.22220477

1. 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.

  1. Security setting changes (Trust Center, ActiveX disabled by default)
  2. 32-bit / 64-bit mismatch (loading a 32-bit-only control into 64-bit Office)
  3. 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.

Terms Used in This Article

For IT administrators, here are the terms that appear later in the article without further explanation.

Term Meaning
bitness Whether something is a 32-bit or a 64-bit build. Office, Windows, and COM / ActiveX controls each have their own bitness, and Office and the COM component will not work together unless their bitness matches (a separate question from the bitness of Windows)
MOTW (Mark of the Web) The mark that browsers and mail clients attach to a downloaded file to record that it came from the internet. Physically it is an alternate data stream named Zone.Identifier, and while it is present Office opens the file in Protected View and blocks ActiveX and macros. You can clear it with the Unblock option in the file properties or with Unblock-File in PowerShell
kill bit A disabling mechanism that keeps the host from instantiating a control with a particular CLSID. In Office it is set per CLSID under the COM Compatibility key. If an entry exists there, the control will not run even when COM registration is perfectly correct
Click-to-Run The current Office installation method. It assumes virtualized placement and automatic updates, so MSI-era deployment steps and designs that rely on self-registration do not always carry over unchanged
Trust Center The single screen that gathers Office’s security settings. You reach it from File > Options > Trust Center, and the settings themselves sit behind the “Trust Center Settings…” button

How This Article Is Organized

It is a long article, so read the parts you need. It falls into three large groupings.

Grouping Chapters Contents
Get the prerequisites straight Chapters 1-3 Disablement by default, the difference between Office 2024 and Microsoft 365, the overall isolation flow
Isolate from the top down Chapters 4-9 (Steps 1-6) Collect environment information -> Trust Center -> IE mode -> COM registration -> dependent DLLs -> log capture
Quick references and policy Chapters 10-15 Registry / policy quick reference, symptom-based remedies, recommended enterprise settings, command quick reference

If you are in a hurry, start with Chapter 11, “Common Symptoms and Remedies,” find your symptom there, and jump back to the Step it points to.

In the diagram a solid line marks a relation that always holds and a dashed line marks a conditional one (the conditions are given per relation on the detail page). The full list of relations (24 in total, with evidence and certainty) and the definitions of the main concepts are collected on the knowledge map detail page (in Japanese). Data: JSON-LD / Turtle

2. Office 2024 Family 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 says 2024” is a classic detour.

A Note on Windows 10

General support for Windows 10 ended on October 14, 2025. Microsoft 365 Apps, however, is in a migration grace period on Windows 10, with security updates provided until October 10, 2028. In other words, the situation looks like this:

  • It is not the case that “nothing works at all on Windows 10”
  • You are running under the dual premise of “OS out of support, Apps in a grace period”

3. Troubleshooting Overview

NoYesYesNoYesNoNoYesNoYesReproduce the symptomCollect Office product name, build, bitness, and OS informationAre the OS / Office support prerequisites OK?Fix prerequisites: review OS / Office edition / channelCheck the Trust CenterProblem with ActiveX settings / Protected View / Trusted Documents?Fix settings, signing, and distribution designDepends on legacy Web / IE?Check IE mode and the site listCheck CLSID / InprocServer32 / TypeLibIs COM registration healthy?regsvr32 / RegAsm / reinstallCheck dependent DLLs / .NET / VC++ runtimesAre the dependencies satisfied?Repair and redistribute the relevant runtimeCollect logs / Procmon / Process ExplorerCheck build deltas and security update deltas

4. Step 1 — Collect Environment Information

First, always record the following information. The point is to decide based on numbers, not on impressions.

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], and so on

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

How to read the output

The output itself differs from machine to machine, so here are the columns to look at and how to judge them.

Column Contents How to judge
Caption The OS edition name Windows 10 or Windows 11. Use it to confirm the support prerequisites
Version / BuildNumber The OS version and build number Have the conversation in these numbers, not in “we’re on the latest”
OSArchitecture Whether the OS is 64-bit or 32-bit This is the bitness of the OS. It is not the bitness of Office
Path (from Get-Process) Where the Office executable lives On 64-bit Windows, C:\Program Files (x86)\Microsoft Office\... means 32-bit Office, and C:\Program Files\Microsoft Office\... means 64-bit Office

If Get-Process returns nothing at all, it only means the Office app in question is not running. Open the app you want to check and run the command again. Because -ErrorAction SilentlyContinue is specified, process names that are not running do not raise an error.

You can also read the Office bitness from the app’s own menus. In Excel, go to File -> Account -> About Excel, and the first line of the dialog that opens shows the version, the build number, and either “32-bit” or “64-bit” side by side. Copying that line down verbatim makes vendor inquiries and reproduction work go much faster.

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

5. Step 2 — Check the Trust Center and Security Settings

What you are doing here is separating “the file itself is being blocked” from “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 shown when the file opens Disabled by default. Try [Enable Content] to see whether it works temporarily
2 Trust Center > ActiveX Settings [File] > [Options] > [Trust Center] > [Trust Center Settings…] > [ActiveX Settings] 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 a file is trusted the warning stops appearing, which makes reproduction machine-dependent
5 Trusted Publishers Trust Center > Trusted Publishers Even with a signature, nothing is allowed unless the certificate has been distributed
6 Macro Settings Trust Center > Macro Settings Macros and ActiveX are separate settings, but they can interact

Where to look on screen

Instead of screenshots, here is where each thing sits and in what order to click.

  • Message bar: right after the file opens, it appears as a wide band between the ribbon and the editing area. If you dismissed it, close the file and reopen it to bring it back.
  • ActiveX Settings screen: going to File -> Options -> Trust Center only gets you to a page of explanatory text and a button. The settings themselves live behind the “Trust Center Settings…” button, and in the dialog that opens you pick “ActiveX Settings” from the list on the left. Skip that one hop and you never reach the screen you are after. Microsoft’s own guidance also describes enabling ActiveX as this configuration change, not as a one-time allow from the message bar.
  • Protected View / Trusted Documents / Trusted Publishers: all three sit in the same left-hand list inside the Trust Center Settings dialog. Clearing the trusted documents record before a reproduction attempt keeps machine-to-machine differences from creeping in.

Watch the scope of the setting: the ActiveX settings apply not only to the file you currently have open but to every Word / Excel / PowerPoint / Visio file. This is not an “allow this one file” setting. If you loosen it temporarily for an investigation, always put it back.

What to try first

  1. Copy the problem file to a locally managed folder (for example C:\Temp) and save it under a different name
  2. Avoid opening it directly from a network share or an email attachment (to rule out Protected View)
  3. Start Office in safe mode to isolate the influence of add-ins
excel /safe
winword /safe
powerpnt /safe

6. Step 3 — Check Whether It Depends on IE Mode

Sometimes what looks like an “ordinary ActiveX failure” turns out to be Edge’s IE mode not being configured.

  • IE mode is not a browser-wide switch. It applies only to the sites registered in the Enterprise Site List
  • If only part of your internal web integration fails, check whether that site is actually covered by IE mode

Here is where to look:

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

7. Step 4 — Check COM Registration

If the Trust Center is clean, the next thing to verify is whether the COM component itself is registered correctly.

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

How to read the result

There are three things to look at in the reg query output.

  1. Whether the key exists. If it does not, nothing is printed and you get only a “not found” error. That alone settles it: the component is not registered.
  2. The DLL path stored in the default value. That path is the COM component itself.
  3. Whether a file actually exists at that path. It is common for an uninstall or a file move to remove the binary while leaving the registration behind.

If you want the check and the verdict in one go, PowerShell reads better.

# Replace with the CLSID you want to inspect (include the braces)
$clsid = '{00000000-0000-0000-0000-000000000000}'
$key   = "HKLM:\SOFTWARE\Classes\CLSID\$clsid\InprocServer32"

if (Test-Path $key) {
  $server = Get-ItemPropertyValue -Path $key -Name '(default)'
  [pscustomobject]@{
    CLSID      = $clsid
    Server     = $server
    FileExists = Test-Path $server
  }
} else {
  Write-Host "Not registered: $key was not found"
}

If FileExists is False, the registration survives but the binary is gone. You need a reinstall or a re-registration.

Look in the right place: when you register a 32-bit COM component on 64-bit Windows, the entries land under HKLM\SOFTWARE\Classes\WOW6432Node\CLSID\{CLSID} instead. Looking only at HKLM\SOFTWARE\Classes\CLSID from 64-bit PowerShell or reg query makes it look unregistered, so when troubleshooting 32-bit Office, always check under WOW6432Node as well.

For COM components built with .NET (important)

regsvr32 cannot be used on .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

A classic way this breaks: “the RegAsm bitness does not match the Office bitness” -> registration succeeds in the registry, but Office cannot find the component.

8. Step 5 — Check Dependent DLLs and Runtimes

When “the main DLL is there but it will not load,” the usual explanation is a missing dependency.

Runtimes that go missing most often in the field

Commonly missing How to check
Visual C++ Redistributable packages (2013, 2015-2022) Review 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 the problem reproduces and filter on NAME NOT FOUND, and you can see at a glance which DLL or registry key could not be found.

How to set up the filters, how to strip out the noise, and which events to read first are written up as a procedure in A Practical Guide to Process Monitor (ProcMon). And if the combination of registration and bitness is what has you stuck, Registration and Bitness Pitfalls in COM/OCX/ActiveX Development covers the same problem from the developer’s side.

9. Step 6 — Capture Logs for the Final Check

If the cause is still unidentified at this point, turn logging on and catch the moment it reproduces.

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

Turn logging back off after the investigation (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

10. Key Registry / Policy Quick Reference

Four paths worth memorizing

Purpose Path
Root of Office policies HKLM\SOFTWARE\Policies\Microsoft\Office\16.0
Checking the blanket ActiveX 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, check under Wow6432Node as well for 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. Handle the permanent fix through “a trusted distribution path plus signing.”

11. 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 one 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 behavior
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 MSI-era deployment steps are reused The move to a Click-to-Run premise Revisit old scripts and designs that assume self-registration

The basis of a permanent fix is not “lower security across the board” but “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 one is genuinely needed, use an exception-request process
Signing Code-sign internally distributed ActiveX controls / macros / add-ins and manage Trusted Publishers centrally
IE mode Register only the required URLs in the Enterprise Site List (avoid pushing the whole estate into legacy mode)
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>

13. Last Resort — Repair

  • Quick Repair / Online Repair is effective against broken settings and broken registration
  • It does not, however, solve x86 / x64 mismatches or signing / policy problems themselves
  • Repair goes last (running it first contaminates your investigation logs)

14. 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

15. 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 really a problem where five layers intersect: Office’s default security + the Windows support prerequisites + COM component registration + dependent runtimes + the update model. Rather than loosening settings at random, isolate from the top down and you will land on a repair that is far less likely to come back.

Recent articles sharing the same tags. Deepen your understanding with closely related topics.

These topic pages place the article in a broader service and decision context.

This article connects naturally to the following service pages.

Frequently Asked Questions

Common questions about the topic of this article.

What does it mean that ActiveX is disabled by default in Office 2024 and Microsoft 365?
In Office 2024 and Microsoft 365, ActiveX controls are disabled by default. When Excel buttons and forms, or embedded objects in Word / PowerPoint, that used to work suddenly appear to stop working after an update, the cause is usually not a broken program but this change in security defaults. The first step is to choose Enable Content on the yellow message bar that appears when you open the file, see whether the control works temporarily, and then check the ActiveX Settings in the Trust Center.
An ActiveX button in Excel stopped responding after an Office update. What should I check first?
The causes fall into three broad categories. First, a change in security settings (Trust Center, ActiveX disabled by default, Protected View). Second, a 32-bit / 64-bit mismatch (a 32-bit-only control loaded into 64-bit Office). Third, missing COM registration or missing dependent DLLs / runtimes (regsvr32 never run, VC++ runtime absent). Working through these from the top, in that order, is the shortest path. Along with that, record the product name, build number, Office bitness, and OS information up front, and compare behavior from a local folder instead of opening the file directly from a network share or an email attachment.
Why does an ActiveX control fail only on 64-bit Office?
Because the bitness of Office and the bitness of the COM / ActiveX component have to match. A 32-bit-only control will not run in 64-bit Office. Ask the vendor whether an x64 build exists, and if there is none, consider switching to 32-bit Office. For COM components built with .NET, use RegAsm rather than regsvr32: the Framework RegAsm for 32-bit Office and the Framework64 RegAsm for 64-bit Office. When the RegAsm bitness does not line up with Office, you hit the classic failure where registration succeeds in the registry but Office still cannot find the component.
How should I configure things so that ActiveX works permanently?
The principle is to allow only what is needed, narrowly, rather than lowering security across the board. Changing the DisableAllActiveX registry value is strictly for verification; the permanent fix comes from a trusted distribution path plus signing. Concretely, code-sign the ActiveX controls, macros, and add-ins you distribute internally and manage Trusted Publishers centrally, consider the Monthly Enterprise Channel on Microsoft 365 because its changes are easier to track, and give priority consideration to 32-bit Office unless the vendor explicitly states x64 support. Before rolling out to production, build a pilot ring and validate against a fixed build on representative documents and representative machines.

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.

Back to the Blog