Aggiornamenti principali
Un aggiornamento principale è un aggiornamento completo di un prodotto che richiede una modifica della proprietà ProductCode .
Un aggiornamento principale tipico rimuove una versione precedente di un'applicazione e installa una nuova versione. Un aggiornamento principale può riorganizzare l'albero dei componenti delle funzionalità. Per altre informazioni, vedere ProductCode e Modifica del codice prodotto.
Durante un aggiornamento principale tramite Windows Installer, il programma di installazione cerca nel computer dell'utente le applicazioni correlate all'aggiornamento in sospeso e, quando ne rileva una, recupera la versione dell'applicazione installata dal Registro di sistema. Il programma di installazione usa quindi le informazioni nel database di aggiornamento per determinare se aggiornare l'applicazione installata.
Per abilitare le funzionalità di aggiornamento del programma di installazione, ogni pacchetto deve avere una proprietà UpgradeCode e una tabella di aggiornamento. Ogni prodotto autonomo o gruppo di prodotti deve avere un proprio UpgradeCode. Per altre informazioni sull'uso di UpgradeCode , vedere la sezione Uso di un oggetto UpgradeCode. Ogni record nella tabella Upgrade fornisce una combinazione del codice di aggiornamento, della versione del prodotto e delle informazioni sulla lingua usate per identificare un set di prodotti interessati dall'aggiornamento. Quando l'azione FindRelatedProducts rileva che un prodotto interessato è installato nel sistema, aggiunge il codice prodotto a una proprietà nella colonna ActionProperty della tabella Upgrade. L'azione RemoveExistingProducts e l'azione MigrateFeatureStates rimuovere o migrare i prodotti elencati nell'elenco ActionProperty. Gli autori di pacchetti possono anche seguire la procedura descritta nell'argomento Preparazione di un'applicazione per gli aggiornamenti principali futuri.
I pacchetti di aggiornamento di Windows Installer possono essere creati in modo che gli aggiornamenti principali non vengano installati se l'utente ha già una versione più recente dell'applicazione installata. Per altre informazioni su come creare un pacchetto che non verrà installato in una versione più recente, vedere Impedire l'installazione di un pacchetto precedente su una versione più recente
Nota
Windows Installer usa solo i primi tre campi della versione del prodotto. Per le descrizioni di questi campi, vedere Proprietà ProductVersion . Se si include un quarto campo nella versione del prodotto, il programma di installazione ignora il quarto campo.
Il metodo consigliato per applicare un aggiornamento principale installando il pacchetto completo per il prodotto aggiornato. Per informazioni su come applicare un aggiornamento principale installando il prodotto, vedere Applicazione di aggiornamenti principali installando il prodotto.
Un aggiornamento principale applicato come pacchetto patch per il prodotto non può essere sequenziato con altri aggiornamenti e non è una patch disinstallabile. Per informazioni su come applicare un pacchetto di patch di aggiornamento principale a un pacchetto di Windows Installer, vedere Applicazione di aggiornamenti principali applicando patch all'installazione locale del prodotto. L'applicazione di un aggiornamento principale con un pacchetto patch non è consigliata, ma applica gli aggiornamenti principali installando il prodotto completo.
Nota
Se un'applicazione viene installata nel contesto di installazione per utente, qualsiasi aggiornamento principale all'applicazione deve essere eseguito anche usando il contesto per utente. Se un'applicazione viene installata nel contesto di installazione per computer, qualsiasi aggiornamento principale all'applicazione deve essere eseguito anche usando il contesto per computer. Windows Installer non installerà gli aggiornamenti principali nel contesto di installazione.
È possibile modificare le azioni personalizzate sequenziate dopo InstallValidate per gestire gli aggiornamenti principali usando la proprietà UPGRADINGPRODUCTCODE :
Se si desidera eseguire un'azione personalizzata durante una disinstallazione del prodotto, ma non durante la rimozione del prodotto da un aggiornamento principale, utilizzare questa condizione.
REMOVE="ALL" E NOT UPGRADINGPRODUCTCODE
Se si vuole eseguire un'azione personalizzata solo durante un aggiornamento principale, usare questa condizione.