locked
Failing to Call COM exposed class RRS feed

  • Question

  • Background

    I have a powerbuilder program attempting to call a C# class that is exposed as com visible. The C# class is compiled at .Net 2.0, and is being called from PB 11.5.1.

    C# Com Visible attributes

        [ComVisible(true)]
        [ClassInterface(ClassInterfaceType.AutoDual)]
        [ProgId("MyID")]

    When I compile my DLL (Any CPU architecture) I give it a strong key file. Does this key file need to be deployed with the DLL??? I do this because without it I cannot register the DLL in the GAC. I should note that i do not make the whole DLL com visible, just the classes I want in the COM.

    I used regasm.exe to generate a reg file. The regasm.exe i used was located here: C:\Windows\Microsoft.NET\Framework\v2.0.50727

    I did not use the /tlb flag, not sure if that should be used, or what it even does.

    I don't understand whole lot in that registry file, I just notice PublicKeyToken = 908dbed57b0543c7

    I then use gacutil to register the DLL in the GAC. I navigate to C:\windows\assembly and verify the DLL is in fact shown, and that the PublicKeyToken matches the one from the registry file.

    gacutil /i "MyDLL.dll"

    Finally I start Procmon and attempt to call the DLL, I don't see much in procmon that matches my DLL, I see it searching the registry and finding stuff, but thats about it. Nothing stands out to me anyways, and my program never actually gets to the DLL, which kinda feels like to me that its not finding stuff correctly in the registry/assembly.

    This issue ONLY happens on a 64 bit Windows 7 PC. Haven't tried 64 bit Windows XP, I have my UAC all the way down, and I am admin to my PC. I have run out of ideas, so I decided to post here to see if anyone has some thoughts, or maybe has experienced a similar issue. I am sure I am misunderstanding something, any advice would be GREATLY appreciated.

    Friday, June 7, 2013 10:47 PM

