私のプログラムは、VisualStudioSetupプロジェクトとともにインストールされます。設定を使用しているため、プログラムを実行するとuser.config
、デフォルトの場所にファイルが作成されます。アンインストールするときに、アンインストーラーにそのファイルを削除させるにはどうすればよいですか?また、アンインストーラーでフォルダーを削除するにはどうすればよいですか?user.config
%AppData%
2 に答える
そのためのカスタムタスクを作成する必要があります。デフォルト(および設計)では、インストーラーはインストールされたもののみを削除し、後で追加されたものはインストールトランザクションの一部ではありません。user.configのダミーファイルをインストールしてみると、AppDataフォルダーをインストールに追加できるはずです(ただし、アンインストール時にファイルを追加した場合は削除されません)。
基本的に、あなたはできない/すべきではない/しないでください。これは、この質問の複製に対する私の答えの再投稿です...
ユーザーごとのすべてのデータの削除は、アンインストールとは別のプロセスである必要があります。
私の推奨事項(および私たちが行うこと)は、管理者として実行する必要があり、追加のユーザーファイルを削除するプロファイルを列挙する別の「クリーンアップ」ユーティリティを作成することです。オプションで、ユーザーのレジストリハイブを列挙したり、追加のレジストリキーを削除したりすることもできます。クライアントの1つには、まさにそれを実行する独自のカスタムスクリプトがあります。
次に、このクリーンアップツールを顧客に提供し、アンインストール後にすべてのユーザーデータを削除する場合は、これを使用すると言います。
次の場合を考えてみましょう
- お客様は、新しいバージョンをインストールする前にアンインストールします
- メジャーアップグレード(古いバージョンがアンインストールされるため、これに注意する必要があります)
- 実行すべきではなかったが実行する能力を持っていたユーザーによる偶発的なアンインストール
データを削除する必要がある場合は、すべてのユーザーのこのデータを削除する最もクリーンな方法は、アクティブセットアップを利用し、これを使用して、各ユーザーが次にログを記録するときに実行されるユーザーごとのスクリプトをトリガーすることです。の上。アンインストール中はデータが削除されませんが、次回のログオン時に削除されます。また、いくつかのレジストリエントリをそのままにしておきますが、ユーザープロファイルを列挙するよりも、破損を引き起こす可能性は低くなります。