L'elemento MajorUpgrade è stato introdotto in wix 3.5 per semplificare ciò che si farebbe normalmente con l'elemento Upgrade. In modo che, invece di qualcosa di simile:
<!– Major upgrade –>
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="$(var.ProductVersion)" OnlyDetect="yes" Property="NEWERVERSIONDETECTED" />
<UpgradeVersion Minimum="1.0.0" IncludeMinimum="yes" Maximum="$(var.ProductVersion)" IncludeMaximum="no" Property="OLDERVERSIONBEINGUPGRADED" />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate" />
</InstallExecuteSequence>
<Condition Message="Can't downgrade">
NOT NEWERVERSIONDETECTED
</Condition>
si può semplicemente fare questo:
<MajorUpgrade DowngradeErrorMessage="Can’t downgrade." />
Non solo è il vecchio modo più prolisso, ma richiede anche che si ripete la versione del codice di aggiornamento e di prodotto che sono specificati nell'elemento Product. Quindi l'esempio sopra deve fare uso delle variabili wix per tenerle sincronizzate. Se ti sbagli, l'aggiornamento non funzionerà correttamente.
Il nuovo elemento MajorUpgrade
non ha nessuna di queste complicazioni, quindi consiglio di utilizzarlo. Vedi anche questo blog post by Bob Arnson introducing MajorUpgrade
e lo topic in the wix documentation sull'argomento.
fonte
2012-06-14 07:49:13
Schedule ha l'opzione "afterInstallValidate" che è prima di InstallInitialize. – Adkins