2012-02-08 9 views
1

セットアッププロジェクトを作成するためにWindowsインストーラを使用しています。AppData Roamingフォルダからアプリケーションファイルを削除する方法

アプリケーションのアンインストール時にAppData \ Roamingフォルダからアプリケーションファイルを削除/削除する方法を教えてください。

特殊なフォルダを追加しようとしましたが、DefaultLocaltionを[AppDataFolder]に設定しようとしましたが、機能しませんでした。

他に何かする必要はありますか?

答えて

2

デフォルトでは、Windowsインストーラは、インストール後にアプリケーションによって作成されたファイルを削除しません。これを行うには、アンインストール時に実行される独自のカスタムアクションを作成するか、MSIの作成に使用するツールに応じて、一部のツールでサポートされているため、アプリケーションの場所をクリーニングするための組み込みオプションを使用できます。

+0

FWIW、Windowsインストーラーは、Windowsインストーラーによってインストールされなかった削除されるファイルを記述するRemoveFileテーブルを持っています。これは実際には「ツール」固有のサポートではありません。 –

3

具体的なアドバイスをするために何をしようとしているのかを理解する必要があります。一般的に、あなたがやろうとしているのは、CommonAppDataFolderからファイルを削除することですが、複数のユーザープロファイルからユーザーデータを集めようとするとAppDataFolderを削除するのはベストプラクティスではありません。さらに、ローミングプロファイルのユーザーデータをクリーンアップしようとすると、他のユーザーがログオンしていないため不可能になります。

Managing Roaming User Data Deployment Guide

あなたは私はあなたがいると思う何をしようとしていると仮定すると、あなたはアンインストールとカスタムに残しクリーンアップスクリプト/ exeファイルが必要になります:

あなたは読むことをお勧めしますアンインストール中にレジストリに書き込むアクション(MSIはこれをネイティブに行うことはできません)を実行して、そのスクリプト/ EXEを呼び出します。それがうまくいく

Using Active Setup to Repair User Settings

方法は、その上にユーザーがログインがローミングのデータを取得するように、あなたのアンインストールが背後にあるEXEおよびレジストリエントリを残している:ここで説明するように、Activeセットアップトリックを活用したいと思いますサーバーからローカルにプルダウンされ、Active Setupはまだスクリプトを実行していないことを認識します。スクリプトが実行され(1回)、データが削除されます。ユーザーがログオフすると、データはサーバー上で複製/削除されます。その後、再びログオンすると、再び実行されません。

関連する問題