Я пытаюсь перенести классическое приложение ASP с сервера Windows Server 2003, IIS6 на сервер Windows 2008, IIS 7.
Страница ASP работает нормально, но при первой попытке использовать нашу DLL взаимодействия с .NET происходит сбой со следующей ошибкой в журналах 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 ("ИМЯ DLL")
Я успешно зарегистрировал DLL с помощью RegAsm.exe и подтвердил с помощью сценария VBscript, который успешно вызвал CreateObject. Я также удостоверился, что NETWORK SERVICE, IUSR_MACHINENAME и IUSR имеют доступ для чтения к расположению DLL и HKEY_USERS ... Internet Settings \ Zones.
Есть предположения?
HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Internet Settings
КлючЕсли он работает с VBScript, возможно, это проблема разрядности?
Рабочие процессы могут быть установлены с Enable32BitApp, для которого установлено значение True, что является 32-битным, и VBScript, запускаемый из обычного приглашения CMD, будет соответствовать разрядности этого приглашения (который является 64-битным, если он не запускается из SysWow64).
Итак ... сначала проверьте Bitness в порядке. Если это так, попробуйте ProcMon записать в журнал все, что ищет приложение, и проверьте журналы событий на наличие конкретных сообщений об ошибках.