- Я не уверен, что вы можете или нет.
Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperApplication
расскажет вам, какой пакет msi он планирует или выполняет, вы также можете получить информацию о том, какое действие по установке оно выполняет, проверьте события, которые возникают во время процесса установки.
2.
в вашем bootstapper WPF приложение
//ba is an instance of BootstrapperApplication
this.ba.Engine.StringVariables["ServerInstallLoc"] = "YOUR DATA"
Bundle.wxs
<!-- Install paths provided by the managed bootstrapper interface -->
<Variable Name="ServerInstallLoc" bal:Overridable="yes" Type="string" Value=""></Variable>
А потом ссылаться на эту переменную
<MsiPackage Id="MyInstaller" SourceFile="$(var.MyInstallerMsiProjectName.TargetPath)" Compressed="yes" DisplayInternalUI="no">
<!-- Pass wix bundle variable to MSI property -->
<MsiProperty Name="SERVER_INSTALL_OVERRIDE" Value="[ServerInstallLoc]"/>
</MsiPackage>
- В вашем загрузчике вы можете ссылаться на свойства входящих в комплект установщиков. синтаксис:
!(bind.packageVersion.PackageName)
Предполагая, что один из ваших <MsiPackage>
элементов называется PackageName. Binder variables reference
Извините - это все скорее Wix, а не Wix #. –
Хорошо, мы говорим о WiX. Как я могу читать файл msi из WixAttachedContainer в моем пользовательском интерфейсе C# Bootstrapper? – Oleg
Я не знаком с этим, если у вас есть ошибка, возможно, стоит задать отдельный вопрос. Раньше я использовал 'ba.Engine.Plan (LaunchAction.Install)', а затем 'Engine.Apply()' в событии PlanComplete, а механизм bootstrapper обрабатывает извлечение для вас. –