lar*_*sks 5 unattended windows-server-2012
文件中的<component>
元素unattend.xml
——用于提供完全自动化的 Windows 安装所需的信息——通常具有许多属性,例如:
<component
name="Microsoft-Windows-International-Core-WinPE"
processorArchitecture="amd64"
publicKeyToken="31bf3856ad364e35"
language="neutral"
versionScope="nonSxS">
<!-- ... -->
</component>
Run Code Online (Sandbox Code Playgroud)
虽然name
和processorArchitecture
相当不言自明,并language
表明它可能引入了特定于语言环境的设置,但我无法找到有关这些属性中的任何一个的任何文档。
特别是,什么是versionScope
和publicKeyToken
?目前它们似乎是“神奇的常数”。
为了回答这个问题,我们首先需要更多关于这些属性从何而来的信息。@Evan Anderson 的评论很到位:我们可能永远无法访问官方 XSD,但是我们可以根据它们的用法推断含义。
首先要了解的是,该架构最初并不是为这些无人值守的应答文件设计的。Microsoft 只是简单地重用了 WMIConfig 架构;您可以在很多地方找到它,但最主要的地方之一是与 Windows 更新包一起使用的“清单”文件。请参阅此处的示例。
在最初的使用中,属性的值引用了它们附带的更新包,这使我们能够更好地理解它们。例如,可以采用此处language
列出的任何值。但这与无人值守应答文件有什么关系呢?您很清楚存在特定于区域设置的设置。请记住,无人值守文件不仅可以传达“配置指令”,而且还可以部署包 - 修补程序、语言包等。我们可以在系统映像管理器中看到这一点。
查看其中一些包,特别是语言包,我们可以看到确实利用了语言属性:
由于这些属性主要用于描述无人参与文件附带的包,而不是其中包含的配置指令,因此很容易看出为什么它们对于这些指令没有多大意义,以及为什么它们看起来如此,你说“神奇常数”。当这些属性出现在配置指令中时,Microsoft 只是使用它们的通用值,因为任何其他值并不真正适用。
因此,要深入了解 Language、VersionScope 和 PublicKey Token 的含义,我们需要在它们描述的包的上下文中查看它们。明显地Language
描述了特定于本地的包的适用性。Microsoft在此PublicKey Token
将其定义为“对程序集进行签名的公钥的 SHA-1 哈希值的最后 8 个字节”。
至于VersionScope
,虽然 Microsoft 没有提供具体的定义,但我们可以假设这与相关包是否使用 Windows 组件存储和并排 (SxS) 程序集有关。如果您不是程序员,这实际上意味着什么可能会有点令人困惑,但请查看有关该主题的维基百科文章。
希望这能让大家对这个话题有所了解!
归档时间: |
|
查看次数: |
1520 次 |
最近记录: |