2010-07-15 3 views
1

Я пишу установщик с использованием WiX, который, в частности, создаст в IIS веб-сайт и виртуальный каталог. У меня возникли проблемы с тем, что установщик будет работать как на Windows Server 2003 с IIS6, так и на Windows Server 2008 с IIS7 и Windows Server 2008 R2 с IIS7.5.Основные отличия между IIS6 и IIS7

Одна из первых проблем, с которыми я столкнулась, заключалась в том, что IIS7 использует другую группу для учетных записей. Вместо IIS_WPG IIS6 он будет использовать группу IIS_IUSR. Конфигурация веб-сайта, принадлежащая отдельной пользовательской функции действия, которая ссылается на это имя группы, переход на использование функций Wi-IIS может помочь с другими незначительными отличиями между версиями IIS.

Есть ли другие важные изменения в IIS, о которых я должен знать? Существуют ли какие-либо рекомендации по написанию инсталляторов для работы на платформах Windows Server 2003 и Windows Server 2008?

Благодаря

ответ

2

Если вы используете WiX 3.0, вы должны знать, что вы должны включить «IIS 6 режим совместимости» ON в IIS 7.X для standard WiX IIS extension работать. WiX v3.5 содержит встроенную поддержку IIS 7, но она еще не стабильна - WiX 3.5 является самой бета-версией. Вы можете узнать больше о планах версии WiX и наборах функций on Rob's blog.

Я лично должен поддерживать все версии IIS, начиная с 5.1 (WinXP) в своем продукте. В результате я использовал стандартное расширение WiX IIS и требовал «режим совместимости с IIS 6» в качестве предварительного условия. Кроме того, у меня есть отдельный элемент WebSite для каждой из версий IIS.

Например, WebSite element имеет атрибут WebApplication, где вы ссылаетесь на WebApplication element. Этот элемент, в свою очередь, имеет атрибут Isolation, что имеет смысл для атрибута IIS 5.X и WebAppPool, что имеет смысл для IIS 6+. Следовательно, у меня есть пара элементов WebApplication, которые я ссылаюсь либо из WebSite для IIS 5, либо из WebSite для IIS 6+.

Надеюсь, у вас есть идея, и это может вам помочь.

+0

Привет Янь, спасибо за ваш вклад. Когда вы включаете «Режим совместимости IIS6», разрешает ли он это для всего IIS или только этого приложения? Я не хочу ограничивать других разработчиков тем, что не мог использовать новые функции в IIS7. Я помню, что для IIS6 существует режим изоляции IIS5, это что-то похожее? – fletcher

+0

Режим совместимости IIS6 можно включить для всего IIS (вы можете найти его в разделе «Программы и функции»> «Включение и выключение функций Windows»> «Информационные службы Интернета»), но вы не ограничиваете использование другими разработчиками новый API IIS7. Вы просто открываете путь для более старого кода, который может разговаривать с метабазой IIS 6 (например, с расширением WiX IIS), чтобы работать против вашего IIS. Нет, это не так, как работает режим изоляции IIS 5. –

Смежные вопросы