windows - Hvordan fungerer patches og service packs?

Indlæg af Hanne Mølgaard Plasc

Problem



Hvordan virker patches eller service packs? Jeg ved ikke, hvordan jeg skal forklare mit spørgsmål, men jeg vil prøve


Tag f.eks. Windows. Det har filer, der helt og holdeligt forbruder 100'erne af MB. Nu kan en enkelt service pack (muligvis 300 MB fil) opdatere hele Windows OS.


Tilsvarende har jeg set opdateringer der sker for software som Adobe Reader osv. I alle disse tilfælde er Main Exe meget større i forhold til opdateringen. Hvordan virker processen? Hvis hovedfilen henviser til afhængighedsfiler, og hvis opdateringen ændrer versionen eller størrelsen. Vil det ikke påvirke exe?

Bedste reference


Patches og service packs behøver normalt kun at opdatere centrale delte biblioteker i systemet. Disse biblioteker erstattes eller patches fra et komprimeret arkiv, og dermed deres størrelse. Når bibliotekerne er opdateret, kan resten af ​​softwaren i operativsystemet fortsætte med at bruge de nye versioner.


Applikationer i dag er designet til at være modulære og til at bruge eksterne biblioteker, der let kan opdateres. Nogle gange behøver hovedapplikationen eller det anvendte medie ikke udskiftes, kun det bibliotek, der er ændret.

Andre referencer 1


For at supplere tidligere svar, tilbage på dagen, da filstørrelsen virkelig var vigtig, blev nogle patches leveret som binære diffs, hvilket betyder, at lappen selv var en eksekverbar, der vidste, hvilke filer der skulle ændres, og hvordan, og det ændrede sig kun en visse dele af filerne 'nuller og dem, lokalt, i stedet for at erstatte filerne helt.

Andre referencer 2


Følgende URL kan være interessant for dig ved at kende arkitektur.


http://msdn.microsoft.com/en-us/library/aa387291(VS.85).aspx[1]

Andre referencer 3


Patches (også kaldet deltas) er kun forskellene mellem to filer. Hvis kun få bytes på 1 GB filændring, vil patch kun have få bytes størrelse. For tekstfiler anvendes diff, for binære filer xdelta eller lignende. Service packs er samlinger af patches. [2]