Поделиться через


Раздел INF SourceDisksNames

Раздел SourceDisksNames определяет диски распространителя или компакт-диски, содержащие исходные файлы, которые будут переданы на целевой компьютер во время установки.

[SourceDisksNames] |
[SourceDisksNames.x86] |
[SourceDisksNames.ia64] | (Windows XP and later versions of Windows)
[SourceDisksNames.amd64] | (Windows XP and later versions of Windows)
[SourceDisksNames.arm] | (Windows 8 and later versions of Windows)
[SourceDisksNames.arm64] (Windows 10 version 1709 and later versions of Windows)

diskid = disk-description[,tag-or-cab-file] |
diskid = disk-description[,[tag-or-cab-file][,[unused][,path]]] |
diskid = disk-description[,[tag-or-cab-file],[unused],[path][,flags]] |
diskid = disk-description[,[tag-or-cab-file],[unused],[path],[flags][,tag-file]]  (Windows XP and later versions of Windows)
...

Записи

diskid
Указывает неотрицательное целое число в десятичном формате, идентифицирующее исходный диск. Для этого значения не может потребоваться более 4 байт хранилища. Если для распределения несколько исходных дисков, каждая запись diskid в этом разделе должна иметь уникальное значение, например 1, 2, 3 и т. д.

disk-description
Указывает токен %strkey% или строку в кавычках, которая описывает содержимое и (или) назначение диска, определяемого diskid. Установщик может отобразить значение этой строки для конечного пользователя во время установки, например, чтобы определить исходный диск для вставки на диск на определенном этапе процесса установки.

