<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <!-- ... --> </component>
虽然name和processorArchitecture是相当不言自明的,并且语言暗示它可能引入了特定于语言环境的设置,但我无法找到任何这些属性的文档.
特别是什么是versionScope和publicKeyToken?目前它们似乎是“神奇的常数”.
首先要理解的是,此架构最初并非针对这些无人参与的答案文件而设计. Microsof简单地重用了WMIConfig模式;您可以在许多地方找到它,但最主要的一个是与Windows更新包一起使用的“清单”文件.有关示例,请参见here.
在这个原始用途中,属性的值引用它们所附带的更新包,这使我们能够更有意义地使用它们.例如,语言可以采用here中列出的任何值.但这与无人参与的答案文件有什么关系?您接近于存在特定于语言环境的设置的想法.请记住,无人机文件不仅可以传达“配置指令”,而且还可以部署包 – 修补程序,语言包等.我们可以在System Image Manager中看到这一点.
看一下这些软件包,特别是语言包,我们可以看到语言属性确实被利用了:
由于这些属性主要用于描述伴随无人参与文件的包而不是其中包含的配置指令,因此很容易理解为什么它们与这些指令相比没有多大意义,以及为什么它们看起来像是你说,“神奇的常数”.当这些属性出现在配置指令中时,Microsoft只是简单地使用这些属性的通用值,因为任何其他值都不是真正适用的.
因此,要深入了解Language,VersionScope和PublicKey Token的含义,我们需要在它们描述的包的上下文中查看它们.显然语言描述了特定于地点的包的适用性. PublicKey Token由Microsoft here定义为“签署程序集的公钥的SHA-1哈希的最后8个字节.”
对于VersionScope,虽然没有Microsoft提供的具体定义,但我们可以假设这与所讨论的软件包是否使用Windows组件存储和并排(SxS)程序集有关.如果你不是程序员,那实际上需要的东西可能有点令人困惑,但请查看Wikipedia关于该主题的文章.
希望这能为这个话题带来一些启示!