PDA

View Full Version : GAC - Com Interop



zeplynne
06-11-2004, 02:33 PM
I have a .NET dll that needs to go into the GAC. It is strong-named and public.
Also, the dll uses System.Runtime.InteropServices so that it can be used with COM so that unmanaged and unmanaged code can access it.
It has an iterface:
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
class is marked with guid and progid:
[GuidAttribute("AF9A994B-75DF-4450-AF07-320A4A433915"),ProgId("SCTPCAPI.Registration")]
[ClassInterface(ClassInterfaceType.None)]

If I run regasm.exe and gacutil.exe against it in a batch file in dos, it can be accessed via VB, asp, asp.net, etc... It's actually been in production for about 2 years.

I've created a project in X to now deploy these dll's 'gracefully' and I cannot access the .dll's In asp now. I get either "Invalid ProgId" error, or "Invalid class string" error. In 2003 'Server.CreateObject failed.' If I run regasm.exe and gacutil.exe against the dll's that InstallShield installed for me, then they work. One note, this did work in InstallShield all last week. With no changes in the project, if I rebuild it and then install, I get the errors now.

I can send log files, .ism, or anything else you need.

Need help asap if possible as this goes to test next week. Thanks.
SMW