Bundle.wxl:Как изменить функции MSI в загрузочном загрузочном устройстве WiX?
<Bundle Name="$(var.SetupName)"
Version="$(var.ProductVersion)"
Manufacturer="$(var.CompanyName)"
UpgradeCode="$(var.UpgradeCode)">
<Variable bal:Overridable="yes" Name="AddLocal"/>
<Variable bal:Overridable="yes" Name="Remove"/>
<Chain>
<MsiPackage Id ="Hello.msi" Name="MyApp.msi" SourceFile="$(var.MyApp.TargetPath)" EnableFeatureSelection="yes" >
<MsiProperty Name="ADDLOCAL" Value="[AddLocal]"/>
<MsiProperty Name="REMOVE" Value="[Remove]"/>
</MsiPackage>
</Chain>
</Bundle>
Строка Переменные AddLocal
определяет по флажков из UI Bootstrapper и посылает значение в Bundle.wxl, например так:
BootstrapperApplication.Engine.StringVariables["AddLocal"] = "FIRST,SECOND";
Та же ситуация с переменной Remove
: BootstrapperApplication.Engine.StringVariables["Remove"] = "THIRD";
После того как переменные установлены, я запускаю BootstrapperApplication.Engine.Plan(LaunchAction.Modify);
, но с моими функциями ничего не изменилось.
Log-файл содержит строки, как это:
Запланированные особенность: FIRST, состояние: Нет, по умолчанию запрошенной: неизвестно, ба запрошенный: неизвестно, не выполнить действие: Нет, откатить действие: Нет
Запланированные функция: SECOND, состояние: отсутствует, запрошено по умолчанию: неизвестно, ba запрошено: неизвестно, выполнить действие: нет, действие отката: нет
Планируемая функция: THIRD, состояние: отсутствует, по умолчанию запрошено: неизвестно, ba запрошено: неизвестно, выполнить действие: Нет, откат: Нет
Однако Product.wxs содержит функции с id = "FIRST", id = "SECOND", id = "THIRD".