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 ответ
Два ответа, одно предложение:
Чтобы вернуть сообщения во время установки MsiPackages, обработайте
BootstrapperCore.ExecuteMsiMessage
событие. Аргументы событий там будут содержать Сообщение, которое содержит данные, которые вы ищете.Чтобы настроить, как пакеты сжимаются или нет, используйте
Compress
приписывать. Вы можете либо отметить весьBundle/@Compress='no'
или отметьте каждую упаковкуCompress='no'
(или же'yes'
если вы хотите пойти по этому пути).
-
Предложение: Обязательно добавьте DetectCondition к ExePackages, чтобы Burn знал, есть ли уже ExePackages или нет.