Windows-informazioni riservate: Shuffle service pack

Come si può essere certi che ricevi tutti i destra patch e aggiornamenti con un nuovo service pack? Certi — sono lì.

Raymond Chen

Vi siete mai chiesti cosa succede al tuo patch e aggiornamenti durante l'aggiornamento a un service pack? Non ti preoccupare, sono tutti lì dentro. Ogni Windows service pack include tutti gli aggiornamenti disponibili al momento in cui che viene rilasciato il service pack. Ma che cosa circa le patch di sicurezza rilasciati dopo il service pack?

Si supponga di aver distribuito la versione originale di Windows 7 e tu hai tenendo fuori sulla distribuzione di Windows 7 SP1 fino a quando hai finito di valutarla contro applicazioni line-of-business della vostra azienda. Nel frattempo, Microsoft rilascia una patch per risolvere vulnerabilità di sicurezza sia la versione originale di Windows 7 che il primo service pack. Distribuzione di questa patch per tutti i computer. Si determinano poi che Windows 7 SP1 non alterare il flusso di lavoro della vostra azienda. Distribuzione del service pack per tutti i sistemi accidentalmente reintrodurrà la vulnerabilità di sicurezza?

Fortunatamente, la risposta è "no". Patch di sicurezza rilasciata quando più versioni di Windows sono supportate sono distribuite in un meccanismo noto come "un pacchetto di aggiornamento a doppia modalità." Potete leggere di più su questo metodo di distribuzione in articolo della Knowledge Base 328848.

Supponiamo che sia la versione originale di Windows 7 e Windows 7 SP1 sono supportati. Una patch per Windows 7 sarà in realtà costituito da due patch: uno per la versione originale di Windows 7 e un altro per Windows 7 SP1. La patch appropriata per la versione attualmente installata di Windows 7 è applicata al sistema. Se il sistema è in esecuzione la versione originale di Windows 7, però, c'è un ulteriore passaggio. La versione di Windows 7 SP1 della patch è salvata per un giorno di pioggia.

Quando si installa Windows 7 SP1, l'installazione di service pack controlla le patch di Windows 7 SP1 salvate. Se ci sono, si applica come parte dell'aggiornamento. Di conseguenza, una volta che si installa una patch di sicurezza, sempre sta per essere lì, anche se si esegue l'aggiornamento al service pack successivo.

Chiudi Salva

Ci si potrebbe chiedere perché non c'è un problema con l'aggiornamento a un ipotetico Windows 7 SP2. Perché la patch originale non ha incluso una versione per il secondo service pack, il programma di installazione di Windows 7 SP2 non troverete una patch salvata da applicare come parte dell'aggiornamento.

Che è OK, perché tutti i service pack includono tutti gli aggiornamenti rilasciati al momento che i service pack sono fatti. Di conseguenza, il problema del pacchetto di aggiornamento sarebbe necessario Difficoltà è già fissato in Windows 7 SP2 in virtù del fatto che il secondo service pack è uscito dopo il pacchetto di aggiornamento. La tecnica del pacchetto di aggiornamento a doppia modalità è necessaria solo per le patch che vengono fuori dopo un service pack.

C'è un altro tipo di nota come il rollup di aggiornamento. Questo è un aggiornamento che combina solo un mucchio di altri aggiornamenti in un unico pacchetto per convenienza. Si può pensare esso come un pack Mini-Service. All'estremo opposto, si può pensare di Windows 8 come un mega-service pack per Windows 7: Oltre a tutte le nuove caratteristiche di Windows 8, inoltre, include tutti gli aggiornamenti da Windows 7.

Questa complessità evidenzia un errore comune quando si scrive codice che tenta di rilevare se è stato applicato un particolare aggiornamento. Alcune persone cercano di enumerare gli aggiornamenti installati tutti, ma questa tecnica non troverete l'aggiornamento una volta che l'utente ha installato un rollup o aggiornato a Windows 7 SP2 o di Windows 8. Di conseguenza, il codice ritiene che la macchina non ha l'aggiornamento, anche se lo fa. È solo che l'aggiornamento non esiste come entità indipendente.

Anche nel caso in cui il sistema è in esecuzione Windows 7 SP1 e non è installato alcun pacchetto cumulativo, una ricerca per l'aggiornamento potrebbe generare un falso positivo. Si consideri, ad esempio, un aggiornamento che installa la versione 1.3 di una DLL. Un installatore canaglia più tardi sovrascrive la DLL con la versione 1.2. L'aggiornamento è stato installato, ma anche invalidato da ciò che è accaduto dopo.

La domanda corretta da porsi è quindi non, "quali aggiornamenti sono installati?" ma piuttosto "che gli aggiornamenti devono essere installati?" È possibile utilizzare il Windows Update Agent per quello.

L'agente di Windows Update è ampiamente documentata su msdn.com. Lo script di esempio per la ricerca, il download e l'installazione degli aggiornamenti viene illustrato come trovare tutti gli aggiornamenti disponibili che non sono ancora stati applicati. Poi Scarica e li installa. Se siete interessati ad un particolare aggiornamento, è possibile utilizzare la tecnica dimostrata nello script di ricerca, il download e l'installazione di aggiornamenti specifici.

Il mondo di Windows servicing è in realtà molto più complicato rispetto alla sequenza di Straight-Line service pack descritta qui. C'è la sequenza di service pack, la sequenza di Quick Fix Engineering (o QFE) e la sequenza generale Distribuzione Release (o GDR), ciascuno dei quali affronta un requisito diverso rilascio. Di conseguenza, pacchetti multimodali possono esistere con molte varianti. Ci potrebbe essere uno per coprire ciascuna delle sequenze di rilascio, ma è una storia per un altro tempo.

Raymond Chen

Raymond Chen *Sito Web, la vecchia nuova cosa, e libro intitolato identicamente (Addison-Wesley, 2007) trattare con storia di Windows, Win32 anniversari programmazione e negativi.

Grazie a Mark Phaedrus per sua eventuale assistenza tecnica nella scrittura di questo articolo.*

Contenuti correlati