0X8004E026

CONTEXT_E_NOJIT (0x8004E026) Fix — COM+ JIT Activation Error

COM+ component needs JIT activation but the context isn't set. Usually happens in IIS-hosted ASP.NET apps or legacy VB6/COM components. Two registry tweaks fix it 90% of the time.

Quick answer: Set HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\COM+ Enabled to 1 and check HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\COMSysApp\Parameters\ServiceDll points to %SystemRoot%\system32\comsvcs.dll. Then restart COMSysApp service.

What Causes CONTEXT_E_NOJIT (0x8004E026)

This error means your app or component tried to do something that requires the JIT (just-in-time) activation context in COM+, but that context wasn't available. COM+ uses JIT activation to create and destroy objects on the fly — it's a performance optimization that's baked into the COM+ runtime. When it's missing, you get this error.

I've seen this three places: ASP.NET apps calling COM+ components via interop, legacy VB6 DLLs trying to use COM+ services, and custom DCOM apps that rely on COM+ pooling. The culprit is almost always a corrupted COM+ registration or a service that isn't running right.

Fix Steps for CONTEXT_E_NOJIT

Step 1: Verify COM+ Is Enabled

Open regedit and go to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3

Look for a DWORD called COM+ Enabled. If it's missing or set to 0, change it to 1. If the key doesn't exist, create it. This is the main toggle — if it's off, nothing COM+ works.

Step 2: Check the COMSysApp Service DLL

Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\COMSysApp\Parameters

Verify the ServiceDll value is exactly:
%SystemRoot%\system32\comsvcs.dll

If it's pointing somewhere else or the file is missing, that's your problem. Replace it with the correct path.

Step 3: Restart the COM+ System Application Service

Open an admin Command Prompt:

net stop COMSysApp
net start COMSysApp

If the service won't start, check the Event Viewer (Applications and Services Logs / Microsoft / Windows / COM+). Usually you'll see a DLL load failure there.

Step 4: Re-register COM+ Core DLLs

Still broken? Run these in an elevated command prompt:

regsvr32 comsvcs.dll
regsvr32 ole32.dll
regsvr32 oleaut32.dll

Then reboot. This fixes corruption from bad uninstalls or Windows updates that partially borked the COM+ subsystem.

When It's IIS-Specific

If this happens in an ASP.NET app, check the app pool identity. The user running the app pool needs Launch and Activation Permission for COM+ applications. Open Component Services (dcomcnfg), right-click your COM+ app, go to Properties / Security. Under Launch and Activation Permissions, pick Customize, then Edit. Add the app pool identity (usually IIS APPPOOL\YourAppPoolName) and give it Local Launch and Local Activation.

Alternative Fixes If the Above Fails

Fix A: Repair the COM+ Catalog

Back up and delete the COM+ catalog. This nukes all your custom COM+ apps, so only do this if you're desperate and can recreate them. Stop COMSysApp, then delete:

del /s /q %SystemRoot%\Registration\*.clb
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3" /f

Reboot. COM+ rebuilds the catalog on next service start. You'll need to re-register any third-party COM+ apps.

Fix B: System File Checker

Run sfc /scannow. I've had Windows 10 and Server 2019 systems where a corrupted comsvcs.dll caused this exact error. SFC will replace it with the cached copy.

Fix C: Reinstall the Application

If you're dealing with a third-party product (like an old accounting package exposing COM+), reinstall it. The installer usually fixes the COM+ registration that manual tweaks can't.

Preventing This from Coming Back

Stop random regedits that disable COM+. I've seen admins mistakenly disable COM+ during security hardening and forget about it. Also, avoid uninstalling .NET Framework or Visual C++ redistributables — they share DLLs with COM+ runtime. If you must uninstall something, reboot immediately after.

Set a scheduled task to check the COM+ Enabled key weekly. Send a warning if it's 0. Simple PowerShell one-liner:

$val = Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\COM3" -Name "COM+ Enabled"
if ($val.'COM+ Enabled' -ne 1) { Write-Warning "COM+ disabled" }

Run that in a daily script and you'll catch the issue before users do.

Related Errors in Windows Errors
0XC014000E STATUS_ACPI_HANDLER_COLLISION (0XC014000E) Fix 0XC01D0003 Monitor descriptor checksum error 0xC01D0003 fix 0XC0262512 Fix ERROR_GRAPHICS_OPM_INVALID_SRM 0xC0262512 on Windows 0XC00D1203 Fix Windows Media Player Error 0XC00D1203 (DRM Expired)

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.