博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在64位IIS下,网站使用32位COM组件导致“800a01ad” ActiveX component can't create object错误的问题(转载)...
阅读量:5055 次
发布时间:2019-06-12

本文共 751 字,大约阅读时间需要 2 分钟。

在64位IIS下,网站使用32位COM组件导致“800a01ad” ActiveX component can't create object错误的问题

总是要面对一些老ASP系统升级到ASP.NET的问题,由于各种原因,目前需要将ASP 和ASP.NET 整合到一个项目里使用。由于开发机是64位Windows 7,自然配备了64位IIS,将原来老系统的COM组件注册之后,在IIS上运行ASP代码的时候,在创建COM组件对象处,产生如下错误:

Microsoft VBScript runtime error '800a01ad'

ActiveX component can't create object

经过一番摸索之后,利用强大的Process Monitor 工具,监控w3wp.exe的操作,发现它试图在类似HKCR\CLSID\路径下寻找COM组件信息,但是因为COM是32位的,所以其被注册到HKEY_CLASSES_ROOT\Wow6432Node\CLSID\这样的位置,而在寻找时,应该寻找HKCR\Wow6432Node\CLSID\这个位置才会找到。

那么怎么让IIS找到正确的COM信息位置呢?办法就是让IIS可以工作在32位模式下,具体方法是,找到网站所使用的App pool,然后选择“Advanced Settings”,然后设置“Enable 32-Bit Applications”为true就好了。设置后,再监控w3wp,发现现在已经在HKCR\Wow6432Node\CLSID下面寻找COM注册信息了,因此问题得以解决。

转载于:https://www.cnblogs.com/viewweb/archive/2011/11/09/2242019.html

你可能感兴趣的文章
linux基础-命令
查看>>
java对象的深浅克隆
查看>>
Hadoop流程---从tpch到hive
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
V2019 Super DSP3 Odometer Correction Vehicle List
查看>>
Python 3.X 练习集100题 05
查看>>
今时不同往日:VS2010十大绝技让VS6叹服
查看>>
设计器 和后台代码的转换 快捷键
查看>>
在线视频播放软件
查看>>
用代码生成器生成的DAL数据访问操作类 基本满足需求了
查看>>
28初识线程
查看>>
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>
浅谈C++底层机制
查看>>
STL——配接器、常用算法使用
查看>>
第9课 uart
查看>>
Range和xrange的区别
查看>>
BZOJ 1010 [HNOI2008]玩具装箱 (斜率优化DP)
查看>>
java-动态规划算法学习笔记
查看>>