wix bootstrapper

Я написал управляемый загрузчик wix с использованием WPF. Фактические этапы установки требуют объединения нескольких файлов msi /exe и batch.

<Chain>
 <MsiPackage SourceFile="xxx"/>
 <ExePackage Id="Test" SourceFile="..\TestBatch.bat" Vital="yes"/>
 <MsiPackage SourceFile="yyy"/>
</Chain>

Во время выполнения каждого пакета должно отображаться сообщение (предпочтительно из пользовательского интерфейса загрузчика), указывающее, какой пакет / пакетный файл msi /exe выполняется в настоящее время. Короче говоря, в загрузчике требуется ProgressText. Как это сделать?

Другой вопрос: я не хочу, чтобы все msi были упакованы в exe загрузчика. Это происходит потому, что: каждый раз, когда изменяется msi, мы хотели бы отправлять только обновленную / модифицированную msi, а не весь загрузчик exe. Есть ли способ сделать это?

1 ответ

Два ответа, одно предложение:

  1. Чтобы вернуть сообщения во время установки MsiPackages, обработайте BootstrapperCore.ExecuteMsiMessage событие. Аргументы событий там будут содержать Сообщение, которое содержит данные, которые вы ищете.

  2. Чтобы настроить, как пакеты сжимаются или нет, используйте Compress приписывать. Вы можете либо отметить весь Bundle/@Compress='no' или отметьте каждую упаковку Compress='no' (или же 'yes' если вы хотите пойти по этому пути).

-

Предложение: Обязательно добавьте DetectCondition к ExePackages, чтобы Burn знал, есть ли уже ExePackages или нет.

Другие вопросы по тегам