Domanda

Vorrei scusarmi in anticipo se ho lasciato dettagli importanti.

Sto tentando di eseguire un aggiornamento in cui è necessario rimuovere la versione precedente del software (e tutti i componenti) prima di installare il nuovo.

Cercherò di evitare noioso con i dettagli e dire se fai un'installazione "tipica", tutto va come previsto. Se si sceglie di eseguire un'installazione avanzata (specificare l'installazione per tutti gli utenti, installare la posizione, ecc.) Quindi sembra saltare il punto "Disinstallazione precedente versione" del punto.

Finora, ho fatto quanto segue:

-hadito i miei tag di aggiornamento per corrispondere al consiglio di un'altra domanda di stackoverflow

-Verificata La proprietà 'OldVersbeingUpGraded' è impostata correttamente

-Verificare che i codici / ID di aggiornamento siano gli stessi, i numeri di versione sono sequenziali (Aggiornamento da 1,08 a 1.0.10) - Dopotutto, l'installazione "tipica" funziona correttamente!

-Follo ha dato il consiglio qui dato qui: wix-- Sovrappure sovrascrivere la versione precedente e seguito questo: http://wix.sourceforge.net/manual-wix3/ Major_upgrade.htm

-Tried per implementare un hack Chiamare manualmente Msiexec per disinstallare una versione precedente da parte dell'ID del prodotto (questo non è riuscito perché stiamo già installando qualcosa - c'è un modo migliore per pianificare questo?)

La mia sezione del mio prodotto / aggiornamento è simile a questo:

<Product Id="GUID1" UpgradeCode="GUID2" Version="1.0.10.0">
    <Package Compressed="yes" InstallerVersion="200"/>
    <MajorUpgrade Schedule="afterInstallInitialize" 
      DowngradeErrorMessage="Another version of [ProductName] is already installed."/>
    <Upgrade Id="GUID2">
        <UpgradeVersion Minimum="1.0.10" OnlyDetect="yes"
             Property="NEWERVERSIONDETECTED" />
        <UpgradeVersion Maximum="1.0.10" IncludeMaximum="no" 
             Property="PREVIOUSVERSIONINSTALLED" />
    </Upgrade>
.

Sono un wix newbie, quindi potrei aver trascurato i dettagli importanti mentre descrive il mio problema. Se ho trascurato di includere qualcosa di importante, per favore fammi sapere.

Grazie in anticipo per qualsiasi input che puoi fornire.

È stato utile?

Soluzione

Sembra che tu stia correndo nella stessa limitazione che ho fatto, vedere Questa domanda .Non è possibile modificare lo scope di installazione ("per utente" o "per macchina") in un aggiornamento.

Non c'è modo semplice attorno a questo da Windows Installer.È possibile effettuare solo un EXE a bootstrapper separato che disinstalla la versione precedente, quindi avvia l'installazione della nuova versione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top