Component Based Servicing - built into Windows Vista and later
About Me[edit | edit source]
I am Mao Li, I
Summer Journal:[edit | edit source]
June[edit | edit source]
first week : June 16 -June 20[edit | edit source]
second week : June 23 -June 27[edit | edit source]
- At the top of the stack are the top level clients, such as Windows Update, Programs and Features, and MSI, which deliver packages to a system. The top-level clients are also responsible for control of user input and collection of user preferences during the servicing process.
- In the middle of the servicing stack is the Trusted Installer, CBS. The top-level clients pass downloaded packages to CBS, which evaluates each individually to determine if they are applicable to the system. For applicable updates, CBS provides the components to CSI, generates appropriate installation events, and registers packages with Programs and Features if needed. Finally, CBS exposes the interfaces to enumerate and inventory the updates.
- At the bottom of the servicing stack is CSI, which uses the Kernel Transaction Manager (KTM) to do its work.
Optional Component Setup: "Optional Component Setup (OCSetup.exe) is a command-line tool that installs and uninstalls Windows optional components. This tool replaces Sysocmgr.exe. You can use OCSetup.exe to install, update, and remove Windows Installer (MSI) components and Component-Based Servicing (CBS) components. “Further information is found here: http://go.microsoft.com/fwlink/?LinkId=91915
Package Manager: "The Package Manager is a tool that installs or removes packages or Windows components. It is called by Windows Setup during normal installation, including unattended installation, and runs transparently while updating or installing Windows. Further information can be found here: http://technet.microsoft.com/en-us/library/cc753368.aspx
Language Pack Installation: Language Packs help with the display of dialog boxes, wizards, menus and help documentation in different languages.
Component Based Servicing: This is a critical component to installing, updating and removing applications on the Vista and Windows Server 2008 Platforms. The Microsoft Component-Based Servicing (CBS) is part of the servicing stack which is defined by Microsoft as "a set of files and resources that are required to service a Windows image or operating system"
“CSI is responsible for the actual installation of components. To install components, CSI utilizes the Component Store (the %windir%\WinSXS folder) which is a collection of all components, manifests (%windir%\WinSXS\Manifests) and files on the system. As new components are added, CSI moves them into the Component Store, and determines what state the component should enter. Staging determines the current state of the package on the file system. There are different staging activities that occur during the installation of a package:” (Hameed 2008)
Installation package phases:
- Identify any files that are missing from the package. For a file to be installed, it must first be staged. Some may already present in the system store, others may need to be transferred from installation media or downloaded from network locations
- Determine which files are required to install a package and identify files in other packages that may also be required
- Resolve dependencies and ensure that all required files are present before installation begins
- Complete installation
Uninstallation package phases:
- The installer creates a list of any files in use, and other actions that require system reboot
- Remove the files or dependencies – files may either be removed from the system completely or may remain in the system store for future use.
- Files not in use may be removed from the system, and the system is rebooted to release and remove any files that were in use
“When a newer version of a component is installed on the system, CSI queries the Component Store to determine what components are being updated. When installing a component, CSI sets up a Primitive Operations Queue (POQ) which contains all files and registry keys that will be installed. Advanced installers or generic commands are then executed to complete installation. Advanced installers run in-process using CMI.
If there is a failure during installation of a component, CSI rolls back the entire installation. If a file or process is in use during a component installation and cannot be replaced, generic commands and advanced installer actions are written to %windir%\WinSXS\Pending.xml, and then written to disk on the following reboot. If several packages are installed at the same time, each additional package appends to Pending.xml. Additional logging during this phase occurs in %windir%\Logs\CBS\CBS.log.” (Hameed 2008).
References[edit | edit source]
Lambert, Greg (September 2008). Component Based Servicing (CBS) – A voyage of discovery. Retrieved June 4, 2014, http://aokcompat.blogspot.com/2008/09/component-based-servicing-cbs-voyage-of.html
Hameed, CC (April 2008). Understanding Component-Based Servicing. Retrieved June 4, 2014, http://blogs.technet.com/b/askperf/archive/2008/04/23/understanding-component-based-servicing.aspx
Yoo, Won (June 2008). Servicing via CBS (component based servicing). Retrieved June 4, 2014, http://blogs.iis.net/wonyoo/archive/2008/06/22/servicing-via-cbs-component-based-servicing.aspx