Sto creando un'applicazione di configurazione WPF con un'interfaccia utente personalizzata. Ho iniziato con il tutorial di Bryan P. Johnston: http://bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/WiX: come accedere/modificare la directory di installazione nel bootstrapper gestito?
Da qualche parte nel mio punto di vista, ho una semplice TextBox
che si lega a una proprietà InstallationPath
nel mio MainViewModel
.
Ora desidero utilizzare questo percorso quando l'utente fa clic su "Installa". Per questo, ho un pulsante che si lega al mio InstallCommand
. Il seguente metodo viene chiamato (presa direttamente dal tutorial):
private void InstallExecute()
{
Bootstrapper.Engine.Plan(LaunchAction.Install);
}
Come posso fare i pacchetti da installare nella directory di mia proprietà InstallationPath
?
Edit:
Ho trovato una domanda simile qui in StackOverflow:
Specify the INSTALLLOCATION of packages in WiX inside the Burn managed bootstrapper
La risposta c'è da Bob Arnson
Utilizzare un bambino MsiProperty per ogni MsiPackage per specificare INSTALLLOCATION = [BurnVariable]. Quindi utilizzare Engine.StringVariables per impostare BurnVariable.
Ora, credo che avrei potuto accedere al StringVariables
nel mio InstallExecute
come questo
private void InstallExecute()
{
Bootstrapper.Engine.StringVariables["BurnVariable"] = InstallationPath;
Bootstrapper.Engine.Plan(LaunchAction.Install);
}
Ma dove definire questa variabile? Immagino da qualche parte in Product.wxs?
Hey Michael, ho seguito questo stesso tutorial e io sono di fronte un problema in cui durante importante aggiornamento, l'exe precedente non viene sempre rimosso come nuovo è installato fianco a fianco. Ho incrementato sia la versione EXE che le versioni MSI incluse. Ho visto altre persone che commentavano lo stesso problema sotto il tutorial. Hai incontrato questo problema? Se sì, come l'hai superato? :(Need some help man – mayooran