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 列にローカライズされたテキストで指定できます。