2012-04-27 51 views
4

Winformアプリケーションをアンインストールすると、コンテンツファイル(画像、アイコンなど)と、アプリケーションが作成するログ用のフォルダなど、さまざまなファイルとフォルダが残っています。コンテンツファイルの場合:カスタムインストーラプロジェクトでは、「Permanent」プロパティがfalseに設定されています。 logsフォルダの場合:これは他のすべてで削除されると仮定しました。Winformアプリケーションのアンインストール時にすべてのフォルダとファイルを完全に削除しますか?

MSIセットアッププロパティがありませんか、アプリケーションのルートパスを特定して、オーバーライドされたUninstallメソッドのすべてを削除する必要がありますか?

答えて

2

いいえ、ありません。 MSIインストーラは、インストールされていないものはアンインストールしません。つまり、ユーザーデータ、ログファイルなどが残っています。

これは設計によるものです。ユーザーが誤ってアプリケーションをアンインストールして財務データなどを消去した場合の責任は想像できますか?あるいは、誤って他のものをあなたのアプリのデータフォルダに保存していて、アンインストーラがそれを削除したのであれば?

+0

お返事ありがとうございます。私が作成したファイルは理にかなっていますが、コンテンツファイルはどうですか?それらは削除されるべきではありませんか? – dotNetkow

+0

ファイルがインストーラによってインストールされていて、アンインストールが実行されたときにそれらのファイルがまったく同じである場合は、削除する必要がありますが、両方の条件に該当する場合は** **のみです。 –

+0

OK - 私はContent Filesフォルダで、私のアプリケーションがあなたの条件を破る別のファイルを作成することを認識しました。ありがとう。 – dotNetkow

0

インストーラはインストールされているすべてのファイルについての情報を保持しています。アンインストールが呼び出されると、この情報はインストーラにどのファイルまたはフォルダを削除するかを指示します。インストール後、アプリケーションやユーザーがフォルダやファイルを作成すると、それらのアイテムはアンインストール後もそこに残ります。

しかし、解決策があります。 OnAfterUninstallここに独自のカスタムアクションを書くことができます

protected override void OnAfterUninstall(IDictionary savedState) 
{ 
    base.OnAfterUninstall(savedState); 
    // Write your code 
} 
関連する問題