Архив блога

Май 2019 >>
п в с ч п с в
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9
  

Категории





    Блоги

      Добавить

      Запуск DotNetNuke в 64-битной ОС Windows

      от [email protected] в 22 октября 2008 г. 18:03

      В рамках недавнего проекта передо мной была поставлена задача: перенести веб-сайт с основой DNN 3.2.2 на Windows Server 2003 x64 Edition. То, с чем мне пришлось столкнуться, скорее относится не непосредственно к DNN, а к платформе .NET 1.1 Framework, от которой зависят ASP.NET и DNN.

      Прежде всего, я обратил внимание, что .NET 1.1 не устанавливался в 64-битной системе. Поэтому я скачал свободно распространяемый пакет от Microsoft, в котором 64-битная версия Windows Server 2003 SP1 отмечалась в числе поддерживаемых операционных систем. Однако сразу же после начала инсталляции я столкнулся со следующим сообщением:



      Такая несовместимость возникает из-за того, что 64-битные процессоры не в состоянии загружать 32-битные динамически подключаемые библиотеки DLL. Слой совместимости Windows-32-on Windows-64 (WOW64), позволяющий Internet Information Server 6.0(IIS 6.0) запускать 32-битные веб-приложения в 64-битной ОС, был включен в состав Service Pack 1 Windows Server 2003. Другими словами, вам необходимо понизить ISS до 32-битного режима, чтобы запустить предыдущие версии DNN4 в 64-битной ОС.

      Полагаясь на инструкции, я открыл командную строку, запустил директорию %SystemDrive%\Inetpub\AdminScripts и ввел команду для переключения IIS в режим WOW64.

      cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 “true”

      Затем я подтвердил, что ASP.NET обладает должной совместимостью с IIS, и нажал на кнопку Allow («Разрешить») в списке Web Service Extension.



      Однако одного кусочка головоломки до сих пор не хватало. На панели управления IIS не было вкладки ASP.NET . На этом этапе я запустил установку DNN, чтобы посмотреть, что произойдет. Программа выдала ошибку, причем сообщение об ошибке гласило, что DNN обращается к ASP.NET. 2.0.  DNN 3.2.2 должна запускаться с версией 1.1, но как же переключить версию без вкладки ASP.NET в IIS?

      Не особо беспокоясь о запуске на этой платформе 4-х версий DNN и прочих веб-приложений, требующих ASP.NET 2.0, я  «отключил»  версию 2.0, перейдя по директории %SystemDrive%\WINDOWS\Microsoft.NET\Framework\v2.0.50727 directory и запустив aspnet_regiis –u из командной строки. Таким образом, у нас остается только ASP.NET 1.1, и  DNN, просто не из чего выбирать. Так и есть, сайт запустился без каких либо ошибок и отлично работал.

      Однако меня все равно волновало отсутствие вкладки ASP.NET в IIS. Оказалось, что это довольно таки сложная проблема. Однако,  вы все равно можете одновременно запускать ASP.NET 1.1 и 2.0 в 32-битном режиме на 64-битном компьютере. Вам придется воспользоваться aspnet_regiis -s ,чтобы указать путь для веб-приложений к определенной версии ASP.NET.

      Подводя итоги, следует сказать, что вы можете запускать ASP.NET 1.1 и 2.0 (даже одновременно) в 64-битной ОС Windows, однако вам придется переключать IIS в режим WOW64 для поддержки 32-битных DLL библиотек на платформе NET 1.1 Framework. Как и ожидалось, слой совместимости Windows-32-on Windows-64 накладывает дополнительные ограничения, почему компания Microsoft  и «не рекомендует использовать данную среду для приложений NET 1.1 Framework, требующих высокой производительности или расширения, как например приложения ASP.NET со сложным механизмом загрузки». Конечно же, все это имеет смысл только в том случае, если вам приходится поддерживать «устаревшие» веб-приложения, типа DNN 3.2.2. Как только вы перейдете на DNN 4 поколения, вы перейдете и на платформу .Net Framework 2.0 с родной 64-битной поддержкой систем на основе процессоров Itanium.

      Мне потребовалось довольно много времени, чтобы разобраться во всем этом. Поэтому, если вы обнаружите где-то неверные указания, то, пожалуйста, оставьте свой комментарий.

      Blogs Parent Separator Блог А.Лемана
      Распечатать
      Автор
      [email protected]

      Профессиональный блог Александра Лемана.

      • Добавить комментарий
      • Комментировать