什么是维修堆栈,它如何工作?


13

在Windows中,有一种称为服务堆栈的东西,似乎可以充当程序包管理器的角色。我不太了解它,只是似乎基于组件的服务(CBS),Windows Installer,Windows Update和WinSxS是服务堆栈的一部分,或者以其他方式参与了服务。

我已经做了大量的研究,但是还没有找到关于Windows服务的易于理解的概述。因此,我要问以下问题:

  • 服务是什么?服务堆栈是做什么的?
  • 维修堆栈如何工作?CBS,Windows Installer,WinSxS和Windows Update扮演什么角色?

blogs.technet.microsoft.com/joscon/2010/06/15/...blogs.technet.microsoft.com/joscon/2010/07/06/...的博客还展示了如何使用DISM,证监会与堆栈互动以及如何解决腐败问题
magicandre1981 '16

编辑了问题以缩小范围并解决推定投票的推定原因(最初撰写的帖子有太多单独的问题)。我将在另一个问题中询问与服务堆栈进行交互以及对服务问题进行故障排除。
bwDraco '16

它会按听起来的方式做,会更新Windows组件,并在它们损坏时修复它们
Ramhound16年

再次,阅读博客。这是一个非常复杂的主题,因此在这里很难回答。
magicandre1981 '16

我试图回答一下,但这是一个很大而又复杂的话题。
magicandre1981 '16

Answers:


20

1.什么是维修,维修堆栈是做什么的?

服务是配置Windows更新或Windows功能(安装,删除更新/功能)的名称。当Windows正在运行(在线)或针对未运行的Windows分区/或已安装的WIM(离线)时,可以这样做:

什么是维修?服务是针对Windows操作系统安装角色,功能,Service Pack或Windows更新的行为。大多数时候,服务是在在线状态下进行的。在这种情况下,联机意味着进行更改后操作系统已启动并正在运行。联机服务是大多数人的工作,通常通过Windows Update或双击下载的更新来完成。还有一个离线状态。脱机当然意味着安装是针对非运行版本的Windows进行的。这是许多大型公司和OEM对其图像文件进行的处理,它们使用IMAGEX或DISM挂载它们,然后针对这些图像安装修补程序或其他更新,以减少在将图像投入生产时的修补时间。

2.什么是CBS

CBS代表基于组件的服务,并在Windows Vista中添加。在较早的Windows版本中,安装程序基于.inf文件来安装功能/更新

在Windows Vista中,新的组件化体系结构称为基于组件的服务(CBS),更改了安装这些组件的方式。CBS体系结构比以前的操作系统中的安装程序更加健壮和安全。用户将从更完整和可控的安装过程中受益,该过程允许添加更新,驱动程序和可选组件,同时缓解由于不正确或部分安装而引起的不稳定问题。CBS允许将从IIS到Windows Media Player的组件和功能打包为小模块,其中包含组件的全部功能。换句话说,每个模块都包含完整安装或删除其包含的组件所需的所有文件,注册表设置和方法。

3. WinSxS扮演什么角色

Windows XP中添加了此文件夹,以便能够在系统上并排安装两个不同的DLL版本(sxs)。Microsoft使用此功能允许WinXp中提供新的主题支持,但仍保留旧的系统dll不会破坏旧的Win95应用程序。它还用于修复DLL地狱。在Win95中,存在一个问题,该工具要求版本4中的特殊Windows DLL和版本4.10中的下一个工具。如果安装了较新的工具,则它可能会破坏旧程序;如果在较新的工具之后安装了较旧的工具,则较旧的工具可以工作,但较新的工具会崩溃,因为DLL不支持所有必需的功能。

从Vista开始,WinSxS文件夹包含Windows使用的所有文件,并且在激活功能时,这些文件不会复制到中的目标位置C:\Program Files,而是通过硬链接进行链接的:

Windows和Windows Vista早期版本之间最大的变化之一是从INF描述的操作系统向组件化的转变。Windows中的组件是一个或多个二进制文件,一个目录文件和一个XML文件,该文件描述有关应如何安装文件的所有内容。从关联的注册表项和服务到文件应具有的安全权限类型。组件分为逻辑单元,这些单元用于构建不同的Windows版本。

操作系统中的所有组件都位于WinSxS文件夹中-实际上,我们将此位置称为组件存储。每个组件都有一个唯一的名称,其中包括为其构建的版本,语言和处理器体系结构。WinSxS文件夹是在系统上找到组件的唯一位置,通过在组件存储中进行硬链接,可以“投影”在系统上看到的文件的所有其他实例。让我重复最后一点–操作系统中每个文件的每个版本只有一个实例(或完整数据副本),并且该实例位于WinSxS文件夹中。因此,从这个角度来看,WinSxS文件夹实际上是整个操作系统的整体,在下层操作系统中称为“扁平”文件夹。

4. Windows Installer扮演什么角色?

这与WinSxS无关,文件夹C:Windows \ Installer是Windows Installer服务复制数据的文件夹,该数据能够修改或删除已安装的程序。

5. Windows Update扮演什么角色?

Windows Update将文件下载到C:\ Windows \ SoftwareDistribution \ Download,并且服务堆栈将数据复制到WinSxS并尝试创建硬链接,如果失败(当文件仍在使用时),则操作将挂起并安装更新在下次启动时(在关机和启动时配置Windows更新屏幕)。


这是对这个问题的一个很好的答案。我会说实话。我读了这个问题,然后说,目的不是很清楚,我想已经回答了一个问题,以便弄清它的复杂性,然后听起来很简单。(尽管我不喜欢约9.9 / 10的问题,所以我确实感到很奇怪。)
Ramhound
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.