All replies

  • Hi Justin,

    Please have a look at below article which talking about how to build and deploy a .NET COM Assembly to see if it helps.

    Build and Deploy a .NET COM Assembly

    https://www.simple-talk.com/dotnet/visual-studio/build-and-deploy-a-.net-com-assembly/


    Bob Shen
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, June 10, 2013 8:26 AM
  • Thanks for that reference. Maybe a key clue is that I check the "Register for COM interop" in the project properties then compile the C# project and everything works, as in I am able to connect to the COM object through Powerbuilder. So i'm thinking maybe I am using a 64 bit regasm, and I need to be using a 32 bit when i create my .reg file. So I tried the following.

    C:\Windows\Microsoft.NET\Framework\v2.0.50727>regasm c:\chs\MyDLL.dll /regfile:c:\myRegFile.reg

    Which in my mind should be a 32 bit regasm, of course with the dll registered in the GAC.

    In the source you listed they mention VS was creating a regfile and including it in the msi, my C# project is just a ClassLib so I cant deploy it. Although I would be interested in what VS is doing different than me, because when I run regasm and gacutil manually I cannot connect to the object from PowerBuilder, but if I let VS do it I can.

    Edit:

    Also I am unsure how visual studio gets the entry in the registry, I ran process monitor and do not see a call to regasm.

    Monday, June 10, 2013 4:50 PM
  • Hi Justin,

    To verify whether you have registried this assembly well or not, you can check the registry directly for both 32 node and 64 node.

    And I also suggest you try to registry it for x64:

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727 

    Thanks.


    Mike Feng
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Tuesday, June 11, 2013 2:43 AM
  • Thanks for the reply.

    First, I manually went through my whole registry and exported all the entries that visual studio created versus what my regfile was doing. Visual studio registers the tbl along with the dll which I was not doing. The part that still confuses me is that on windows xp 32 bit there is no problem not registering the tbl, but in win 7 64 bit the tbl is required to be able to connect to the object. Maybe this is something that can be changed on the C# project side?

    To answer the question, None of the regfiles I generated placed any keys in Wow6432Node. Visual Studio however did in fact place keys there.

    I did try all of the regasm.exe search could find on my PC, including that one. Maybe you only get those keys if you are registering the tbl (If those are even the keys you are referring to).

    The following command gave me success, but I really wanted a regfile vs a command. Also from the link posted by Bob I now realize that I do not need to register to the gac, although it shouldn't be a problem.

    regasm /tlb c:\chs\myDLL.dll /codebase

    Also Powerbuilder is late binding just to add that.

    Tuesday, June 11, 2013 2:27 PM
  • I guess the reason I am not marking this Answered is I still don't understand.

    Here is the regfile I originally created that only worked on some windows 7 64 bit PCs.

    I executed the following prior to running the below regfile

    gacutil /i "MyDll.dll"

    REGEDIT4
    
    [HKEY_CLASSES_ROOT\MyDll.HexConversion]
    @="MyDll.HexConversion"
    
    [HKEY_CLASSES_ROOT\MyDll.HexConversion\CLSID]
    @="{48ED7455-9E73-3C88-9388-CF60604E9D4E}"
    
    [HKEY_CLASSES_ROOT\CLSID\{48ED7455-9E73-3C88-9388-CF60604E9D4E}]
    @="MyDll.HexConversion"
    
    [HKEY_CLASSES_ROOT\CLSID\{48ED7455-9E73-3C88-9388-CF60604E9D4E}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDll.HexConversion"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{48ED7455-9E73-3C88-9388-CF60604E9D4E}\InprocServer32\2.0.0.0]
    "Class"="MyDll.HexConversion"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{48ED7455-9E73-3C88-9388-CF60604E9D4E}\ProgId]
    @="MyDll.HexConversion"
    
    [HKEY_CLASSES_ROOT\CLSID\{48ED7455-9E73-3C88-9388-CF60604E9D4E}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\MyDll.DateTimeConversion]
    @="MyDll.DateTimeConversion"
    
    [HKEY_CLASSES_ROOT\MyDll.DateTimeConversion\CLSID]
    @="{A0761A1C-8F1B-31E4-93E4-EB964FE906E3}"
    
    [HKEY_CLASSES_ROOT\CLSID\{A0761A1C-8F1B-31E4-93E4-EB964FE906E3}]
    @="MyDll.DateTimeConversion"
    
    [HKEY_CLASSES_ROOT\CLSID\{A0761A1C-8F1B-31E4-93E4-EB964FE906E3}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDll.DateTimeConversion"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{A0761A1C-8F1B-31E4-93E4-EB964FE906E3}\InprocServer32\2.0.0.0]
    "Class"="MyDll.DateTimeConversion"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{A0761A1C-8F1B-31E4-93E4-EB964FE906E3}\ProgId]
    @="MyDll.DateTimeConversion"
    
    [HKEY_CLASSES_ROOT\CLSID\{A0761A1C-8F1B-31E4-93E4-EB964FE906E3}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\MyDll.SQLAlertsInserter]
    @="MyDll.SQLAlertsInserter"
    
    [HKEY_CLASSES_ROOT\MyDll.SQLAlertsInserter\CLSID]
    @="{78DE3AF2-8B09-3441-AA8E-AC06E20F57C9}"
    
    [HKEY_CLASSES_ROOT\CLSID\{78DE3AF2-8B09-3441-AA8E-AC06E20F57C9}]
    @="MyDll.SQLAlertsInserter"
    
    [HKEY_CLASSES_ROOT\CLSID\{78DE3AF2-8B09-3441-AA8E-AC06E20F57C9}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDll.SQLAlertsInserter"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{78DE3AF2-8B09-3441-AA8E-AC06E20F57C9}\InprocServer32\2.0.0.0]
    "Class"="MyDll.SQLAlertsInserter"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{78DE3AF2-8B09-3441-AA8E-AC06E20F57C9}\ProgId]
    @="MyDll.SQLAlertsInserter"
    
    [HKEY_CLASSES_ROOT\CLSID\{78DE3AF2-8B09-3441-AA8E-AC06E20F57C9}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\MyDll.Logger]
    @="MyDll.Logger"
    
    [HKEY_CLASSES_ROOT\MyDll.Logger\CLSID]
    @="{FE7E4793-7CC6-33EB-A93F-6AF5E558C5AA}"
    
    [HKEY_CLASSES_ROOT\CLSID\{FE7E4793-7CC6-33EB-A93F-6AF5E558C5AA}]
    @="MyDll.Logger"
    
    [HKEY_CLASSES_ROOT\CLSID\{FE7E4793-7CC6-33EB-A93F-6AF5E558C5AA}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDll.Logger"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{FE7E4793-7CC6-33EB-A93F-6AF5E558C5AA}\InprocServer32\2.0.0.0]
    "Class"="MyDll.Logger"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{FE7E4793-7CC6-33EB-A93F-6AF5E558C5AA}\ProgId]
    @="MyDll.Logger"
    
    [HKEY_CLASSES_ROOT\CLSID\{FE7E4793-7CC6-33EB-A93F-6AF5E558C5AA}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\MyDll.StandardResponse]
    @="MyDll.StandardResponse"
    
    [HKEY_CLASSES_ROOT\MyDll.StandardResponse\CLSID]
    @="{3DB9061E-8FF2-3686-9C18-B27A285F3D2B}"
    
    [HKEY_CLASSES_ROOT\CLSID\{3DB9061E-8FF2-3686-9C18-B27A285F3D2B}]
    @="MyDll.StandardResponse"
    
    [HKEY_CLASSES_ROOT\CLSID\{3DB9061E-8FF2-3686-9C18-B27A285F3D2B}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDll.StandardResponse"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{3DB9061E-8FF2-3686-9C18-B27A285F3D2B}\InprocServer32\2.0.0.0]
    "Class"="MyDll.StandardResponse"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{3DB9061E-8FF2-3686-9C18-B27A285F3D2B}\ProgId]
    @="MyDll.StandardResponse"
    
    [HKEY_CLASSES_ROOT\CLSID\{3DB9061E-8FF2-3686-9C18-B27A285F3D2B}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\MyDll.LoggerInfo]
    @="MyDll.LoggerInfo"
    
    [HKEY_CLASSES_ROOT\MyDll.LoggerInfo\CLSID]
    @="{C17C8FE2-F73A-33F0-8076-D6A92F9C2CF8}"
    
    [HKEY_CLASSES_ROOT\CLSID\{C17C8FE2-F73A-33F0-8076-D6A92F9C2CF8}]
    @="MyDll.LoggerInfo"
    
    [HKEY_CLASSES_ROOT\CLSID\{C17C8FE2-F73A-33F0-8076-D6A92F9C2CF8}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDll.LoggerInfo"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{C17C8FE2-F73A-33F0-8076-D6A92F9C2CF8}\InprocServer32\2.0.0.0]
    "Class"="MyDll.LoggerInfo"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{C17C8FE2-F73A-33F0-8076-D6A92F9C2CF8}\ProgId]
    @="MyDll.LoggerInfo"
    
    [HKEY_CLASSES_ROOT\CLSID\{C17C8FE2-F73A-33F0-8076-D6A92F9C2CF8}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\MyDll.Reckon]
    @="MyDll.Crypto"
    
    [HKEY_CLASSES_ROOT\MyDll.Reckon\CLSID]
    @="{31BDC755-DB29-3E4F-A345-26E3301312B7}"
    
    [HKEY_CLASSES_ROOT\CLSID\{31BDC755-DB29-3E4F-A345-26E3301312B7}]
    @="MyDll.Crypto"
    
    [HKEY_CLASSES_ROOT\CLSID\{31BDC755-DB29-3E4F-A345-26E3301312B7}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDll.Crypto"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{31BDC755-DB29-3E4F-A345-26E3301312B7}\InprocServer32\2.0.0.0]
    "Class"="MyDll.Crypto"
    "Assembly"="MyDll, Version=2.0.0.0, Culture=neutral, PublicKeyToken=df3b51e914c4aa3d"
    "RuntimeVersion"="v2.0.50727"
    
    [HKEY_CLASSES_ROOT\CLSID\{31BDC755-DB29-3E4F-A345-26E3301312B7}\ProgId]
    @="MyDll.Reckon"
    
    [HKEY_CLASSES_ROOT\CLSID\{31BDC755-DB29-3E4F-A345-26E3301312B7}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]

    As of right now I can get the above to work on only SOME PCs, some others I am unable to connect to the object. Switching to calling regasm with the /tbl and not using gacutil did work on all PCs.

    I don't understand why the above would not work on all win7 64 bit Pcs, but it does work on all win xp 32 bit pcs (Which we have many more of).

    Just for reference this is what the registry entries are when specifying the /tlb

    REGEDIT4
    
    [HKEY_CLASSES_ROOT\Interface\{043230EB-5042-3BCC-AF61-36155F2C36B9}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Interface\{043230EB-5042-3BCC-AF61-36155F2C36B9}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Interface\{0E3F6F1A-34E6-33BA-B0EB-00FA88124FBB}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Interface\{0E3F6F1A-34E6-33BA-B0EB-00FA88124FBB}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Interface\{0F78A3FA-9020-35DE-A9BE-A39BFE8B5DF3}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Interface\{0F78A3FA-9020-35DE-A9BE-A39BFE8B5DF3}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Interface\{18B6E8E6-5CE2-3654-A969-46E183B4B4E3}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Interface\{18B6E8E6-5CE2-3654-A969-46E183B4B4E3}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Interface\{2B49AD37-B2F7-3080-B6F2-9C2D91E93316}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Interface\{2B49AD37-B2F7-3080-B6F2-9C2D91E93316}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Interface\{CBF7F8F0-9820-34CB-A1CD-4F83ED83C53C}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Interface\{CBF7F8F0-9820-34CB-A1CD-4F83ED83C53C}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Interface\{E3E994F4-E1F0-3BE8-99B6-6DD1C7756BB4}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Interface\{E3E994F4-E1F0-3BE8-99B6-6DD1C7756BB4}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\MyDLL.DateTimeConversion]
    @="MyDLL.DateTimeConversion"
    
    [HKEY_CLASSES_ROOT\MyDLL.DateTimeConversion\CLSID]
    @="{D33F73F0-91F6-3B2C-B1C4-3FC296A4A277}"
    
    [HKEY_CLASSES_ROOT\MyDLL.HexConversion]
    @="MyDLL.HexConversion"
    
    [HKEY_CLASSES_ROOT\MyDLL.HexConversion\CLSID]
    @="{D1523F72-B638-3617-BDD1-F974D2638CDB}"
    
    [HKEY_CLASSES_ROOT\MyDLL.Logger]
    @="MyDLL.Logger"
    
    [HKEY_CLASSES_ROOT\MyDLL.Logger\CLSID]
    @="{C7B6F190-0C3B-313B-8875-9A23BA39D3C8}"
    
    [HKEY_CLASSES_ROOT\MyDLL.LoggerInfo]
    @="MyDLL.LoggerInfo"
    
    [HKEY_CLASSES_ROOT\MyDLL.LoggerInfo\CLSID]
    @="{EFC172C7-9CDD-3409-A05D-5192EDD685D1}"
    
    [HKEY_CLASSES_ROOT\MyDLL.Reckon]
    @="MyDLL.Crypto"
    
    [HKEY_CLASSES_ROOT\MyDLL.Reckon\CLSID]
    @="{7BDF117E-58CA-3416-A8A5-E57331358B2A}"
    
    [HKEY_CLASSES_ROOT\MyDLL.SQLAlertsInserter]
    @="MyDLL.SQLAlertsInserter"
    
    [HKEY_CLASSES_ROOT\MyDLL.SQLAlertsInserter\CLSID]
    @="{9A317A08-7C38-3075-9680-BA12EEB5CC23}"
    
    [HKEY_CLASSES_ROOT\MyDLL.StandardResponse]
    @="MyDLL.StandardResponse"
    
    [HKEY_CLASSES_ROOT\MyDLL.StandardResponse\CLSID]
    @="{BF1211D3-1B59-345D-8FDA-7AEE1B0C3862}"
    
    [HKEY_CLASSES_ROOT\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}]
    
    [HKEY_CLASSES_ROOT\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0]
    @="MyDLL"
    
    [HKEY_CLASSES_ROOT\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\0]
    
    [HKEY_CLASSES_ROOT\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\0\win32]
    @="C:\\MyPath\\MyDLL.tlb"
    
    [HKEY_CLASSES_ROOT\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\FLAGS]
    @="0"
    
    [HKEY_CLASSES_ROOT\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\HELPDIR]
    @="C:\\MyPath"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7BDF117E-58CA-3416-A8A5-E57331358B2A}]
    @="MyDLL.Crypto"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7BDF117E-58CA-3416-A8A5-E57331358B2A}\Implemented Categories]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7BDF117E-58CA-3416-A8A5-E57331358B2A}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7BDF117E-58CA-3416-A8A5-E57331358B2A}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDLL.Crypto"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7BDF117E-58CA-3416-A8A5-E57331358B2A}\InprocServer32\2.0.0.0]
    "Class"="MyDLL.Crypto"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{7BDF117E-58CA-3416-A8A5-E57331358B2A}\ProgId]
    @="MyDLL.Reckon"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9A317A08-7C38-3075-9680-BA12EEB5CC23}]
    @="MyDLL.SQLAlertsInserter"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9A317A08-7C38-3075-9680-BA12EEB5CC23}\Implemented Categories]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9A317A08-7C38-3075-9680-BA12EEB5CC23}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9A317A08-7C38-3075-9680-BA12EEB5CC23}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDLL.SQLAlertsInserter"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9A317A08-7C38-3075-9680-BA12EEB5CC23}\InprocServer32\2.0.0.0]
    "Class"="MyDLL.SQLAlertsInserter"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9A317A08-7C38-3075-9680-BA12EEB5CC23}\ProgId]
    @="MyDLL.SQLAlertsInserter"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{BF1211D3-1B59-345D-8FDA-7AEE1B0C3862}]
    @="MyDLL.StandardResponse"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{BF1211D3-1B59-345D-8FDA-7AEE1B0C3862}\Implemented Categories]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{BF1211D3-1B59-345D-8FDA-7AEE1B0C3862}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{BF1211D3-1B59-345D-8FDA-7AEE1B0C3862}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDLL.StandardResponse"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{BF1211D3-1B59-345D-8FDA-7AEE1B0C3862}\InprocServer32\2.0.0.0]
    "Class"="MyDLL.StandardResponse"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{BF1211D3-1B59-345D-8FDA-7AEE1B0C3862}\ProgId]
    @="MyDLL.StandardResponse"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{C7B6F190-0C3B-313B-8875-9A23BA39D3C8}]
    @="MyDLL.Logger"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{C7B6F190-0C3B-313B-8875-9A23BA39D3C8}\Implemented Categories]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{C7B6F190-0C3B-313B-8875-9A23BA39D3C8}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{C7B6F190-0C3B-313B-8875-9A23BA39D3C8}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDLL.Logger"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{C7B6F190-0C3B-313B-8875-9A23BA39D3C8}\InprocServer32\2.0.0.0]
    "Class"="MyDLL.Logger"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{C7B6F190-0C3B-313B-8875-9A23BA39D3C8}\ProgId]
    @="MyDLL.Logger"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D1523F72-B638-3617-BDD1-F974D2638CDB}]
    @="MyDLL.HexConversion"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D1523F72-B638-3617-BDD1-F974D2638CDB}\Implemented Categories]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D1523F72-B638-3617-BDD1-F974D2638CDB}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D1523F72-B638-3617-BDD1-F974D2638CDB}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDLL.HexConversion"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D1523F72-B638-3617-BDD1-F974D2638CDB}\InprocServer32\2.0.0.0]
    "Class"="MyDLL.HexConversion"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D1523F72-B638-3617-BDD1-F974D2638CDB}\ProgId]
    @="MyDLL.HexConversion"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D33F73F0-91F6-3B2C-B1C4-3FC296A4A277}]
    @="MyDLL.DateTimeConversion"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D33F73F0-91F6-3B2C-B1C4-3FC296A4A277}\Implemented Categories]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D33F73F0-91F6-3B2C-B1C4-3FC296A4A277}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D33F73F0-91F6-3B2C-B1C4-3FC296A4A277}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDLL.DateTimeConversion"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D33F73F0-91F6-3B2C-B1C4-3FC296A4A277}\InprocServer32\2.0.0.0]
    "Class"="MyDLL.DateTimeConversion"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{D33F73F0-91F6-3B2C-B1C4-3FC296A4A277}\ProgId]
    @="MyDLL.DateTimeConversion"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{EFC172C7-9CDD-3409-A05D-5192EDD685D1}]
    @="MyDLL.LoggerInfo"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{EFC172C7-9CDD-3409-A05D-5192EDD685D1}\Implemented Categories]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{EFC172C7-9CDD-3409-A05D-5192EDD685D1}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{EFC172C7-9CDD-3409-A05D-5192EDD685D1}\InprocServer32]
    @="mscoree.dll"
    "ThreadingModel"="Both"
    "Class"="MyDLL.LoggerInfo"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{EFC172C7-9CDD-3409-A05D-5192EDD685D1}\InprocServer32\2.0.0.0]
    "Class"="MyDLL.LoggerInfo"
    "Assembly"="MyDLL, Version=2.0.0.0, Culture=neutral, PublicKeyToken=fcdeced15bf59274"
    "RuntimeVersion"="v2.0.50727"
    "CodeBase"="file:///C:/MyPath/MyDLL.dll"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{EFC172C7-9CDD-3409-A05D-5192EDD685D1}\ProgId]
    @="MyDLL.LoggerInfo"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{043230EB-5042-3BCC-AF61-36155F2C36B9}]
    @="_SQLAlertsInserter"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{043230EB-5042-3BCC-AF61-36155F2C36B9}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{043230EB-5042-3BCC-AF61-36155F2C36B9}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{0E3F6F1A-34E6-33BA-B0EB-00FA88124FBB}]
    @="_Crypto"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{0E3F6F1A-34E6-33BA-B0EB-00FA88124FBB}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{0E3F6F1A-34E6-33BA-B0EB-00FA88124FBB}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{0F78A3FA-9020-35DE-A9BE-A39BFE8B5DF3}]
    @="_HexConversion"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{0F78A3FA-9020-35DE-A9BE-A39BFE8B5DF3}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{0F78A3FA-9020-35DE-A9BE-A39BFE8B5DF3}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{18B6E8E6-5CE2-3654-A969-46E183B4B4E3}]
    @="_StandardResponse"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{18B6E8E6-5CE2-3654-A969-46E183B4B4E3}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{18B6E8E6-5CE2-3654-A969-46E183B4B4E3}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{2B49AD37-B2F7-3080-B6F2-9C2D91E93316}]
    @="_LoggerInfo"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{2B49AD37-B2F7-3080-B6F2-9C2D91E93316}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{2B49AD37-B2F7-3080-B6F2-9C2D91E93316}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{CBF7F8F0-9820-34CB-A1CD-4F83ED83C53C}]
    @="_Logger"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{CBF7F8F0-9820-34CB-A1CD-4F83ED83C53C}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{CBF7F8F0-9820-34CB-A1CD-4F83ED83C53C}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{E3E994F4-E1F0-3BE8-99B6-6DD1C7756BB4}]
    @="_DateTimeConversion"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{E3E994F4-E1F0-3BE8-99B6-6DD1C7756BB4}\ProxyStubClsid32]
    @="{00020424-0000-0000-C000-000000000046}"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\Interface\{E3E994F4-E1F0-3BE8-99B6-6DD1C7756BB4}\TypeLib]
    @="{ED95870A-1375-4E59-A79A-34E31100A279}"
    "Version"="2.0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0]
    @="MyDLL"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\0]
    
    [HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\0\win32]
    @="C:\\MyPath\\MyDLL.tlb"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\FLAGS]
    @="0"
    
    [HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{ED95870A-1375-4E59-A79A-34E31100A279}\2.0\HELPDIR]
    @="C:\\MyPath"


    Maybe if nothing else are there any tools I could use to help me debug this, procmon doesn't show much since it is in fact finding the registry keys, its just the program can't create the object.


    Wednesday, June 12, 2013 3:24 PM
  • 64, 32bit is so boring.

    Ghost,
    Call me ghost for short, Thanks
    To get the better answer, it should be a better question.

    Thursday, June 13, 2013 2:55 AM
  • I guess this can be closed since I won't check back here again, there was no answer.
    Monday, June 24, 2013 9:26 PM