我试图从Windows Server 2003,IIS6服务器迁移到Windows 2008,IIS 7服务器的经典ASP应用程序。
ASP页面很好,但它第一次尝试使用我们的.NET interop DLL,它失败,在IIS日志中出现以下错误:
2012-01-06 18:50:41 XXXX POST /downloads.asp | 27 | ASP_0177 _:_ 8000ffff | Server.CreateObject_Failed 80 – XXXX Mozilla / 5.0 +(Windows + NT + 6.1; + rv:8.0)+ Gecko / 20100101 + Firefox / 8.0 500 0 0 0
ASP页面中的相应行是:
设置订阅= Server.CreateObject(“DLLNAME”)
我使用RegAsm.exe成功注册了DLL,并使用成功调用CreateObject的VBscript进行了确认。 我也确保NETWORK SERVICE,IUSR_MACHINENAME和IUSR都具有对DLL位置和HKEY_USERS … Internet Settings \ Zones的读访问权限。
有什么想法吗?
如果它从VBScript起作用,也许这是一个位的问题?
工作进程可能被设置为Enable32BitApp设置为True,这是32位,从常规的CMD提示运行的VBScript将匹配该提示的位(这是64位,除非从SysWow64运行)。
所以…先检查一下Bitness是否正确。 如果是这样,请尝试ProcMonlogging应用程序的任何查找,并检查事件日志中的特定错误消息。
HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Internet Settings密钥授予IUSR读取权限