Windows 修补程序和服务包是如何工作的?

Windows 修补程序和服务包是如何工作的?,windows,architecture,Windows,Architecture,修补程序或服务包是如何工作的?我不知道如何解释我的问题,但我会试一试 以Windows为例。它有总共消耗100 MB的文件。现在,单个service pack(可能是300 MB的文件)可以更新整个windows操作系统 类似地,我也看到了adobe reader等软件的更新。在所有这些情况下,与更新相比,主exe要大得多。这个过程是如何工作的?主文件是否引用任何依赖性文件,以及更新是否更改了版本或大小。它不会影响exe吗 补丁程序和服务包通常只需要更新系统的核心共享库。这些库是从压缩的归档文件

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

以Windows为例。它有总共消耗100 MB的文件。现在,单个service pack(可能是300 MB的文件)可以更新整个windows操作系统


类似地,我也看到了adobe reader等软件的更新。在所有这些情况下,与更新相比,主exe要大得多。这个过程是如何工作的?主文件是否引用任何依赖性文件,以及更新是否更改了版本或大小。它不会影响exe吗

补丁程序和服务包通常只需要更新系统的核心共享库。这些库是从压缩的归档文件中替换或修补的,因此它们的大小不同。一旦库被更新,操作系统的其余软件就可以继续使用新版本


现在的应用程序被设计为模块化,并使用易于更新的外部库。有时,不需要更换主应用程序或使用的任何媒体,只需更换已更改的库。

以下URL可能会让您对了解体系结构感兴趣


为了补充前面的答案,在文件大小非常重要的那一天,一些补丁是以二进制差异的形式交付的,这意味着补丁本身是一个可执行文件,它知道需要更改哪些文件,以及如何更改,并且实际上只在本地更改了文件0和1的某一部分,而不是完全替换文件。

补丁(也称为delta)只是两个文件之间的区别。如果1GB文件中只有几个字节发生更改,则修补程序的大小将只有几个字节。用于文本文件,用于二进制文件xdelta或类似文件。Service Pack是修补程序的集合