Назад | Перейти на главную страницу

Запустите 32-битный IIS на 64-битном сервере 2008

В этой статье объясняется, как запустить 32-разрядный IIS 6.0 на 64-разрядном сервере 2003: http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/iis/13f991a5-45eb-496c-8618-2179c3753bb0.mspx.

Как того же можно добиться с помощью IIS 7.0 на 64-битном сервере 2008?

Учитывая краткий вопрос, я не знаю, именно это ли вы хотите, но вы можете запускать 32-битные расширения ISAPI (такие как PHP, Rewrite, пользовательские расширения и т. Д.) В AppPool в IIS 7 и 7.5.

Для полного изложения см. эта статья здесь, важная часть:

... войдите в консоль диспетчера IIS 7, найдите пул приложений, в котором работает ваше приложение, щелкните его правой кнопкой мыши, перейдите в Дополнительные параметры и измените параметр Включить 32-разрядные приложения на true ... Теперь перезапустите IIS ( либо через оснастку, либо из командной строки с net stop w3svc и net start w3svc), и все готово

Для тех из вас, кто все еще не может найти подходящий способ использования 32-разрядной библиотеки DLL в собственном 64-разрядном пуле приложений IIS, либо настроив реестр, либо попробовав, как работать с «Службами компонентов COM +», и если вам абсолютно необходимо запустить пул приложений IIS в 64-разрядной версии "(отключив параметр" Включить 32-разрядные приложения ") : Я нашел отлично работающее решение: «Инкапсуляция» 32-битного компонента в новый COM-объект как описано на этой странице, отлично справились со своей задачей, и я думаю, что многим из вас будет интересно решить проблему таким образом;) http://www.chestysoft.com/component-services.asp

В моем случае это позволило мне использовать бесплатный компонент «XStandard.Zip» из XStandard, который, к сожалению, доступен только как 32-разрядный компонент ASP, и который имеет ключ «InProcServer32» в реестре, по-видимому, мешающий его работе настройка реестра, как описано здесь: https://techtalk.gfi.com/32bit-object-64bit-environment/

В этом сообщении много комментариев сообщают, что "InProcServer32-IDs не отображаются, поскольку Microsoft предполагает, что это только вызовы InProc, а не вызовы Out-Of-Proc". И это было моим случаем, что привело меня к ситуации, когда решение по настройке реестра, описанное в предыдущем посте, не работало в моем случае, как и другие пользователи.

Надеясь сэкономить несколько дней ... или ночей!

Или посмотреть этот. Больше нет необходимости запускать aspnet_regiis, и вы можете переключаться между 32-битным и 64-битным пулом приложений, а не глобально. Это большое улучшение.