2012-11-16 17 views
6

MS‘docs einfach sagen:Wo sieht CLSIDFromProgID() in der Registrierung aus?

ein ProgID gegeben, CLSIDFromProgID sieht seine zugehörige CLSID in der Registrierung erstellen.

Aber wo genau sieht es aus? Ich habe ein seltsames Problem, bei dem eine falsche CLSID zurückgegeben wird, und ich möchte verfolgen, wo diese Funktion sucht, um einzugrenzen, wo das Problem liegt.

+0

Es sieht in HKCR \ progid \ CLSID wo "Progid" ist Ihre ProgId-Zeichenfolge. Aus Ihrer anderen Frage ging bereits hervor, dass Ihr Registrierungscode wahrscheinlich gebrochen ist. –

Antwort

6

Die Suche läuft durch die application's manifest und ihre abhängigen assembly manifests. Dies wird getan, um registration-free COM zu unterstützen.

Wenn es keine Anwendung manifestieren oder wenn keine der abhängigen Assembly manifestiert Ihre Klasse in einem comClass oder clrClass XML-Elemente deklariert, die Lookup-Standardwerte in die Registrierung, die HKEY_CLASSES_ROOT\<ProgID> mit einem String-Wert mit dem Namen CLSID überprüfen.


1.HKEY_CLASSES_ROOT ist eine Mischung aus HKEY_CURRENT_USER\Software\Classes und HKEY_LOCAL_MACHINE\Software\Classes.