Установщик WIX удаляет виртуальный каталог Siteminder из корневой папки

Мое веб-приложение находится в MVC3, и я использую WIX 3.5 для его развертывания на устройствах DEV, QA и PROD. Приложение использует аутентификацию Siteminder. Установщик WIX устанавливает приложение нормально, и веб-сайт работает. Однако при удалении приложения WIX удаляет виртуальный каталог Siteminder из корневой папки. Вот как выглядит IIS:

введите описание изображения здесь

введите описание изображения здесь

Таким образом Siteminder настраивается на веб-сервере (показано ниже),

введите описание изображения здесь

Файл web.config на изображении выше содержит все параметры конфигурации, связанные с Siteminder. В моем приложении web.config нет записей, связанных с сайтом. Другими словами, Siteminder прозрачен для моего приложения. Когда WIX устанавливает приложение, он устанавливает все в папку, которую я затемнил на изображении выше. При деинсталляции он удаляет папку приложения (та, что затемнена на изображении выше) и оставляет папку asp_client и siteminder web.config нетронутыми. Папка выглядит так после удаления,

введите описание изображения здесь

В IIS виртуальный каталог веб-сайта удаляется, на изображении ниже папки внутри окна bule удалены полностью,

введите описание изображения здесь

После повторной установки приложения WIX устанавливает приложение нормально, но виртуального каталога Siteminder нет,

введите описание изображения здесь

Пожалуйста, помогите мне найти способ, чтобы WIX не удалял виртуальную папку Siteminder из IIS.


person Yasir    schedule 26.03.2014    source источник


Ответы (1)


Похоже, виртуальный каталог Siteminder удален программой удаления WIX. В соответствии с вашими вопросами настройки Siteminder находятся на веб-сайте (как показано в IIS). Это произойдет, когда элемент ‹iis: WebSite> находится внутри элемента ‹Component>. Все, что находится внутри ‹Component>, принадлежит WIX, при удалении он удалит элементы из ‹Component>.

вы не поделились своим xml-кодом WIX, но я думаю, что ваш элемент ‹iis: WebSite> должен выглядеть так:

<iis:WebSite Id='DefaultWebSite' Description='Your-App-Name'>
  <iis:WebAddress Id='AllUnassigned' Port='8080' />
</iis:WebSite>

и НЕ так,

<Component Id="Your-Component-Ref-Id">
  <CreateFolder />
  <iis:WebSite Id='DefaultWebSite' Description='Your-App-Name'>
    <iis:WebAddress Id='AllUnassigned' Port='8080' />
  </iis:WebSite>
</Component>

когда вы сделаете это, WIX не будет создавать для вас веб-сайт, он просто скопирует файлы и настройки на веб-сайт, который уже существует в IIS (вместе с виртуальным каталогом Siteminder)

Надеюсь, это поможет.

person user3015258    schedule 27.03.2014