Regole di controllo delle versioni dei file
Al centro di qualsiasi programma di installazione è l'installazione effettiva dei file. Determinare se installare un file è un processo complesso. Al livello più alto, questa determinazione dipende dal fatto che il componente a cui appartiene un file sia contrassegnato per l'installazione. Una volta determinato che un file deve essere copiato, il processo è complicato se esiste un altro file con lo stesso nome nella cartella di destinazione. In tali situazioni, la determinazione richiede un set di regole che coinvolgono le proprietà seguenti:
- Versione
- Data
- Linguaggio
Il programma di installazione usa queste regole solo quando si tenta di installare un file in un percorso che contiene già un file con lo stesso nome. In questo caso, Windows Installer usa le regole seguenti, tutte le altre cose uguali, per determinare se eseguire l'installazione.
La versione più alta prevale: tutte le altre cose sono uguali, il file con la versione più alta vince, anche se il file nel computer ha la versione più alta.
File con versione Win: un file con versione viene installato su un file nonversione.
Favore lingua del prodotto: se il file in fase di installazione ha una lingua diversa rispetto al file nel computer, favorire il file con la lingua corrispondente al prodotto in fase di installazione. I file indipendenti dalla lingua vengono considerati come un'altra lingua, quindi il prodotto installato è di nuovo preferito.
Lingue multiple non corrispondenti: dopo aver fattorizzato tutte le lingue comuni tra il file installato e il file nel computer, tutte le lingue rimanenti sono preferite in base a ciò che è necessario per il prodotto in fase di installazione.
Mantieni lingue superset: mantiene il file che supporta più lingue indipendentemente dal fatto che si tratti già nel computer o che sia in corso di installazione.
I file nonversioni sono dati utente: se la data di modifica è successiva alla data di creazione del file nel computer, non installare il file perché le personalizzazioni dell'utente verranno eliminate. Se le date Modificate e Crea sono le stesse, installare il file. Se la data di creazione è successiva alla data di modifica, il file viene considerato non modificato, installare il file.
L'installazione di un file complementare non dipende dalle proprie informazioni sul controllo delle versioni dei file, ma dal controllo delle versioni del padre complementare. Nel caso di File complementari, l'installazione viene ignorata solo se il file padre ha una versione successiva. Si noti che un file che rappresenta il percorso chiave per il relativo componente non deve essere un file complementare perché questo comporta la logica di controllo delle versioni del file del percorso chiave determinato dal file padre complementare.
File nonversioni che usano i file complementari: un file nonversione associato a un file con controllo delle versioni tramite il meccanismo complementare rispetta le regole per il file con versione. L'unica eccezione è se il file con versione nel computer e il file con versione installata hanno la stessa versione e la stessa lingua, ma il file complementare non è presente nel computer. In questo caso viene usato il file complementare installato anche se viene usato il file con versione nel computer. Inoltre, viene installato un file nonversione che usa un file complementare se la proprietà REINSTALLMODE include le opzioni di sovrascrittura delle versioni precedenti ("o" o "e") e la versione del file complementare è uguale a un file già presente nel computer.
Le regole sono globali: le regole per determinare quando installare un file si trovano in un'unica posizione all'interno del programma di installazione e sono globali, vale a dire che si applicano a tutti i file allo stesso modo.
Per esempi del formato usato per le versioni di file, vedere il tipo di dati Version . Per informazioni più specifiche, vedere Sostituzione di file esistenti o controllo delle versioni predefinite dei file.