简体   繁体   中英

.Net COM Dll in Classic ASP on 64 bit: 800a01ad ActiveX component can't create object

I have a .Net assembly in 64 bit that has been successfully registered with regasm (yep, the 64 bit version). I'm running IIS7 and the application pool that it runs from is in Managed Pipeline Mode:Classic. I can run the object in a VBS script file and it works correctly, I can also do:

$ting = New-Object -com MyObjProgId 

from PowerShell and it works correctly. I've checked security on the dll, put it on the path, and it exists and the codebase key is set in the registry. I still get this specific err. Does anyone one have a concrete set of steps to resolve this? I haven't been able to find a forum (pay or no) that has a solution. Thanks in advance.

It's a long-shot, but could it be that the component has registered for your interactive user only?

That could explain why script experiments successfully create the objects, but the actual web server fails, since it runs under a different user account.

I'm not intimately familiar with regasm, but can you control whether it registers for the user or for the machine? Similarly, I assume your .NET assembly doesn't have some specific mark to keep it per-user rather than per-machine?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM