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.