Как я могу автоматизировать упаковку WiX - PullRequest
2 голосов
/ 23 декабря 2011

Я хочу попробовать создать набор проектов WiX для каждого приложения, которое у нас есть.Идея состоит в том, что, как только разработчик будет готов выпустить обновленную версию приложения, он / она скопирует исходные файлы в SourceDir, а затем выполнит .bat-файл, который запустит heat.exe, чтобы получить список файлов, которыенеобходимо упаковать, и после этого Candle и Ligth скомпилируют Source в msi.

Я также хочу изменить файл App.config при сборке пакета со значениями public properties.Благодаря моему исследованию я выяснил, что я могу сделать это, используя.Проблема заключается в том, что мне нужно сделать это, добавив util: XmlFile Id = "SetKey1" ... в элемент конфигурации файла Componenet.

      <Component Id="App.config" Guid="{B62F28B1-FFB3-4E93-B651-FFC7AAD4730D}">
        <File Id="App.config" KeyPath="yes" Source="SourceDir\New Folder\New Folder2\App.config" />
        <util:XmlFile Id="SetKey1"
            Action="setValue"
            ElementPath="//appSettings/add[\[]@key='Key1'[\]]/@value"
            Value="[NEWVALUE]"
            File="[#App.config]"
            SelectionLanguage="XPath"
            Sequence="1" />
      </Component>

Это не хорошо, так как этот бит исчезает при нагревев следующий разЕсть ли способ отделить бит, где изменен файл конфигурации

1 Ответ

0 голосов
/ 23 декабря 2011

У вас должно быть как минимум 2 недели.1 будет для основного Продукта и будет содержать компоненты, а другой будет HEATed-файлами.

В основном Product.wxs (или как вы его называете) можно указывать каталоги, а когда вы запускаете тепло, вы можете указатьссылка на каталог.

, т. е.

<Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="INSTALLLOCATION" Name="MyApp">
        <Directory Id="WEBROOT" Name="wwwroot" />
      </Directory>
    </Directory>

Когда вы запустите Heat, вы укажете directoryref как WEBROOT, тогда, пока вы скомпилируете WXS, оба файла будут включены.

напр.Heat [другие параметры] -dr WEBROOT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...