Uso di Windows Installer e Windows Resource Protection

Windows Installer rispetta Windows Resource Protection (WRP) quando si installano file di sistema, cartelle e informazioni del Registro di sistema essenziali in Windows Server 2008 e versioni successive e Windows Vista e versioni successive.

WRP in Windows Server 2008 e Windows Vista sostituisce Windows File Protection (WFP) in Windows Server 2003, Windows XP e Windows 2000. Gli sviluppatori di Windows Installer devono notare le modifiche seguenti in che modo il programma di installazione gestisce le risorse protette in Windows Server 2008 e versioni successive e Windows Vista e versioni successive:

  • Quando si esegue in Windows Server 2008 e versioni successive o Windows Vista e versioni successive, Windows Installer ignora l'installazione di qualsiasi file protetto da WRP, il programma di installazione immette un avviso nel file di log e continua con il resto dell'installazione senza un errore. In Windows Server 2003, Windows XP e Windows 2000, quando Windows Installer ha rilevato un file protetto dal WFP, il programma di installazione richiederà l'installazione del file da parte del WFP.
  • WRP in Windows Server 2008 e versioni successive o Windows Vista e versioni successive possono proteggere le chiavi del Registro di sistema oltre ai file. Se Windows Installer rileva una chiave del Registro di sistema protetta da WRP, il programma di installazione ignora l'installazione di tale chiave del Registro di sistema, il programma di installazione immette un avviso nel file di log e continua con il resto dell'installazione senza alcun errore.
  • Si noti che se un componente di Windows Installer contiene un file o una chiave del Registro di sistema protetta da WRP, questa risorsa deve essere usata come KeyPath per il componente. In questo caso, Windows Installer non installa, aggiorna o rimuove il componente. Non è consigliabile includere risorse protette in un pacchetto di installazione. È invece consigliabile usare i meccanismi di sostituzione delle risorse supportati per Windows Resource Protection.

Per altre informazioni su WRP, vedere Windows Resource Protection e informazioni fornite in Microsoft Technet.

WFP per Windows Server 2003 e Windows XP/2000

Windows Installer rispetta Windows File Protection (WFP) durante l'installazione di file di sistema essenziali in Windows Server 2003, Windows XP e Windows 2000. Se un file di sistema protetto viene modificato da un'installazione automatica di un'applicazione, IL WFP ripristina il file nella versione del file verificata.

Windows Installer non tenta mai di installare o sostituire un file protetto. Quando l'azione InstallFiles o qualsiasi altra azione pianificata prima di InstallFiles tenta di installare un file protetto in Windows Server 2003, Windows XP o Windows 2000, il programma di installazione chiama WFP con una richiesta di installazione o sostituzione del file protetto. Il programma di installazione richiede l'installazione del file dal WFP immediatamente dopo l'esecuzione dell'azione InstallFiles. WFP installa o sostituisce il file nel sistema dell'utente con una versione memorizzata nella cache del file protetto. Si noti che questa operazione non garantisce che la versione del file installata dalla cache sia la versione richiesta dall'applicazione. Dopo aver installato il file, il programma di installazione determina se questa versione corrisponde alla versione nel pacchetto. Se la versione del file nel pacchetto è maggiore della versione installata, il programma di installazione informa l'utente che non può aggiornare il sistema e che potrebbe essere necessario un aggiornamento del sistema operativo per l'applicazione.

Se qualsiasi azione sequenziata dopo l'installazione di InstallFiles tenta di installare o sostituire un file protetto non già installato nel sistema, il programma di installazione non può chiamare WFP per installare il file. In questo caso, il programma di installazione informa l'utente che non può aggiornare il sistema e che potrebbe essere necessario un aggiornamento del sistema operativo per l'applicazione.

Il programma di installazione controlla anche il WFP durante la rimozione dei file e non tenta mai di rimuovere i file di sistema protetti.

File chiave componente protetti dal WFP

Si noti che se un componente di Windows Installer contiene un file WFP, questo file deve essere specificato come percorso chiave per il componente.

Quando il programma di installazione tenta di installare il file di chiave di un componente in Windows Server 2003, Windows XP o Windows 2000, chiama innanzitutto WFP per determinare se il file di chiave è protetto. Quando il file chiave di un componente è protetto dal WFP e tale file di chiave è già installato, il programma di installazione aggiorna il componente solo se la versione del file di chiave nel pacchetto è maggiore della versione installata. Se il pacchetto di installazione specifica che un componente viene installato e il file chiave del componente non è attualmente installato, indipendentemente dal fatto che il file di chiave sia protetto dal programma di installazione. Dopo aver installato un file chiave protetto da WFP, il componente viene installato in modo permanente e il programma di installazione non rimuove o sostituisce il componente.

Installazione di assembly da WFP

IL WFP per gli assembly differisce dal WFP per i file di sistema.

WFP protegge i file di sistema windows Server 2003, Windows XP e Windows 2000 rilevando tentativi di sostituire i file di sistema protetti. Questa protezione viene attivata dopo che WFP riceve una notifica di modifica della directory per un file in una directory protetta. Quando il WFP riceve questa notifica, determina quale file è stato modificato. Se il file è protetto, WFP cerca la firma del file in un file di catalogo statico per determinare se il nuovo file è la versione corretta. Se la versione del file non è corretta, il sistema sostituisce il file con la versione corretta dalla cache o dal supporto di distribuzione.

Al contrario, il WFP degli assembly è dinamico. IL WFP viene esteso ai file quando vengono aggiunti alla cache di assembly side-by-side condivisa. Se un assembly diventa danneggiato, WFP richiederà che il programma di installazione sostituisca il file. Windows Installer può o non essere in grado di sostituire il file a seconda che il pacchetto di origine sia accessibile. Se il pacchetto di origine è inaccessibile, IL WFP inserisce una finestra di dialogo che indica che non è in grado di ripristinare il file.

Si noti che gli assembly side-by-side non gestiti, installati in %windir%\winsx, sono protetti dal WFP. Gli assembly privati non gestiti, installati nella directory dell'applicazione, non sono protetti dal WFP. Gli assembly globali gestiti installati nella directory dell'applicazione o %windir%\assembly\gac non sono protetti dal WFP.

Windows Resource Protection