补丁和服务包如何工作?

时间:2009-02-24 10:43:51

标签: windows architecture

补丁程序或服务包如何工作?我不知道如何解释我的问题,但我会试一试

以Windows为例。它有一些文件共消耗100个MB。现在一个服务包(可能是300 MB文件)更新整个Windows操作系统。

同样地,我看到了adobe reader等软件的更新。在所有这些情况下,主要的exe与更新相比要大得多。整个进程如何运作?如果主文件引用任何依赖文件,并且更新更改了版本或大小。它不会影响exe吗?

4 个答案:

答案 0 :(得分:4)

为了补充早期的答案,在当天,当文件大小真正重要时,一些补丁作为二进制差异传递,这意味着,补丁本身是一个可执行文件,知道需要更改哪些文件,以及如何,它实际上仅在本地更改了文件的零和一部分,而不是完全替换文件。

答案 1 :(得分:3)

补丁和服务包通常只需要更新系统的核心共享库。这些库将从压缩存档中替换或修补,因此它们的大小。更新库后,操作系统的其余软件可以继续使用新版本。

现在的应用程序设计为模块化,并且可以使用可以轻松更新的外部库。有时主要应用程序或使用的任何媒体不需要替换,只需要更换的库。

答案 2 :(得分:1)

在了解架构时,您可能会对以下网址感兴趣。

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

答案 3 :(得分:1)

补丁(也称为增量)只是两个文件之间的差异。如果只有少量字节的1GB文件发生变化,那么补丁只有几个字节的大小。对于文本文件,使用diff,用于二进制文件xdelta或类似文件。 Service Pack是补丁的集合。