2012-11-16 18 views
6

documenti MS' dicono semplicemente:Dove cerca CLSIDFromProgID() nel registro?

Dato un ProgID, CLSIDFromProgID guarda il suo CLSID associato nel Registro .

Ma dove si trova esattamente? Ho un problema strano in cui viene restituito un CLSID errato e voglio seguire il punto in cui questa funzione cerca di restringere il problema.

+0

Sembra in HKCR \ progid \ CLSID dove "progid" è la stringa ProgId. Era già chiaro dalla tua altra domanda che con ogni probabilità il tuo codice di registrazione è rotto. –

risposta

6

La ricerca passa attraverso il application's manifest e il suo dipendente assembly manifests. Questo è fatto per supportare registration-free COM.

Se non c'è manifesto dell'applicazione o se nessuno dei assembly dipendente manifesta dichiarare la vostra classe in un elemento XML comClass o clrClass, le impostazioni predefinite di ricerca al Registro di sistema, che controllerà HKEY_CLASSES_ROOT\<ProgID> con un valore stringa denominato CLSID.


1.HKEY_CLASSES_ROOT è un mix di HKEY_CURRENT_USER\Software\Classes e HKEY_LOCAL_MACHINE\Software\Classes.

Problemi correlati