0
votes

I'm trying to register a dll for COM Interop and have the usual issue of it working on my dev machine but not our test server. I'm attempting to do this in VS2008 using a Setup & Deployment project. I'm then trying to consume the library from classic ASP. The target machine is windows 2003 with SP2, IIS6.

Specifically I'm trying the method suggested by Hans here:

Use Visual Studio Setup Project to automatically register and GAC a COM Interop DLL

Where he says "Set the Register property of the project output reference to vsdrpCOM."

As well as having this set I have the [assembly: ComVisible(true)] in the assemblyInfo of the project in question and the "Register for COM Interop" checkbox ticked.

Finally I have also strongly signed it and added to the GAC in the Setup and Deployment project.

The error I get in ASP is

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed 

Oddly enough I can reference the registered library in Excel on the server in question and it works fine. So it seems to be registered correctly.

Anybody have suggestions on other things I may have missed?

EDIT: Sorry more details added.

1
Document what you know. What does the error say? What kind of machine is it? What do you see when you use SysInterals' ProcMon? What is in the registry? - Hans Passant
Sorry, more details added. I'll see if I can get ProcMon and some output from that. - mutex
If you can create it with Excel then installation is not the problem. You didn't talk about the machine, does it run a 64-bit operating system? - Hans Passant
The target machine is windows 2003 with SP2, IIS6, x86 (32 bit). I temporarily added the account that the application pool is running under to the local administrators to make sure if wasn't a permissions issue, but the problem persists. - mutex
Any suggestions on what do look for in ProcMon? I'm seeing a bunch of "RegOpenKey" operations, with result "NAME NOT FOUND" but am unsure of what to look for here. - mutex

1 Answers

0
votes

I found the issue - the deployment project automatically has the "Just Me" option checked when doing the installation. Uninstalling and reinstalling with "Everyone" seems to have worked. Silly mistake.