Tech Off Post

Single Post Permalink

View Thread: .Net dll built for COM, target machine fails
  • User profile image
    KeyboardG

    I have a C# dll built for COM and its all fine for my machine. I have a sample vm setup running just XP, .net 1.1 and 2.0 to serve as a test target machine.

    My legacy application is file-server(exe sits on network) and this cannot change. Doing things the right way I install my dll(and interop.xxx files) to C:\Docs and Settings\whatever\App Data\CompanyName\

    Now I know I need to get the class into the GAC so that my legacy app can see it over COM. I couldn't do this straight up as the gacutil isnt part of the .net runtime(so the target machine doesnt have it). I wrote a little installer/uninstaller exe which does this using System.EnterpriseServices.Internal.Publish.gacInstall().

    I made sure my dll was strongly typed via the .net command prompt doing sn -k whatever.snk and adding that to the project as the key file.

    Ok, I can browse to C:\Windows\Assembly and see my class there but my legacy app still fails when creating the object on the target machine...

    What gives? Sad