经典ASP和COM DLL没有在Server 2008 R2中工作(Microsoft VBScri

2019-09-19 05:01发布

我已经创造了2010年我已执行以下步骤视觉工作室一个dll:

  1. 鉴于密钥对(SNK文件),将它关联建立一个强大的名字

  2. 由于每一类个体的ProgID和GUID

  3. 因为它是一个64位的DLL我确信,使用位于“FrameWork64 / v4xxxx”文件夹中的RegAsm.exe。 我用RegAsm.exe /代码库ECE2.dll

  4. 我跑“GACUTIL -i”的DLL

所有这些步骤都获得了成功。 DLL和ASP页面,我使用它存储在intetpub / wwwroot文件。

现在,DLL 的作品在我的笔记本电脑和家用电脑(包括运行Windows 7旗舰版)的罚款 。 现在我想获得它在Windows Server 2008 R2上工作。 这是我遇到的问题。

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

Microsoft VBScript运行时错误“800a01ad” ActiveX组件不能创建对象:ECE2.CSV_DataSet“

我想这可能是在IIS这就需要更改设置。 请注意,这台服务器已经配置为允许经典的ASP页面,所以我知道这是不是。 谁能给我任何指示是否有特定的设置,我需要在服务器发生变化,或是否有额外的安全箍我要跳进去得到它的工作Server 2008中,我不需要在Windows上做7旗舰版?

Answer 1:

检查该ASP应用程序运行的应用程序池的高级设置。是否有“启用32位应用程序”设置为True。 如果是这样那么这就是你的问题,你不能实例化下一个32位的池一个64位的DLL。

有没有你认为这是一个“64位DLL”,而不是简单的“任何CPU”的理由? 如果不是regasm也用作一个32位的DLL。

否则,你将需要不运行这个ASP应用程序“启用32位应用程序”,这样它会作为64位,但随后有可能是,这是摆在首位设置的一个原因。 因此,下一步是创建不具有此设置,让你的ASP运行的一部分作为该池中一个单独的应用程序的新应用程序池。



文章来源: Classic ASP and COM DLL Does not work in Server 2008 R2 (Microsoft VBScript runtime error '800a01ad' ActiveX component can't create object )