Site icon EfmSoft

What does HRESULT 0x80110412 (COMADMIN_E_BADREGISTRYPROGID) mean?

 
Previous Next
COMADMIN_E_NOREGISTRYCLSID COMADMIN_E_AUTHENTICATIONLEVEL

COMADMIN_E_BADREGISTRYPROGID

COMADMIN_E_BADREGISTRYPROGID is the failure HRESULT 0x80110412 (signed decimal -2146368494, unsigned decimal 2148598802). Its severity bit is 1, facility is 17 (FACILITY_ITF), and the facility-specific code field is 0x0412.

COM registration, type library, and component installation: exact meaning of COMADMIN_E_BADREGISTRYPROGID

The component ProgID registration is missing, malformed, or inconsistent. COM+ reads class-registration metadata and rejects the ProgID relationship for the component.

AllStat records this condition as “The component's progID is missing or corrupt”.

Where the result occurs

The COM+ catalog presents a split view of RegDB and Windows class/type-library registration, so the failing stage must be identified before editing either store. In the specific case of this result, capture CLSID, ProgID, VersionIndependentProgID, registry view, and the binary that owns those entries.

Evidence to collect before repair

Diagnostic sequence

Retry and recovery

Repair registration with the component installer rather than inventing a ProgID value in the registry.

Difference from nearby COMADMIN results

COMADMIN_E_NOREGISTRYCLSID means the class identity is missing; this value means the ProgID portion is unusable.

Practical administration scenario

An installer writes the CLSID but leaves a broken ProgID-to-CLSID mapping, causing COM+ component installation to fail.

ProgID-specific consistency checks

Compare the ProgID and VersionIndependentProgID relationships with the exact CLSID being installed. Check for malformed text, a ProgID that maps to another class, versioned and version-independent names that disagree, or entries written only to the wrong architecture view. Preserve the original mappings before repair because another application may still depend on them.

A ProgID is a friendly registration alias, not a replacement for the class identifier. Repair should come from the component installer or registration code that owns both sides of the mapping. After repair, resolve the ProgID to its CLSID and independently confirm that the CLSID server/type-library metadata belongs to the same component release.

Official Microsoft references


Looking for a different code? Search another status or error code.

Exit mobile version