I'm trying to manually register the a class in an experimental ActiveX DLL I made using assembly language. The DLL has no DllRegisterServer function (as I have no idea how one would go about coding a DLL that can register itself) so I will need to manually add the registry entries. I already made a TypeLib for the classes and interfaces in the DLL and registered that by loading the TLB file with VB6, so it knows all the correct GUIDs. But the New keyword in VB6 isn't working for making an instance of the class, because VB6 isn't able to find the DLL. This is because it needs to be able to find the DLL file itself (something the TypeLib doesn't tell it), as this would be in the registry CLSID entry. A key for a specific class's GUID appears alongside many others, all within a key called CLSID. The structure of each such class GUID entry looks something like this:
Code:
Key {GUID}
    Value (Default) = CLASS_NAME
    Key InProcServer32
        Value (Default) = PATH_TO_DLL
        Value ThreadingModel = Apartement
But the problem is where is the GUID key for a 32bit ActiveX DLL supposed to go? It must be in one of the several keys called CLSID. However, there's potentially up to 3 possible places on 32bit Windows, and up to 4 places on 64bit Windows, that a 32bit ActiveX DLL could be registered. These are as follows.
32bit class entries on 32bit Windows (and 64bit class entries on 64bit Windows)
HKEY_CLASSES_ROOT\CLSID
HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID

32bit class entries on 64bit Windows
HKEY_CLASSES_ROOT\WOW6432Node\CLSID
HKEY_CURRENT_USER\SOFTWARE\Classes\WOW6432Node\CLSID
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID
Now the problem with these, is I don't know which of these are true keys, and which are effectively shortcuts to keys. I've heard that all the keys in HKEY_CLASSES_ROOT are just shortcuts (not true keys). But what about some of the others? The most glaring example are these two very similar looking keys:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID

Which of those is the true key, and which is the shortcut? Or are they both true keys?