2011-07-12 7 views
2

インストール中にカスタムアクションを使用して、インストールディレクトリにテキストファイルを書き込みます。アンインストールすると、そのファイルは削除されず、対応するインストールディレクトリもありません。しかし、それ以外のものはすべて正しくアンインストールされます。C#WIX永久ファイルをアンインストールしますか?

WIXがアンインストーラを使用してこのファイルをアンインストールできない理由を理解しています。アンインストール時に手動でディレクトリ/ファイルを削除できる「クリーンアップ」アクションを呼び出す最良の方法は何ですか?

答えて

7

テキストファイルが最も密接に関連しているコンポーネントには、RemoveFile要素を含めることができます。そのコンポーネントがアンインストールされると、テキストファイルも削除されます。

<RemoveFile Id="CleanUpLogFile" On="uninstall" Name="log.txt"/> 
0

などのコンソールアプリケーションをいつでも実行できます。たとえば、コードでファイルを削除するなどです。そのプロジェクトをアンインストールカスタムアクションにのみ追加するだけです。

1

空のテキストファイルをインストールした後、カスタムアクションを作成してファイルに書き込むことができます。

一般的に、私は可能な限りカスタムアクションから離れておくことをお勧めします(インストール、アンインストール、パッチ適用、修復などを扱う際にはかなり面倒なことがあります)。最初に実行したときのファイル、または最初の実行時に実行される追加の設定アプリがあります。

0

好奇心ではありませんテキストファイルの性質は何ですか?同様の状況では、テキストファイルがインストールログである場合、一時ディレクトリまたはProgram Filesの下にない場所(Program/AppDataフォルダ - C:\ ProgramData \ Manufacturer \など)にログすることをお勧めします)。

この方法では、カスタムクリーンアップスクリプトまたはアクションを作成する必要がなくなり、この問題は完全に回避されます。

関連する問題