Действие InstallFiles
Действие InstallFiles копирует файлы, указанные в таблице "Файл" из исходного каталога в целевой каталог.
Ограничения последовательности
Действие InstallFiles должно прийти после действия InstallValidate и перед любыми действиями, зависящими от файлов.
Сообщения ActionData
Поле | Описание данных действия |
---|---|
[1] | Идентификатор установленного файла. |
[6] | Размер установленного файла в байтах. |
[9] | Идентификатор установленного файла в каталоге. |
Замечания
Действие InstallFiles работает с файлами, указанными в таблице файлов. Каждый файл устанавливается на основе состояния установки связанного компонента файла в таблице компонентов . Только те файлы, компоненты которых разрешаются в состояние msiInstallStatelocal, могут копироваться.
Действие InstallFiles реализует следующие столбцы таблицы "Файл".
- Столбец FileName указывает имя целевого файла.
- Столбец версии указывает версию файла.
- Столбец "Атрибуты" указывает биты флага файла и атрибута установки.
- Столбец "Файл" указывает уникальный маркер файла.
- Столбец FileSize указывает размер несжатого файла в байтах.
- В столбце языка указывается идентификатор языка файла.
- Столбец последовательности указывает порядковый номер на носителе.
Действие InstallFiles реализует следующие столбцы таблицы компонентов.
- Столбец Directory_ указывает ссылку на таблицу каталогов.
- Столбец компонента задает уникальное имя элемента компонента.
Указанный файл копируется только в том случае, если одно из следующих значений имеет значение true:
- Файл в настоящее время не установлен на локальном компьютере.
- Файл находится на локальном компьютере, но имеет меньшее число версий, чем файл в таблице файлов .
- Файл находится на локальном компьютере, но нет связанного номера версии.
Исходный каталог для каждого файла, копируемый, определяется sourceMode, который, в свою очередь, зависит от значения в столбце "Кабинет" таблицы Мультимедиа. Полное обсуждение исходного режима см. в таблице мультимедиа.
Если исходный каталог для скопированного файла находится на съемных носителях, таких как диск floppy или CD-ROM, действие InstallFiles проверяет, вставляется ли соответствующий исходный носитель перед попыткой копирования файла. InstallFiles ищет носитель одного и того же съемного типа с меткой тома , которая соответствует значению, заданному в столбце VolumeLabel таблицы Мультимедиа. Если найден соответствующий подключенный том, процесс копирования файлов продолжается. Если совпадение не найдено, диалоговое окно запрашивает, чтобы пользователь вставлял правильный носитель. В этом случае диалоговое окно использует имя носителя, найденное в столбце DiskPrompt таблицы Мультимедиа в рамках запроса.
Необходимо соблюдать осторожность, так как действие InstallFiles может удалить исходный файл и не заменить его. Это происходит, когда действие InstallFiles возникает с ошибкой при замене старого файла, и пользователь выбирает игнорировать ошибку. Поведение установщика по умолчанию — удалить старый файл, прежде чем убедиться, что новый файл копируется правильно.
Правила управления версиями файлов, используемые установщиком, см. в правилах управления версиями файлов.