Servicing via CBS (component based servicing)

In Vista and Windows Server 2008, the operating system is made up of components.  In a simplest sense, a component is a small grouping of files based on a feature area, functionality, and reusability.  A manifest defines how the files are grouped in a component and largely, this is something that each product group at Microsoft has defined for their own product. 

Using IIS as an example, when certain IIS role services are installed or uninstalled, you are effectively installing or uninstalling the corresponding components.  Note, however, that there is no one-to-one relationship between a role and a component.  A role service may consist of several components. 

Having said above, the when it comes to servicing, a component is the smallest unit of measure and this creates an interesting patching behavior.  As mentioned above, a component may contain several files.  So, even if a fix for a particular bug is localized to one file, if the file belongs to a component that consists of other files, the patch will contain all files in the component.  All files, regardless of whether they are changed or not, are built, their version numbers incremented, and packaged in the hotfix.  When the hotfix is applied, the component in the component store is updated, and all files included in the component are updated on the file system.  In a KB article that accompanies the hotfix for Vista and Windows Server 2008, you will notice that there is a section to document the list of included files in the hotfix and another section to document which file is actually changed.


No Comments