ISAPI Filter не работает в 64-битной Windows 2008 R2 - PullRequest
2 голосов
/ 14 октября 2011

Я разработал фильтр ISAPI, который отлично работает на 32-разрядных системах. Я также скомпилировал его для 64-битной системы с использованием кросс-компилятора VS2005. Но когда я пытаюсь запустить его на 64-разрядном сервере Windows 2008 R2 с IIS-7.5, он не работает. Кажется, фильтр DLL был загружен, но IIS ничего не делает с ним. Я использовал следующую команду, чтобы проверить это.

tasklist / m mydll *

Любые предложения, что

Ответы [ 2 ]

3 голосов
/ 22 октября 2011

Есть ли какая-то особая причина, по которой вам нужно, чтобы DLL была 64-битной?Мне удалось запустить 32-разрядные фильтры ISAPI на 64-разрядной машине, выполнив следующие действия:

  • Убедитесь, что пул приложений IIS настроен на разрешение 32-разрядных приложений (это отключенопо умолчанию)

  • Зарегистрируйте DLL, используя 32-разрядную версию regsvr32: C: \ Windows \ SysWow64 \ regsvr32.exe

  • Убедитесь, чтоDLL не пропускает никаких зависимостей с помощью Dependency Walker: http://www.dependencywalker.com/

1 голос
/ 22 ноября 2013

Для 64-битной проблема заключается в реестре: проблема, с которой я столкнулся для 32-битного расположения редиректора apache в реестре: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Apache Software Foundation \ Джакарта Isapi Redirector \ 1.0]

но для 64-разрядного размещения должно быть: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Apache Software Foundation \ Jakarta Isapi Redirector \ 1.0]

Обратите внимание на «Wow6432Node».

, поэтому просто заново создайте 32-разрядныйна Wow6432Node, а затем вы установлены.

...