Iis 7 经典asp:Error';800a01ad&x27;ActiveX组件可以';不创建对象

Iis 7 经典asp:Error';800a01ad&x27;ActiveX组件可以';不创建对象,iis-7,asp-classic,com,Iis 7,Asp Classic,Com,在64位windows 7上运行经典ASP应用程序时,获取“800a01ad”ActiveX组件无法创建对象。我尝试了所有建议的解决方案,但没有成功 我已在IIS应用程序池上启用32位 我已使用C:/windows/syswow64/regsvr32.exe注册了.DLL--注册成功 我已经使用C:/windows/syswow64/regedit验证了在注册表中找到.DLL 我已经创建了一个COM+应用程序服务器应用程序并添加了我的Dll,当我选择Dll时,它会在“找到组件”框中加载其所有组件

在64位windows 7上运行经典ASP应用程序时,获取“800a01ad”ActiveX组件无法创建对象。我尝试了所有建议的解决方案,但没有成功

  • 我已在IIS应用程序池上启用32位
  • 我已使用C:/windows/syswow64/regsvr32.exe注册了.DLL--注册成功
  • 我已经使用C:/windows/syswow64/regedit验证了在注册表中找到.DLL
  • 我已经创建了一个COM+应用程序服务器应用程序并添加了我的Dll,当我选择Dll时,它会在“找到组件”框中加载其所有组件,但即使在添加此Dll后,在“已安装”标题下也会列出“否”
  • 授予Dll目录上IIS_USR的权限

  • 请建议在IIS 7.x-8.x上运行经典ASP检查表:

  • 在服务器管理器下,转到“管理”和“添加角色”。 查找Web服务器(IIS)-->应用程序开发-->检查ASP和服务器端包含。 添加IIS 6管理兼容性

  • 不要在末尾用.com、.net等命名站点文件夹

  • 创建新用户帐户:

    • [应用程序池用户标识]是用户:app_pool_blahblahblah,pw:xxxxxx
  • 在应用程序池中,高级设置:

    • 将.Net Framework版本设置为“v2.0”中继:添加此服务器的IP,包括127.0.0.1 --“传递”选项卡-->高级:对于“完全限定域名”,输入服务器名称
    • “传递”选项卡-->高级:对于“智能主机”,对于Godaddy,放置“dedrelay.secureserver.net”
    • “传递”选项卡-->出站连接:确保限制设置为100
    • “安全”选项卡-->添加“[应用程序池用户标识]”和IIS\u IUSRS
  • 在网站下的IIS 7和8中:

    • 在ASP下:

    • 在限制下,将最大req实体和缓冲限制更改为1024000000
    • 将脚本语言设置为“vbscript”
    • 将“向浏览器发送错误”设置为true
    • 将“启用父路径”设置为true
    • 仅当出现问题时:将启用缓冲设置为“false”
    • 身份验证-->编辑“匿名身份验证”并设置为应用程序池标识
    • 在管理下(底部)进入“配置编辑器”。
    • 在下拉列表中,转到System.web-->http runtime并将maxRequestLength更改为1024000000
    • 在下拉列表中,转到System.webserver/security/requestFiltering-->chg allowDoubleEscaping=true
    • 在下拉列表中,转到System.webserver/security/authentication/anonymousAuthentication-->chg userName为空
    • 仅当问题:在错误页下:在404下设置为“/home.asp”和“执行URL”
    • 仅当出现问题时:编辑c:\windows\system32\inetsrv\config\applicationHost.config:更改为“允许”
  • 为以下文件夹设置[app pool user identity]的“修改”权限:

    • 您的网站
    • windows\temp
    • inetpub\temp
    • inetpub\mailroot
    • 仅当问题:windows\serviceprofiles\networkservice\AppData\Local\Temp? 并在注册表中设置权限:
    • 仅当问题:HKeyLocalMachine\Software\Wow6432Node\Microsoft\Jet\4.0\Engines? 对于这些用户帐户:
    • IIS_IUSRS
    • [应用程序池用户标识]
    • 网络服务
  • 对于您的FTP站点,请转到FTP授权规则并添加允许您的特定用户或组的规则

  • 安装并使用Process Monitor查找权限问题-筛选器

  • 确保未使用SSL v2和v3:

    • 单击开始,单击运行,键入regedit,然后单击确定
    • 在注册表编辑器中,找到以下注册表项/文件夹:
      HKey\U Local\U Machine\System\CurrentControlSet\Control\SecurityProviders \SCHANNEL\Protocols\SSL 2.0
    • 右键单击SSL 2.0文件夹并选择New,然后单击Key。命名新文件夹服务器
    • 在服务器文件夹中,单击编辑菜单,选择新建,然后单击DWORD(32位)值
    • 输入Enabled作为名称,然后按Enter键
    • 确保在数据列下显示0x00000000(0)(默认情况下应显示)。如果没有,请单击鼠标右键并选择“修改”,然后输入0作为值数据
    • 对SSL 3.0执行同样的操作
    • 重新启动计算机
    • 验证ServerSniff.net或公共SSL服务器数据库中没有可用的SSL 2.0或3.0密码
  • SSL问题,Safari告诉客户端它需要证书

    • 进入受SSL保护的站点的IIS设置
    • 单击“SSL设置”
    • 选择“忽略”

  • 我认为,如果您使用:

    Set objConfig=CreateObject("CDO.Configuration")
    
    相反,您应该使用:

    Set objNewMail = Server.CreateObject("CDO.Message")
    

    6.授予IIS AppPool对dll目录的权限已授予,但仍然存在相同的错误。DLL已复制到wwwroot/DLL目录中。请检查控制面板中的“组件服务”。如果您的COM存在,请检查启动和激活许可证这可能会给您一条稍有不同的错误消息,但请尝试
    Server.Createobject
    而不是
    Createobject
    @saira,您是如何确定未安装所有依赖项的?这些列表中的很多都是毫无意义的。您刚刚列出了一系列可以在IIS中更改的设置,这些设置可以修复某些问题,在某些情况下会造成弊大于利。