Tworzę aplikację do konfiguracji WPF z niestandardowym interfejsem użytkownika. Zacząłem z samouczka Bryan P. Johnston: http://bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/WiX: jak uzyskać dostęp/zmienić katalog instalacyjny w zarządzanym bootstrapperie?
Gdzieś w moim zdaniem, mam proste TextBox
który wiąże się właściwość InstallationPath
w moim MainViewModel
.
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 moim InstallCommand
. Poniższa metoda jest wywoływana (zaczerpnięte bezpośrednio z samouczka):
private void InstallExecute()
{
Bootstrapper.Engine.Plan(LaunchAction.Install);
}
Jak mogę dokonać pakiety do zainstalowania w katalogu mojej własności InstallationPath
?
Edit:
Znalazłem podobne pytanie tutaj na Stackoverflow:
Specify the INSTALLLOCATION of packages in WiX inside the Burn managed bootstrapper
Odpowiedź jest z Bobem Arnson
Użyj dziecko MsiProperty dla każdego MsiPackage, aby określić INSTALLLOCATION = [BurnVariable]. Następnie użyj Engine.StringVariables, aby ustawić BurnVariable.
Teraz, myślę, że mogę wejść do StringVariables
w moim InstallExecute
jak ten
private void InstallExecute()
{
Bootstrapper.Engine.StringVariables["BurnVariable"] = InstallationPath;
Bootstrapper.Engine.Plan(LaunchAction.Install);
}
ale gdzie do zdefiniowania tej zmiennej? Zgaduję, gdzieś w Product.wxs?
Hej Michael, a następnie ten sam kurs i jestem w obliczu problemu, gdzie podczas poważnej aktualizacji, poprzednia exe nie jest uzyskiwanie usunięte jako nowy jeden jest zainstalowana obok siebie. Zwiększyłem zarówno wersję EXE, jak i dołączone wersje MSI. Widziałem, jak inne osoby komentowały ten sam problem poniżej samouczka. Czy napotkasz ten problem? Jeśli tak, to jak się z tym pogodziłeś? :(Potrzebujesz pomocy man – mayooran