驱动程序存储
从 Windows Vista 开始,驱动程序存储是收件箱和第三方 驱动程序包的受信任集合。 操作系统将此集合保留在本地硬盘上的安全位置。 设备上只能安装驱动程序存储中的驱动程序包。
将驱动程序包复制到驱动程序存储时,将复制其所有文件。 这包括 INF 文件和 INF 文件引用的所有文件。 驱动程序包中的所有文件都被视为对设备安装至关重要。 INF 文件必须引用设备安装所需的所有文件,以便它们存在于驱动程序存储中。 如果 INF 文件引用驱动程序包中未包含的文件,则不会将驱动程序包复制到存储区。
将驱动程序包复制到驱动程序存储的过程称为 暂存。 必须先将驱动程序包 暂存 到驱动程序存储,然后才能使用该包安装任何设备。 因此,驱动程序暂存和设备安装是单独的操作。
驱动程序包通过验证和验证暂存到驱动程序存储。
验证驱动程序包的完整性
在将驱动程序包暂存到驱动程序存储之前,操作系统首先验证驱动程序包是否受信任。 为了使驱动程序包被视为受信任,INF 文件必须在 Version 节中具有 CatalogFile 指令,该指令为与 INF 文件关联的目录文件提供文件名。 目录文件必须包含 INF 文件和 INF 文件引用的任何文件的哈希,并且目录文件必须使用受信任的数字签名进行签名。 有关数字签名的详细信息,请参阅 驱动程序签名。
验证驱动程序包
操作系统通过以下方式验证驱动程序包:
- 当前用户必须具有安装驱动程序包的权限。
- 驱动程序包的 INF 文件 在语法上正确,INF 文件引用的所有文件都存在于驱动程序包中。
驱动程序包通过完整性和语法检查后,会将其复制到驱动程序存储。 之后,操作系统使用驱动程序包自动安装新设备,而无需用户交互。
将文件暂存到驱动程序存储后,不应以任何方式删除或修改这些文件。 此外,不应在过渡过程之外将新文件添加到驱动程序存储中。 这包括通过编程调用直接添加、删除或修改的文件,或通过稍后将处理的 INF 指令间接添加、删除或修改的文件。