Раздел INF SourceDisksNames

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

[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 и т. д.

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

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

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

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

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

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

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

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

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

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

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

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

Комментарии

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

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

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

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

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

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

  3. Ищите файл с тегом или cab-файлом как файл .cab.

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

  5. Запрос пользователя на наличие файлов, которые не найдены.

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

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

  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 subdirectory в корневом каталоге установки на диске распространения CD-ROM. Файл 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

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

[Version]
signature = "$Windows NT$"
Provider = %Msft%

[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

Версия