Таблица файлов
Таблица файлов содержит полный список исходных файлов с различными атрибутами, упорядоченными по уникальному нелокализованным идентификатору. Файлы могут храниться на исходном носителе в виде отдельных файлов или сжиматься в 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