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


Упорядочивание порядковых номеров файлов в кабинете, таблице файлов и таблице мультимедиа

Таблица файлов содержит полный список всех исходных файлов для установки. Файлы могут храниться на исходном носителе в виде отдельных файлов или сжатых в кабинетные файлы. Порядковые номера в столбце 'Последовательность' таблицы 'Файл' вместе с полем 'LastSequence' таблицы 'Носителей' указывают как порядок установки файлов, так и исходные носители, на которых находится каждый файл. Каждая запись в таблице мультимедиа определяет исходный диск, содержащий все файлы с порядковым числом меньше или равным значению, показанным в столбце LastSequence, и больше значения LastSequence предыдущего диска.

Например, предположим, что файл имеет порядковый номер 92, введенный в столбец последовательности таблицы "Файл". Чтобы определить, на каком исходном диске находится этот файл, установщик проверяет запись таблицы Media для записи с наименьшим значением LastSequence, превышающим 92. Столбец DiskId является первичным ключом для таблицы мультимедиа, и это поле однозначно идентифицирует диск в таблице.

Максимальное ограничение на количество файлов, которые можно перечислить в таблице файлов пакета установщика Windows, составляет 32767 файлов. Сведения о создании пакета установщика Windows, содержащего дополнительные файлы, см. в статье создание большого пакета.

Авторы пакетов могут уменьшить размер пакетов установки, сжав исходные файлы и включив их в архивы. Исходный образ файла может быть сжатым, распакованным или сочетанием обоих типов. Дополнительные сведения о сжатых и несжатых источниках смотрите в и. Сжатые исходные файлы должны храниться внутри файла шкафа. Сжатые файлы внутри шкафа имеют собственные внутренние порядковые номера. Значения этих внутренних порядковых номеров не должны соответствовать значению порядковых номеров в таблице "Файл". Однако последовательность файлов, указанных в таблице файлов, должна быть идентична фактической последовательности файлов в шкафах. Номера последовательности несжатых файлов не должны быть уникальными. Например, если все файлы распаковываются и находятся на одном диске, все файлы могут иметь одинаковый порядковый номер в таблице файлов.

В таблице мультимедиа описывается набор дисков, составляющих исходный носитель для установки. Первая запись в таблице мультимедиа всегда должна иметь значение 1 в поле DiskId. Файлы должны быть организованы на исходном носителе таким образом, чтобы все файлы на диске 1 имели номера последовательности файлов, которые меньше порядковых номеров файлов на диске 2, а все номера последовательности на диске 2 должны быть меньше, чем на диске 3 и т. д. Это требование также применяется к диску, который содержит сжатые и несжатые источники. Например, если источники носителей для установки находятся на двух исходных дисках, а если диск 1 содержит как несжатые файлы, так и файл шкафа, оба несжатых файла и файлы в шкафу должны иметь порядковые номера меньше, чем наименьший номер последовательности любого файла, хранящегося на диске 2. Если все файлы на диске 1 сжимаются в файле шкафа, таблица мультимедиа может быть создана, как показано в следующей таблице.

таблица мультимедиа (частично)

DiskId ПоследовательностьКонца DiskPrompt Шкаф Метка тома
1 5 1 mycab.cab Диск 1
2 10 2 Диск 2

 

Если некоторые файлы на диске 1 сжаты в архиве, а некоторые не сжаты, таблица Media может быть создана следующим образом.

таблица мультимедиа (частично)

DiskId Последняя последовательность DiskPrompt Шкаф Метка тома
1 5 1 Диск 1
2 10 1 mycab.cab Диск 1
3 15 2 Диск 2

 

Обратите внимание, что в следующей таблице с мультимедиа содержится ошибка, так как указаны некоторые номера последовательности файлов на диске 2, которые меньше, чем у некоторых файлов в контейнере на диске 1.

таблица мультимедиа

DiskId Последняя последовательность DiskPrompt Шкаф Метка тома
1 5 1 Диск 1
2 10 2 Диск 2
3 15 1 mycab.cab Диск 1

 

Большие файлы можно разделить на два или более кабинетных файла. В любом одном кабинетном файле, который продолжается в следующий, не может быть более 15 файлов. Например, если у вас есть три кабинетных файла, первый кабинетный файл может содержать 15 файлов, переходящих во второй кабинетный файл, а второй кабинетный файл может содержать 15 файлов, переходящих в третий кабинетный файл. При добавлении записи в таблицу "Файл" для нескольких шкафов используйте первую часть файла, чтобы указать номер последовательности файла, который вы вводите в столбец "Последовательность".

Таблицы файлов и мультимедиа можно создавать следующим образом, если есть три файла, два шкафа и два диска. В этом примере c1.cab находится на диске1 и c2.cab находится на диске2. Файл f2 охватывает оба шкафа. Кабинет c1.cab содержит весь файл f1 и первую часть файла f2. Кабинет c2.cab содержит вторую часть f2 и весь файл f3.

таблица мультимедиа (частично)

DiskId ластСеквенс (если нужно адаптировать к кириллице) DiskPrompt Шкаф Метка тома
1 5 1 c1.cab Диск 1
2 10 2 c2.cab Диск 2

 

Таблица файлов (частичная)

Файл Последовательность
f1 1
f2 2
f3 6