1
votes

I have a .NET, COM visible DLL written in C# that I am calling from classic ASP page.

It all works fine on the 32-bit Win Server 2003 and IIS 6, but I cannot get it to go on my 64-bit development machine (Win7, IIS 7.5).

I get the follwing error:

Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object

It fails on the line

set objMyDll = Server.CreateObject("MyDLL.ProgId")

I registered my DLL using regasm /codebase and it all looks good in the registry.

I also tried regasm /tlb and putting the DLL into GAC to no avail.

I have enabled 32 bit applications in my IIS.

I tried it in both classic and integrated mode in the app pool.

My DLL does not reference any other DLLs.

2
Do you know if you used the 32-bit or 64-bit regasm? See this previous SO post for correct locations: stackoverflow.com/questions/372140/…AardVark71
Thanks AardVark71. This fixed it. I used only the 32 bit regasm. Once I registered the DLL with the 64 bit regasm, it all worked. Unfortunately, I got too excited and clicked the upvote twice, and now I cannot give you the recognition this deserves. Thanks again.user1720412

2 Answers

0
votes

Have you some errors in Event log? I think, you need grant execute and launch permission for specified ProgID in COM+ settings.

0
votes

This is a permissions issue. I just recentrly wrote this answer - check it out.