0

管理者以外の人が書き込みを許可されていない場所を教えてください。

Environment::GetFolderPath(Environment::SpecialFolder::ApplicationData) + "\\Config.ini";
Environment::GetFolderPath(Environment::SpecialFolder::CommonApplicationData) + "\\monitorService\\Config.ini";
Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles) + "\\monitorService\\Config.ini";

期待はEnvironment::SpecialFolder::CommonApplicationData大きかったのですが、残念ながら普通のリミテッドユーザーも立ち入り禁止です。構成データをロードして保存できる、共通の、簡単にエラーが発生し、認識して検索できるディレクトリが必要です。ユーザーごとの設定ファイルを使用できると思いますが、できるだけシンプルにしたいと思います。

インストーラーに、ユニバーサルアクセス用にレジストリまたはファイルシステムの一部の領域を確保してもらうことはできますか?Innosetupと.NETコードを使用してインストールします。(IRC)Firefoxが名前付きユーザーとデフォルトユーザーの「アプリケーションデータ」フォルダーをいっぱいにすることに気づいたので、それは別の可能性だと思います。構成データはサービスで必要とされるため、レジストリ以外の場所に短いstringsとsをいくつか保存するのは非常に面倒な場合があります。int

4

1 に答える 1

0

誰も答えていないので、実装に取り​​掛かっている間、私は自分の解決策を提案したほうがよいでしょう。

制限付きユーザーは、HKCUへの書き込みアクセスのみが可能です。これはファイルシステムを使用するのと同じです-いくつかのユーザー固有のブランチは書き込み可能になります。ユーザーがログオンしたときにグローバル構成ファイルへの書き込みアクセスを確認し、スローされた場合はユーザーローカル構成に委任する必要があるのは面倒ですが、それを行う必要があります。デフラグが簡単で、パフォーマンスへの影響が少ないので、HKCUの前にFSを使用してみます。

于 2011-10-24T08:40:04.947 に答える