Включить текстовый файл в скрипт WiX - PullRequest
4 голосов
/ 28 декабря 2008

Есть ли способ прочитать значение переменной WiX из текстового файла?

То, что я пытаюсь сделать, это включить информацию о версии в пакет instlal.

Эта информация о версии, извлеченная в текстовый файл на этапе предварительной сборки, вопрос заключается в том, как распространить содержимое этого текстового файла в процессе сборки.

Одним из возможных решений является обновление всего файла .wxs на этапе предварительной сборки тоже, но это немного неряшливо.

Есть ли другой, менее навязчивый способ?

Спасибо.

Ответы [ 2 ]

10 голосов
/ 28 декабря 2008

Создайте отдельный файл «includes.wxi», например, так:

<?xml version="1.0" encoding="utf-8"?>
<Include Id="VersionNumberInclude">
    <?define MajorVersion="1" ?>
    <?define MinorVersion="5" ?>
    <?define MicroVersion="99" ?>
    <?define BuildVersion="14954" ?>
</Include>

В ваш файл wxs вы можете включить этот файл следующим образом:

<?include VersionNumberInclude.wxi ?>

И определения можно использовать так:

<?define VersionNumberInternal="$(var.MajorVersion).$(var.MinorVersion).$(var.BuildVersion)" ?>
<?define VersionNumberUserVisible="$(var.MajorVersion).$(var.MinorVersion).$(var.MicroVersion).$(var.BuildVersion)" ?>
0 голосов
/ 28 декабря 2008

В моей среде скрипты WiX всегда создаются файлом MSBuild. Это означает, что я могу передать любую информацию о версии, которую я хочу, в командной строке. CruiseControl.NET передает эти номера версий моему скрипту WiX при сборке.

...