WiX: jak uzyskać dostęp / zmienić katalog instalacyjny w zarządzanym programie ładującym?

Tworzę aplikację konfiguracyjną WPF z niestandardowym interfejsem użytkownika. Zacząłem od samouczka Bryana P. Johnstona:http://bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/

Gdzieś w mojej opinii mam prostyTextBox który wiąże się z własnościąInstallationPath w moimMainViewModel.

Teraz chcę, aby ta ścieżka była używana, gdy użytkownik kliknie „Zainstaluj”. W tym celu mam przycisk, który wiąże się z moimInstallCommand. Następująca metoda jest wywoływana (wzięta bezpośrednio z samouczka):

private void InstallExecute()
{
    Bootstrapper.Engine.Plan(LaunchAction.Install);
}

Jak mogę zainstalować pakiety w katalogu mojej własnościInstallationPath?

Edytować:

Znalazłem podobne pytanie tutaj na Stackoverflow:

Określ INSTALLLOCATION pakietów w WiX wewnątrz bootstrapera zarządzanego przez Burn

Odpowiedź brzmi: Bob Arnson

Użyj potomka MsiProperty dla każdego Pakietu Msi, aby określić INSTALLLOCATION = [BurnVariable]. Następnie użyj Engine.StringVariables, aby ustawić BurnVariable.

Teraz myślę, że mógłbym uzyskać dostęp doStringVariables w moimInstallExecute lubię to

private void InstallExecute()
{
    Bootstrapper.Engine.StringVariables["BurnVariable"] = InstallationPath;
    Bootstrapper.Engine.Plan(LaunchAction.Install);
}

Ale gdzie zdefiniować tę zmienną? Chyba gdzieś w Product.wxs?

questionAnswers(2)

yourAnswerToTheQuestion