| Previous | Next |
| CO_E_INITIALIZATIONFAILED | SL_E_INVALID_USE_OF_ADD_ON_PKEY |
CONTEXT_E_NOJIT
CONTEXT_E_NOJIT is the failure HRESULT 0x8004E026 (signed decimal -2147164122, unsigned decimal 2147803174). Its severity bit is 1, facility is 4 (FACILITY_ITF), and the facility-specific code field is 0xE026.
The requested context operation depends on JIT activation that is not enabled
This HRESULT means the operation requires just-in-time activation in the current COM+ context, but that property is absent. JIT activation controls deactivation and transparent reactivation while a client continues holding a reference.
AllStat describes the result as “The requested operation requires that JIT be in the current context and it is not.” For CONTEXT_E_NOJIT, this wording identifies the immediate COM+ condition, while surrounding context and earlier events determine why it was reached.
Contract boundary for CONTEXT_E_NOJIT
A COM+ context can exist without JIT activation. The failure is therefore configuration-specific and should not be collapsed into CONTEXT_E_NOCONTEXT.
Causes that fit this specific result
- The component implementation uses a JIT-dependent context feature while JIT Activation is disabled.
- Deployment imported the class but did not preserve its component-level JIT setting.
- The class was activated in a different COM+ application with weaker service attributes.
- Transaction or synchronization settings were changed and no longer establish the expected JIT relationship.
Evidence to preserve before changing the system
- Record application ID, CLSID, context ID, and the effective JIT, transaction, and synchronization settings.
- Compare Component Services configuration with the deployment manifest.
- Verify that activation occurred through the intended COM+ application.
- Log the exact context operation that requires JIT rather than only the outer component method.
Diagnostic sequence
- Confirm that the component is designed to be stateless across JIT deactivation and reactivation.
- Enable JIT activation only when its lifecycle contract is appropriate.
- Align transaction and synchronization settings because COM+ imposes dependencies among them.
- Recycle the application and validate deactivation/reactivation behavior under load.
Retry and recovery
Correct the component configuration or remove the JIT-dependent operation. A retry in the unchanged context cannot add JIT activation retroactively.
What CONTEXT_E_NOJIT does not establish
The result does not mean JIT compilation failed; “JIT” here is COM+ just-in-time object activation. It also does not prove that transactions are disabled.
Difference from nearby HRESULT values
CONTEXT_E_NOTRANSACTION means the context has no transaction. CO_E_NOSYNCHRONIZATION indicates a component requires synchronization that was not configured.
Practical scenario
A component expects COM+ to deactivate it after setting the done bit, but a package migration disables JIT activation. The operation returns this code; administrators restore the JIT and synchronization attributes after confirming the class is stateless.
Developer and telemetry guidance
Spell out “COM+ JIT activation” in logs to avoid confusion with managed-code compilation. Deployment tests should assert the effective component attributes, not just successful registration.
Official Microsoft references
- Microsoft: COM transaction and context error codes
- Microsoft: COM+ JIT activation concepts
- Microsoft: configuring COM+ applications
- Microsoft: COM+ contexts
- Microsoft: HRESULT values in MS-ERREF
Looking for a different code? Search another status or error code.