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


Таблица файлов

Таблица файлов содержит полный список исходных файлов с различными атрибутами, упорядоченными по уникальному нелокализованным идентификатору. Файлы могут храниться на исходном носителе в виде отдельных файлов или сжиматься в cab-файле. Дополнительные сведения см. в разделе Использование шкафов и сжатых источников.

Таблица файлов содержит следующие столбцы.

Столбец Type Ключ Допускает значения NULL
File Идентификатор Да N
Компонент_ Идентификатор N Нет
FileName Имя файла N Нет
FileSize DoubleInteger N Нет
Версия Версия Нет Да
Язык Язык Нет Да
Атрибуты Целое число N Да
Последовательность Целое число Нет Нет

 

Столбцы

Файл

Нелокализованный маркер, который однозначно идентифицирует файл. Это поле не учитывает регистр. Не назначайте идентификаторы разным файлам, которые отличаются только их регистром.

Компонент_

Внешний ключ в первом столбце таблицы компонентов. Это поле идентифицирует компонент, управляющий файлом.

Имени файла

Имя файла, используемое для установки. Имя может быть локализовано.

Так как на некоторых веб-серверах учитывается регистр, FileName должно точно соответствовать регистру исходных файлов, чтобы обеспечить поддержку загрузки из Интернета.

FileSize

Размер файла в байтах. Это должно быть не отрицательное число.

Версия

Это поле является строкой версии для файла с управлением версиями. Это поле пусто для файлов без версий. Версия файла, введенная в этом поле, должна совпадать с версией файла, входящего в пакет установки.

В поле Версия также можно задать первичный ключ другой записи в таблице File. Затем указанный файл определяет логику управления версиями для этого файла. Дополнительные сведения см. в разделе Файлы-компаньоны. Обратите внимание, что если этот файл является ключевым путем для его компонента, он не должен указываться в качестве файла-компаньона.

Язык

Список идентификаторов десятичных языков, разделенных запятыми.

Файлы шрифтов не должны создаваться с идентификатором языка, так как шрифты не имеют внедренного ресурса идентификатора языка. Таким образом, этот столбец следует оставить null для файлов шрифтов.

Атрибуты

Целое число, содержащее битовые флаги, представляющие атрибуты файла.

В следующей таблице показано определение битового поля.

Константа Шестнадцатеричный Decimal Описание
msidbFileAttributesReadOnly 0x000001 1 Только для чтения
msidbFileAttributesHidden 0x000002 2 Скрытый
msidbFileAttributesSystem 0x000004 4 Система
msidbFileAttributesVital 0x000200 512 Файл имеет жизненно важное значение для точной работы компонента, к которому он принадлежит. Если установка файла с атрибутом msidbFileAttributesVital завершается сбоем, установка останавливается и выполняется откат. В этом случае установщик отображает диалоговое окно без кнопки Пропустить. Если этот атрибут не задан и установка файла завершается сбоем, установщик отображает диалоговое окно с кнопкой Пропустить. В этом случае пользователь может проигнорировать ошибку, чтобы установить файл и продолжить.
msidbFileAttributesChecksum 0x000400 1024 Файл содержит допустимую контрольную сумму. Для восстановления поврежденного файла требуется контрольная сумма.
msidbFileAttributesPatchAdded 0x001000 4096 Этот бит должен быть добавлен только исправлением и только в том случае, если файл добавляется исправлением.
msidbFileAttributesNoncompressed 0x002000 8192 Тип источника файла не сжат. Если задано значение , игнорируйте свойство сводки Word Count. Если ни msidbFileAttributesNoncompressed ни msidbFileAttributesCompressed, ни msidbFileAttributesCompressed, состояние сжатия файла задается свойством сводки Word Count. Не устанавливайте msidbFileAttributesNoncompressed и msidbFileAttributesCompressed.
msidbFileAttributesCompressed 0x004000 16384 Тип источника файла сжимается. Если задано значение , игнорируйте свойство сводки Word Count. Если ни msidbFileAttributesNoncompressed ни msidbFileAttributesCompressed, ни msidbFileAttributesCompressed, состояние сжатия файла задается свойством сводки Word Count. Не устанавливайте msidbFileAttributesNoncompressed и msidbFileAttributesCompressed.

 

Если задан бит msidbFileAttributesVital в столбце Атрибуты и для установки выбран компонент, к которому принадлежит файл, то установщик должен иметь возможность установить этот файл, чтобы установка была успешно завершена. Если установщику не удается установить файл по какой-либо причине (например, если исходный файл не может находиться в исходном образе), появится диалоговое окно с сообщением об ошибке с параметрами "Повторить" или "Отмена". Для файла, в котором не задан msidbFileAttributesVital , в случае ошибки установки будут выбраны параметры "Abort", "Retry" и "Ignore" (т. е. пользователь будет иметь возможность успешно завершить установку без установки этого файла).

Бит msidbFileAttributesChecksum в столбце Attributes должен быть задан для каждого исполняемого файла в установке, имеющего допустимую контрольную сумму , хранящуюся в заголовке переносимого исполняемого файла (PE). Во время переустановки будут проверяться только те файлы, для которых задан этот бит. Дополнительные сведения см. в разделе REINSTALLMODE.

Последовательности

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

Порядковые номера в столбце Последовательность используются для указания порядка установки файлов и исходного носителя, на котором находится файл (в сочетании с таблицей мультимедиа). Например, предположим, что файл имеет порядковый номер 92. Чтобы определить исходный диск, на котором находится этот файл, найдите в таблице Media запись с наименьшим значением последней последовательности, которое больше 92.

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

Для файлов, которые не сжаты, порядковые номера не должны быть уникальными. Например, если все файлы распаковываются и находятся на одном диске, можно присвоить всем файлам одинаковый порядковый номер.

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

Комментарии

Действия InstallFiles и RemoveFiles в таблицах последовательностей обрабатывают сведения в этой таблице. Сведения об использовании таблиц последовательностей см. в статье Использование таблицы последовательностей.

Таблица изначально создается из списка файлов, но если используется сжатие шкафа, таблица создается на основе выходных данных модуля сжатия. Дополнительные сведения см. в разделе Файлы кабинета.

Чтобы переместить существующий файл на компьютере пользователя во время установки, используйте действие MoveFiles и таблицу MoveFile. Чтобы установить файл в нескольких расположениях, используйте действие DuplicateFiles и таблицу DuplicateFile.

В следующей таблице перечислены возможные сочетания значений в столбцах Версия и Язык. Дополнительные сведения см. в разделе Правила управления версиями файлов.

Версия Язык Описание
1.2.3.4 1033 Версия и язык.
1.2.3.4 (Null) Версия, но без языка.
1.2.3.4 0 Версия и язык являются нейтральными.
Testdb (Null) Файл-компаньон без связанного с ним языка.
Testdb 1033 Сопутствующий файл и язык.
(Null) 1033 Нет версии, но с ней связан язык (т. е. typelib, helpfile).

 

Дополнительные сведения см. в разделах Таблица MsiLockPermissionsEx и Таблица LockPermissions.

Проверка

ICE02
ICE03
ICE04
ICE06
ICE18
ICE30
ICE32
ICE35
ICE39
ICE42
ICE45
ICE50
ICE51
ICE54
ICE55
ICE57
ICE59
ICE60
ICE67
ICE69
ICE76
ICE91