Зависимая установка пакетов в WiX Bootstrapper, как сделать?

Делаю установщик из нескольких пакетов в WiX.

Идея такова: в Chain запускается первый пакет, в нём выбираются опции, на основании которых принимается решение, устанавливать ли последующие пакеты.

Если конкретно, то:
<Bundle Name="..." ... >
...
		<Chain >
     			<PackageGroupRef Id="WindowsInstaller45"/>
      			<PackageGroupRef Id="NetFx40Redist"/>
      			<MsiPackage Id="MyMSIInstaller" SourceFile="..." DisplayInternalUI="yes" ...>
      				<!--В этом пакете со своим UI принимается решение, устанавливать ли новый SQL сервер или использовать имеющийся где либо в сети --> 
        			<MsiProperty ... />
       			</MsiPackage>
       			<!--Как сделать так, чтобы этот пакет не устанавливался, если в предыдущем так было выбрано?-->
      			<PackageGroupRef Id="SQLServer2008Express"/>
      		</Chain>
	</Bundle>


Пытался писать в своём MSI в реестр и в Bootstrapper уже читать его перед установкой зависимого пакета, но в Bootstrapper переменные пересчитываются до установки какого либо пакета.

Помогите, может есть какое-то решение?
  • Вопрос задан
  • 3661 просмотр
Решения вопроса 1
@corsairz
Может стоит взглянуть на Wix Sharp и Managed Bootstrapper Application?
Довольно удобная связка, когда-то позволила решить кучу проблем
https://wixsharp.codeplex.com/
bryanpjohnston.com/2012/09/28/custom-wix-managed-b...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы