COM Server Registry Paths and Threading Models

Windows registers Component Object Model (COM) servers by associating unique Class Identifiers (CLSIDs) with registry keys that define executable file locations and runtime concurrency configurations. These settings inform the Windows COM runtime where to find the server binary and how to manage thread execution when instantiating the object.

The Root CLSID Registry Locations

Registered COM classes are cataloged under the CLSID key. In the Registry Editor (regedit.exe), these definitions appear primarily in the merged view under:

The underlying physical registry paths depend on the registration scope (machine-wide vs. user-specific) and architecture:

Locating COM Server Local Paths

The binary path to the COM server is stored within a subkey under the component’s unique {GUID} key, depending on whether the server runs in-process or out-of-process:

Locating the Threading Model

For in-process servers (InprocServer32), the threading model is defined by a named string value within that subkey:

Out-of-process servers (LocalServer32) do not require a ThreadingModel registry entry, as executable processes initialize their own COM apartments programmatically during startup.