WiX WebSite создает вторую дублирующую привязку, когда для ConfigureIfExists установлено значение yes - PullRequest
2 голосов
/ 26 июля 2011

У меня есть установщик, который я изменяю, где мы модифицируем веб-сайт в IIS.Требования гласят, что конечный пользователь должен сначала создать сайт в IIS.Мы читаем информацию о сайте, которую они выбирают из раскрывающегося списка программы установки для своего сайта, и сохраняем информацию в свойствах в WiX.

У меня есть элемент WebSite в компоненте, и для ConfigureIfExists установлено значение yes.Кажется, что многое из этого работает отлично, он сбрасывает каталог сайта, где находится сайт на диске.

Проблема в том, что когда я проверяю настройки в IIS, веб-сайт неначалось, даже когда у меня AutoStart = да и StartOnInstall = да.Проблема, которую я вижу, состоит в том, что, поскольку это существующий веб-сайт, он создает дублирующую привязку для сайта, того же порта и всего, что приводит к тому, что сайт не запускается.

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

Ответы [ 2 ]

0 голосов
/ 17 февраля 2012

У меня была похожая проблема.Я смог обойти это с помощью следующего метода, но имейте в виду, это своего рода взломать.

Для моего существующего веб-сайта я сопоставляю его с SiteId и задаю любые свойства конфигурации, которые я хочу изменить, с помощью атрибута WebDirProperties.Затем в элементе iis: WebAddress я установил номер порта для какого-то неиспользуемого порта (я использовал 8081).Это добавит дополнительную привязку http в IIS7 (как вы видели в своем вопросе).Затем я создаю пользовательское действие, которое запускаю перед InstallFinalize.Настраиваемое действие в основном циклически перебирает привязки сайта, ищет тот, который соответствует поддельному порту, который я ввел в wix, и удаляет его.Затем настраиваемое действие запускает сайт и все хорошо.

Это был единственный способ заставить его работать в Wix 3.5.Это не самый лучший метод, но он сработал для меня.

0 голосов
/ 16 августа 2011

Советую попробовать этот сценарий с WiX v3.6 (взять последнюю доступную сборку).В расширении IIS7 было много исправлений, и вполне вероятно, что ваша проблема просто исчезнет.

РЕДАКТИРОВАТЬ: теперь WiX 3.6 находится в официальной бета-версии.Он достаточно стабилен и содержит множество исправлений для расширения IIS.

...