2015-10-05 2 views
1

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".

ответ

Смежные вопросы