私のプロジェクトは、はるかに大きなプロジェクトへのプラグインです。大きなプロジェクトのバグは、アプリケーションをクラッシュさせるファイルを作成します。彼らはすでに問題を認識しており、それに対処していますが、その間に唯一の回避策は、各ユーザーのappdataディレクトリ内の特定のファイルを削除することです。すべてのユーザーのAppDataディレクトリを検索
小さなプラグインのインストール時に、問題のあるファイル(存在する場合)を削除するために、すべてのユーザーのappdataディレクトリに移動する予定です。各ユーザのappdataディレクトリを見つける方法はありますか?これはインストールであることを忘れないでください。管理者権限が与えられます。私が見てきたものの中には、その後、それだけで何とか私が取得する方法がわからない午前のIntPtrを、取得の問題だろう
WindowsIdentity.Impersonate(IntPtr someUser)
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
を使用することです。
これは私が今持っている最良の解決策です。では、どのようにして各ユーザーのIntPtrを取得できますか?または、より良い解決策がありますか?
私が考えることができる次善策は、単にC:\Users\eachUser\AppData\
のすべてのディレクトリを通過して存在するファイルを削除することです。しかし、再びXPの場所はC:\Documents and Settings\eachUser\Application Data\
でなければならず、私はオペレーティングシステム固有のコードを作成していました。提案? WindowsIdentity.Impersonate Method (IntPtr userToken)から
プラグインは大きなアプリケーションから実行され、大きなアプリケーションはクラッシュしてからコードを実行します。プラグインがそこにあることを期待していないためクラッシュします。削除するファイルは、プラグインをリストするファイルであり、プラグインリストを再作成する必要があります。 – SaulBack
次に、私のEdit2があなたの最高の選択肢だと思います。 –
私はこれを行う方法について醜いラウンドを行わなければならないのではないかと心配しました。しかし、助けてくれてありがとう。 – SaulBack