Take the 2-minute tour ×

I have created a dll in Visual Studios 2010. I have performed the following steps:

  1. Given build a strong name by associating a key pair (snk file) to it

  2. Given each class an individual ProgID and GUID

  3. As it is a 64 bit DLL I made sure that Used the RegAsm.exe located in the 'FrameWork64/v4xxxx' folder. I used RegAsm.exe /codebase ECE2.dll

  4. I ran 'gacutil -i' on the DLL

All of these steps have been successful. The DLL and the ASP page I am using it on are stored in intetpub/wwwroot.

Now, the DLL works fine on my laptop and home computer (both running Windows 7 Ultimate). I am now trying to get it to work on Windows Server 2008 R2. This is where I'm having the problem.

I complete the same steps as above, all of which are successful. However when I run the ASP page, I'm getting an error message which would suggest it has NOT been registered, even though it has:

Microsoft VBScript runtime error '800a01ad' ActiveX component can't create object: 'ECE2.CSV_DataSet'

I thought it might be a setting in IIS which needs changing. Note that this server is already configured to allow Classic ASP pages, so I know it is not that. Could anyone give me any indication as to whether there is a particular setting I need to change in Server, or whether there are extra security hoops I have to jump through to get it working on Server 2008 which I don't need to do on Windows 7 Ultimate?

share|improve this question
Make an application directory under the website, put the asp in it, make sure that application directory is running as an administrator (not the usual iis user), does that help? - it may be a security issue –  Paul Jul 7 '12 at 19:31

1 Answer 1

Check the advanced settings of the application pool that this ASP application runs in. Does it have "Enable 32-Bit Application" set to True. If so then thats your problem you can't instantiate a 64 bit dll under a 32 bit pool.

Is there a reason you consider this to be a "64bit dll" instead of simple "Any CPU"? If not regasm it also for use as a 32 bit dll.

Otherwise you will need to run this ASP application without "Enable 32-Bit application" so that it runs as 64 bit but then there is probably a reason this is set in the first place. So the next step is to create a new application pool that doesn't have this setting and make a portion of your ASP run as a seperate application in this pool.

share|improve this answer
i just spent 3 hours trying to figure this out. That you SO much for your answer. This setting worked -- it allowed a legacy site to run class ASP with a 32-bit ActiveX component. –  Anthony Nov 25 at 5:43

Your Answer


