Назад | Перейти на главную страницу

What are the attributes required by the `<component>`элемент в файлах Windows unattend.xml?</component>

В <component> элемент в unattend.xml file - используется для предоставления информации, необходимой для полностью автоматизированной установки Windows, - обычно представлен с рядом атрибутов, например:

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

<!-- ... -->

</component>

Пока name и processorArchitecture довольно понятны, и language предполагает, что может быть он вводит настройки, зависящие от локали, мне не удалось найти никакой документации ни по одному из этих атрибутов.

В частности, какие versionScope и publicKeyToken? На данный момент они кажутся «магическими константами».

Чтобы ответить на этот вопрос, нам сначала нужно немного больше информации о том, откуда эти атрибуты. Комментарий @Evan Anderson уместен: у нас, вероятно, никогда не будет доступа к официальному XSD, однако мы можем сделать вывод о значении на основе их использования.

Первое, что нужно понять, это то, что эта схема изначально не была разработана для этих файлов ответов автоматической установки. Microsoft просто повторно использовала схему WMIConfig; вы можете найти его в нескольких местах, но одним из наиболее распространенных является файлы «манифеста», используемые вместе с пакетами обновлений Windows. Видеть Вот для примера.

В этом первоначальном использовании значения атрибутов относятся к пакету обновления, который они сопровождают, что позволяет нам сделать их более понятными. Например, language может принимать любое из перечисленных значений Вот. Но при чем здесь файлы ответов без присмотра? Вы были близки с идеей, что существуют настройки, зависящие от локали. Помните, что файлы автоматической установки могут не только передавать «директивы конфигурации», но они также могут развертывать пакеты - исправления, языковые пакеты и т. Д. Мы можем видеть это в System Image Manager.

Взглянув на некоторые из этих пакетов, в частности на языковые пакеты, мы видим, что атрибут языка действительно используется:

Поскольку эти атрибуты в первую очередь предназначены для описания пакетов, сопровождающих файл автоматической установки, а не содержащихся в нем директив конфигурации, легко понять, почему они не имеют большого смысла в отношении этих директив, а также почему они кажутся такими, как вы говорите «магические константы». Microsoft просто использовала общие значения для этих атрибутов, когда они появляются в директивах конфигурации, потому что любые другие значения на самом деле не применимы.

Итак, чтобы понять, что означают Language, VersionScope и PublicKey Token, нам нужно взглянуть на них в контексте пакетов, которые они описывают. Очевидно Language описывает применимость пакета для конкретной местности. PublicKey Token определяется Microsoft Вот как «последние 8 байтов хэша SHA-1 открытого ключа, которым подписана сборка».

Что касается VersionScope, хотя Microsoft не предлагает конкретного определения, мы можем предположить, что это связано с тем, использует ли рассматриваемый пакет сборки Windows Component Store и Side by Side (SxS). Если вы не программист, то, что это на самом деле влечет за собой, может немного сбить с толку, но ознакомьтесь с Википедия статья по теме.

Надеюсь, это проливает свет на эту тему!