Проекту веб-настройки VS2010 требуется совместимость с IIS6 (метабаза) на IIS7. Последствия или другие вопросы для приложения?

При попытке установить проект веб-настройки (MSI), созданный в Visual Studio 2010 в Windows Vista, Windows 7 или Windows 2008 Server, установка завершится неудачно с некоторой общей ошибкой. Согласно http://devio.wordpress.com/2011/04/26/pitfalls-installing-web-setup-msi-on-iis-7/ это связано с проблемой совместимости между проектом установки en IIS7.

Чтобы решить эту проблему, я должен включить / установить совместимость метабазы ​​IIS6 в конфигурации Windows. Этот обходной путь действительно решил проблему, но поднимает 2 вопроса:

  • Влияет ли это (негативно) на функциональность IIS 7?
  • Как я могу уведомить пользователя, выполняющего установку, об этой проблеме, чтобы он или она могли предпринять надлежащие действия и установить компонент совместимости с метабазой? Можно ли из этой установки открыть диалоговое окно конфигурации компонентов Windows, чтобы облегчить жизнь пользователю?

2 ответа

Решение
  1. Я не думаю, что это окажет какое-либо влияние на само приложение, если оно реализует способ общения с IIS7 через его собственный API. В противном случае, если он не поддерживает IIS7, вам все равно придется включить совместимость с IIS6.
  2. Стандартный подход к поиску чего-либо на целевой машине - это поиск в реестре и файловой системе. Я не знаю, как это возможно в проекте установки VS, но, например, WiX имеет специальные элементы для этого ( RegistrySearch, DirectorySearch, FileSearch). По сути, этот пост в ветке "Советы и хитрости WiX" показывает, как проверить совместимость IIS6 в WiX и заблокировать установку, если она не включена / не установлена. Это довольно просто, даже если вы не знаете WiX, но знакомы с понятиями установщика Windows и могут помочь вам перевести код в нечто подобное в проекте установки VS.

Мы, похоже, оказываем одно негативное влияние на наши серверы. Каждый раз, когда мы запускаем приложение.NET 4.0 с MSI, созданным в Visual Studio, мы получаем перезапуск ВСЕХ наших пулов приложений, даже тех, которые не были затронуты установкой. Очевидно, что основной причиной этого является совместимость с IIS 6. (Об этом нам сообщил разработчик Microsoft в ответ на вопрос нашей службы поддержки по этому поводу.

На данный момент у нас нет решения. Невозможно конвертировать все наши установщики в Wix.

Другие вопросы по тегам