RemoveFiles アクション

RemoveFiles アクションは、InstallFiles アクションによって以前インストールされたファイルを削除します。 これらの各ファイルは、Component テーブル内のエントリへのリンクによってゲートされます。 コンポーネントがローカルにインストールされている場合、msiInstallStateAbsent 状態または msiInstallStateLocal 状態のいずれかに解決されたコンポーネントを含むファイルのみが削除されます。

順序の制限

RemoveFiles を呼び出す前に 、InstallValidate アクションを呼び出す必要があります。 InstallFiles アクションを使用する場合は、RemoveFiles の後で使用する必要があります。

ActionData のメッセージ

フィールド アクション データの説明
[1] 削除対象ファイルの識別子。
[9] 削除対象ファイルを保持しているディレクトリの識別子。

 

解説

削除するその他のファイルがない場合は、インストーラー データベースから RemoveFile テーブルを除外できます。

RemoveFiles アクションでは、作成者が指定した、InstallFiles アクションによってインストールされていないファイルも削除できます。 これらのファイルは、、RemoveFile テーブルで指定します。 これらの各ファイルは、Component テーブル内のエントリへのリンクによってゲートされます。 ファイルに、アクティブなアクション状態 (つまり、Off または Null 以外の状態) に解決されたコンポーネントが含まれていて、そのファイルが指定のディレクトリに存在する場合、そのファイルは削除されます。 RemoveFile テーブルで指定されたファイルの削除は、リンクされたコンポーネントの初回インストール時、再インストール中に試行され、さらにリンクされたコンポーネントの削除時に再度試行されます。

RemoveFiles アクションでは、フォルダーも削除できます。 RemoveFile テーブルの FileName 列の値が null の場合、空のフォルダーが削除されます。

以前インストールしたファイルを削除する場合、RemoveFiles アクションは、、InstallFiles アクションがクエリを実行した同じテーブル内の同じフィールドに対してクエリを実行します。ただし、Media テーブルは RemoveFiles アクションでは使用されません。

ターゲット ファイル名は、RemoveFile テーブルの FileName 列にローカライズされたテキストで指定できます。