I have written a C# .NET Com callable wrapper DLL. I signed it with a StrongName and registered the codebase and typelib with the 64 bit regasm.exe. The registration and all the control's methods are visible with the 64-bit OleViewer. However, when I try to use the control from 64 bit \Windows\System32\cscript.exe:
Set logger = CreateObject("MyCompany.LoggerControl")
This produces the error:
Microsoft VBScript runtime error: ActiveX component can't create object: 'MyCompany.LoggerControl'
Using ProcMon from Sysutils to track this down, I find:
1:41:44.8295486 PM cscript.exe 24028 RegOpenKey HKCR\MyCompany.LoggerControl
NAME NOT FOUND Desired Access: Read
However, this key exists in Regedit. The calling process is running from an elevated command prompt. If it was a security problem, shouldn't the error be 'ACCESS DENIED' instead of 'NAME NOT FOUND'?
What are other tools to track down this type of COM control registration error?