` 需要哪些属性` 元素是否存在于 Windows unattend.xml 文件中?

` 需要哪些属性` 元素是否存在于 Windows unattend.xml 文件中?

<component>文件中的元素(unattend.xml用于提供全自动 Windows 安装所需的信息)通常具有许多属性,例如:

<component 
  name="Microsoft-Windows-International-Core-WinPE"
  processorArchitecture="amd64"
  publicKeyToken="31bf3856ad364e35"
  language="neutral"
  versionScope="nonSxS">

<!-- ... -->

</component>

虽然nameprocessorArchitecture是不言自明的,并且language表明或许它引入了特定于语言环境的设置,我无法找到有关任何这些属性的文档。

具体来说,versionScope和是什么publicKeyToken?目前它们似乎是“神奇常数”。

答案1

要回答这个问题,我们首先需要更多有关这些属性来自何处的信息。@Evan Anderson 的评论是正确的:我们可能永远无法访问官方 XSD,但我们可以根据它们的用法推断出含义。

首先要理解的是,此架构最初并不是为这些无人值守的应答文件设计的。微软只是重复使用了 WMIConfig 架构;您可以在许多地方找到它,但最主要的地方之一是与 Windows 更新包一起使用的“清单”文件中。请参阅这里举个例子。

在最初的使用中,属性的值指的是它们附带的更新包,这让我们能够更好地理解它们。例如,language可以采用列出的任何值这里。但这与无人值守应答文件有什么关系?您很接近于存在特定于语言环境的设置的想法。请记住,无人值守文件不仅可以传达“配置指令”,还可以部署软件包 - 修补程序、语言包等。我们可以在系统映像管理器中看到这一点。

SIM 卡套餐

看一下这些包,特别是语言包,我们可以看到语言属性确实被使用了:

SIM 属性

由于这些属性主要用于描述无人值守文件附带的包,而不是其中包含的配置指令,因此很容易理解为什么它们与这些指令没有多大关系,以及为什么它们看起来像您所说的“神奇常数”。当这些属性出现在配置指令中时,Microsoft 只是使用通用值,因为任何其他值都不适用。

因此,要深入了解语言、版本范围和公钥令牌的含义,我们需要在它们描述的包的上下文中查看它们。显然Language描述了特定于地区的包的适用性。PublicKey Token由 Microsoft 定义这里作为“对该程序集进行签名的公钥的 SHA-1 哈希的最后 8 个字节”。

至于VersionScope,虽然微软没有提供具体的定义,但我们可以假设这与相关软件包是否使用 Windows 组件存储和并排 (SxS) 程序集有关。如果你不是程序员,这实际上意味着什么可能会有点令人困惑,但请查看维基百科关于该主题的文章。

希望这可以为该主题提供一些启示!

相关内容