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


Действие RemoveFiles

Действие RemoveFiles удаляет файлы, ранее установленные действием InstallFiles . Каждый из этих файлов имеет ссылку на запись в таблице Компонент . Удаляются только файлы с компонентами, разрешенными в состояние msiInstallStateAbsent или msiInstallStateLocal , если компонент установлен локально.

Ограничения последовательности

Перед вызовом RemoveFiles необходимо вызвать действие InstallValidate . Если используется действие InstallFiles , оно должно появиться после RemoveFiles.

Сообщения ActionData

Поле Описание данных действия
 [1] Идентификатор удаленного файла.
[9] Идентификатор каталога, включающего удаленный файл.

 

Комментарии

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

Действие RemoveFiles также может удалить файлы, указанные автором, которые не установлены действием InstallFiles. Эти файлы указаны в таблице RemoveFile . Каждый из этих файлов имеет ссылку на запись в таблице Компонент . Те файлы, компоненты которых разрешаются в любое активное состояние действия (то есть не находятся в состоянии Off или Null), удаляются, если файл существует в указанном каталоге. Попытка удаления файлов, указанных в таблице RemoveFile, выполняется при первой установке связанного компонента, во время переустановки и при удалении связанного компонента.

Действие RemoveFiles также может удалить папки. Пустая папка удаляется, если значение в столбце FileName таблицы RemoveFile равно NULL.

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

Имя целевого файла можно указать в локализованном тексте в столбце FileName таблицы RemoveFile.