Кто-нибудь использовал WiX для создания установщика для веб-сайта ASP.Net MVC? Вы собираете файлы из веб-проекта? Я не могу найти хороших примеров того, как это делается. Кажется, что нет документированного способа включить все нужные файлы, только нужные файлы и поместить их в нужное место.
Если вы добавите проект веб-сайта в качестве ссылки в проект установщика и зададите harvest=True
в свойствах, тогда все файлы веб-сайта будут захвачены, но есть проблемы:
- Включены некоторые файлы, которые не следует копировать, например,
packages.config
, Web.Debug.config
Похоже, не существует четкого или простого способа их исключения ( согласно этому обсуждению ).
- Файл .website dll находится не в том месте, в корневом каталоге, а не в папке bin ( согласно данному обсуждению )
Однако, если вы не используете сбор урожая, у вас есть много файлов для ссылки вручную (например, только под \Content\
у меня есть 58 файлов в 5 папках. Большая часть из этого - jQuery UI), и они время от времени меняются, и ошибки и упущения могут быть легко пропущены из списка файлов WiX. Так что это действительно должно быть синхронизировано автоматически.
Я не согласен с идеей, что список файлов должен быть явно указан в WiX, а не генерироваться динамически (что, как кажется, предлагается при первой ссылке, формулировка не очень ясна). Если мне нужно удалить файл, который я удалю, если из системы управления исходным кодом нет необходимости выполнять дополнительную работу по поддержке двух параллельных, но разных каталогов - одного набора файлов в системе контроля версий и тех же файлов, перечисленных в WiX. должна быть одна версия правды. Все файлы в исходном дереве веб-сайта (с некоторыми известными исключениями, которые не используются во время выполнения, например, packages.config
) должны быть включены в развертывание.
По корпоративным причинам у меня нет особого выбора в использовании WiX для этого проекта