gpt4 book ai didi

dll - 经典 ASP 和 COM DLL 在 Server 2008 R2 中不起作用(Microsoft VBScript 运行时错误 '800a01ad' ActiveX 组件无法创建对象)

转载 作者:行者123 更新时间:2023-12-01 23:41:46 24 4
gpt4 key购买 nike

我已在 Visual Studios 2010 中创建了一个 dll。我已执行以下步骤:

  1. 通过将 key 对(snk 文件)与其关联来构建强名称

  2. 给每个类一个单独的 ProgID 和 GUID

  3. 由于它是一个 64 位 DLL,我确保使用了位于“FrameWork64/v4xxxx”文件夹中的 RegAsm.exe。我使用了 RegAsm.exe/codebase ECE2.dll

  4. 我在 DLL 上运行了“gacutil -i”

所有这些步骤都已成功。我使用它的 DLL 和 ASP 页面存储在 intetpub/wwwroot 中。

现在,DLL 在我的笔记本电脑和家用计算机(均运行 Windows 7 Ultimate)上工作正常。我现在正在尝试让它在 Windows Server 2008 R2 上运行。这就是我遇到问题的地方。

我完成了与上面相同的步骤,所有这些都成功了。然而,当我运行 ASP 页面时,我收到一条错误消息,表明它尚未注册,即使它已注册:

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

我认为这可能是 IIS 中的一个设置需要更改。请注意,该服务器已配置为允许经典 ASP 页面,因此我知道事实并非如此。任何人都可以告诉我是否需要在 Server 中更改特定设置,或者是否需要跳过额外的安全限制才能使其在 Server 2008 上运行,而在 Windows 上不需要这样做7 终极?

最佳答案

检查运行此 ASP 应用程序的应用程序池的高级设置。“启用 32 位应用程序”是否设置为 True。如果是这样,那么这就是你的问题,你无法在 32 位池下实例化 64 位 dll。

您是否有理由认为这是一个“64 位 dll”而不是简单的“任何 CPU”?如果不重新加载它也可以用作 32 位 dll。

否则,您将需要在没有“启用 32 位应用程序”的情况下运行此 ASP 应用程序,以便它以 64 位运行,但这可能是有原因的。因此,下一步是创建一个没有此设置的新应用程序池,并使 ASP 的一部分作为该池中的单独应用程序运行。

关于dll - 经典 ASP 和 COM DLL 在 Server 2008 R2 中不起作用(Microsoft VBScript 运行时错误 '800a01ad' ActiveX 组件无法创建对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com