0

我正在将一个经典的 ASP 应用程序从 IIS6 移动到 IIS7.5,但我遇到了 COM 依赖问题。

这是有问题的代码

SET o = Server.CreateObject("ClassName")
Response.Write "Returned object: " & TypeName(o) 
result = o.SomeMethod() 

第一行成功,第二行打印“Returned object: ClassName”。

第三行以错误结束

  • 错误:429
  • 来源:提供者
  • 说明:类未注册

我不知道,这是否是 32 x 64 位问题(服务器是 64 位,旧的是 32 位)。但我确实将应用程序池的“启用 32 位应用程序”属性设置为 True。

Server.CreateObject 返回一个对象并且实际失败的是方法调用是否正常?

我们使用 WIX 脚本来注册 COM 类(这部分我没有做任何修改)。我可以在 Computer\HKEY_CLASSSES_ROOT\Wow6432Node 的注册表中找到我的课程。

我会很感激任何指示,这让我发疯。

4

1 回答 1

0

你有一个 ClassName 的实例。对象创建没有错误,TypeName 确认了它。因此,该组件已正确注册。

但是,它是否引用了您调用的方法中使用的另一个组件?似乎从您的班级内部引发了一个不受控制的错误。

于 2013-10-18T19:20:08.073 回答