Каждая спецификация %strkey% в этом разделе должна быть определена в разделе Строки INF. Любое описание диска , которое не является маркером %strkey%, является видимой пользователем строкой, которую необходимо разделять двойными кавычками ("), если она содержит начальные или конечные пробелы.

tag-or-cab-file
Это необязательное значение указывает имя файла тега или cab-файла (.cab), предоставленного на диске распространителя, либо в корневом каталоге установки , либо в подкаталоге, указанном путем, если таковой имеется. Значение должно указывать только имя и расширение файла, а не каталог или подкаталог.

Windows использует файл тегов, чтобы убедиться, что пользователь вставил правильный диск установки. Файлы тегов необходимы для съемных носителей и являются необязательными для фиксированных носителей.

Если Windows не удается найти файлы установки по имени на носителе установки, и если tag-or-cab-file имеет расширение .cab, Windows использует его в качестве имени cab-файла, содержащего файлы установки.

Если значение . Указано расширение cab . Windows рассматривает файл как файл тегов и cab-файл, как описано в следующем разделе примечаний .

Для Windows XP и более поздних версий Windows также см. флаги и значения входа в файл тегов .

unused
Эта запись больше не поддерживается для Windows 2000 и более поздних версий Windows.

путь
Это необязательное значение указывает путь к каталогу на диске распространителя, который содержит исходные файлы. Путь относится к корневому каталогу установки и выражается как \dirname1\dirname2..., и т. д. Если это значение не указано в записи, предполагается, что файлы находятся в корневом каталоге установки диска распространителя.

Раздел INF SourceDisksFiles можно использовать для указания подкаталогов относительно заданного каталога пути, содержащих исходные файлы. Однако файлы тегов и cab-файл должны находиться либо в заданном каталоге пути, либо в корневом каталоге установки.

flags
Начиная с Windows XP, установка этого значения 0x10 заставляет Windows использовать tag-or-cab-file в качестве имени cab-файла и использовать tag-file в качестве имени файла тега. В противном случае флаги будут использоваться только для внутреннего использования.

tag-file
Начиная с Windows XP, если для флагов задано значение 0x10, это необязательное значение указывает имя файла тега , указанного на носителе распространения, либо в корневом каталоге установки , либо в подкаталоге , указанном путем. Значение должно указывать имя и расширение файла без сведений о пути. Дополнительные сведения см. в разделе Примечания.

Комментарии

Раздел SourceDisksNames может содержать любое количество записей, по одной для каждого диска распространения. Любой inf с разделом SourceDisksNames также должен содержать раздел INF SourceDisksFiles. (По соглашению разделы SourceDisksNames и SourceDisksFiles соответствуют разделу Версия INF.)

Эти разделы никогда не отображаются в системных INF-файлах. Вместо этого системные INF-файлы указывают записи LayoutFile в разделах Version .

Записи в разделе SourceDisksNames могут иметь любой из двух форматов, один из которых поддерживается только в Windows XP и более поздних версиях Windows.

В первом формате параметр tag-or-cab-file может указывать файл тега или cab-файл. При обнаружении этого формата Windows использует следующий алгоритм:

  1. Рассматривайте значение tag-or-cab-file как имя файла тега и найдите файл на установочном носителе. Если носитель является съемным и файл тега не найден, предложите пользователю ввести правильный носитель. Если носитель исправлен и не удается найти ни файл тега, ни первый устанавливаемый файл, предложите пользователю ввести правильный носитель.

  2. Попробуйте скопировать установочные файлы непосредственно с носителя.

  3. Рассматривайте значение tag-or-cab-file как файл .cab и найдите файл.

  4. Попробуйте скопировать файлы установки из файла.cab .

  5. Запрашивать у пользователя не найдены файлы.

Второй формат поддерживается в Windows XP и более поздних версиях Windows. В этом формате можно использовать записи tag-or-cab-file, flags и tag-file , чтобы указать файл.cab и файл тега. При обнаружении этого формата Windows использует следующий алгоритм:

  1. Если установочный носитель является съемным, найдите файл тега, соответствующий имени файла, заданному параметром tag-file. Если файл не найден, предложите пользователю ввести правильный носитель. Если носитель фиксирован, найдите файл тегов или cab-файл. Если ни тот из файлов не найден, предложите пользователю ввести правильный носитель.

  2. Попробуйте скопировать файлы установки из файла.cab , указанного тегом или cab-file.

  3. Запрашивать у пользователя не найдены файлы.

Для обоих форматов необходимо указать другой файл тега с другим именем файла для каждой версии файлов драйвера.

Для поддержки распространения файлов драйверов в нескольких системных архитектурах можно указать раздел SourceDisksNames для конкретной архитектуры, добавив расширение .x86, .ia64, .amd64 или другое расширение архитектуры в SourceDisksNames.

Имейте в виду, что в отличие от других разделов, таких как раздел DDInstall , расширения платформы для раздела SourceDisksNames не являются .ntx86, .ntia64, .ntamd64 и т. д. Например, чтобы указать раздел имен исходных дисков для системы x86, используйте раздел SourceDisksNames.x86 , а не SourceDisksNames.ntx86 . Аналогичным образом используйте раздел SourceDisksNames.ia64 , чтобы указать систему на основе Itanium и раздел SourceDisksNames.amd64 , чтобы указать систему на основе x64.

Во время установки функции SetupAPI ищут разделы SourceDisksNames , относящиеся к конкретной архитектуре, прежде чем использовать универсальный раздел. Например, если во время установки на платформе x86 INF-файл ссылается на диск "2", функции установки устройства ищут запись для диска "2" в SourceDisksNames.x86 , прежде чем искать в SourceDisksNames.

Функции установки устройств используют SourceDisksNames и SourceDisksNames.разделы архитектуры, которые находятся в том же INF-файле, что и соответствующий раздел SourceDisksFiles.

Примеры

В следующем примере файлwrite.exe одинаков для всех платформ Windows и находится в подкаталоге \common в корневом каталоге установки на диске распространения компакт-дисков. Файл cmd.exe — это файл для конкретной платформы, который используется только на платформах x86.

[SourceDisksNames]
1 = "Windows NT CD-ROM",file.tag,,\common

[SourceDisksNames.x86]
2 = "Windows NT CD-ROM",file.tag,,\x86

[SourceDisksFiles]
write.exe = 1
cmd.exe = 2

В следующем примере используются записи, содержащие отдельные спецификации для файлов TAG и .cab файлов.

[SourceDisksNames]
1 = "Dajava","Dajava.cab",,,0x10,"Dajava.tag"
2 = "Osc","Osc.cab",,,0x10,"OSC.tag"
3 = "Win","Win.cab",,,0x10,"Win.tag"
4 = "XMLDSO","XMLDSO.cab",,,0x10,"XMLDSO.tag"

[SourceDisksFiles]
ArrayBvr.class=1
BvrCallback.class=1
BvrsToRun.class=1
choice.osc=2
custom.osc=2
login.osc=2
mwcload.exe=3
mwcloadw.exe=3
mwclw32.dll=3
Atom.class=4
DTD.class=4
Entity.class=4
Entry.class=4

[DestinationDirs]
Test = 13

[DefaultInstall]
CopyFiles = Test

[Test]
ArrayBvr.class
mwcloadw.exe
Entity.class
custom.osc
BvrCallback.class
BvrsToRun.class
choice.osc
login.osc
mwcload.exe
mwclw32.dll
Atom.class
DTD.class
Entry.class

[Strings]
Msft = "Microsoft"

См. также раздел

DestinationDirs

SourceDisksFiles

Версия