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


Действие 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 возникает с ошибкой при замене старого файла, и пользователь выбирает игнорировать ошибку. Поведение установщика по умолчанию — удалить старый файл, прежде чем убедиться, что новый файл копируется правильно.

Правила управления версиями файлов, используемые установщиком, см. в правилах управления версиями файлов.