0
我正在将经典的ASP应用程序从IIS6移动到IIS7.5,并且遇到了COM依赖关系问题。迁移到IIS 7.5后COM对象无法工作
这是有问题的代码
SET o = Server.CreateObject("ClassName")
Response.Write "Returned object: " & TypeName(o)
result = o.SomeMethod()
第一行成功,则第二行打印“返回对象:类名”。
第三行以错误结束
- 错误:429
- 来源:供应商
- 描述:类没有注册
我不知道,这是否是一个32×64位的问题(服务器是64位,旧的是32位)。但是我确实将应用程序池的“启用32位应用程序”属性设置为True。
Server.CreateObject是否正常返回一个对象并且它是实际失败的方法调用?
我们使用WIX脚本来注册COM类(我没有在这部分做任何修改)。 我可以在Computer \ HKEY_CLASSSES_ROOT \ Wow6432Node的注册表中找到我的类。
我会很感激任何指针,这让我疯狂。
相同的代码在旧服务器上工作,所以我不认为代码中存在错误。如果我正确理解你,你说可能有Server.CreateObject(xxx)调用somemethod内的某个地方,这是xxx的查找实际上失败? –
不完全。不,没有错误,只是一个未处理的错误。例如,如果组件内部实例化Jet数据库连接,并且在新服务器中Jet组件不可用,则组件无法创建连接。如果没有处理,错误会冒出来。 –