私のプログラムでは、設定の詳細を.iniファイルに保存する必要があります。このプログラムは、IEとfirefoxの拡張機能もインストールしています。これらの拡張機能からこれらの.iniファイルも読みたいと思っています。私が.iniを "AppData/Roaming ..."に入れたままにすると、プロテクトモードのIE拡張は読み書きできなくなります。私が知る限り、AppData/LocalLowはプロテクトモードでしか読み込むことができません。すべての設定の詳細をこの "... AppData/LocalLoe ..."に移動している場合は、常に動作しますか?これは標準的な方法ですか?私が書いたものはすべてVistaのコンテキストにあります。それはXPで動作しますか? Win7?WINDOWSにプログラム設定ファイルを保存するのに最適な場所はどれですか?
1
A
答えて
0
この質問に対する私の答えを参照してください:How to decide where to store per-user state? Registry? AppData? Isolated Storage?
そこから引用する:
ファイルVistaまたは「アプリケーションデータ」内のユーザーの「ローミング」フォルダにXPでユーザーと動き回る - ので、任意の設定とデータを保存する必要があります。
Vistaの「ローカル」と「ローカルの設定」のファイルとXPの「ローカルの設定」はありません。したがって、特定のコンピュータまたは再計算可能なデータに関連付けられている一時ファイルには適しています。
Vistaでは、われわれがよく知っている新しいセキュリティ機能の一部として、低レベルの完全性モード(例えば、プロテクトモードのIE)でプログラムを実行させることができます。これらのプログラムは、 "LocalLow"フォルダの下のファイルを除いて、ユーザのプロファイルにあるファイルにアクセスすることはできません。
結論として、「LocalLow」に格納されたファイルは本質的に安全ではなく、「Local」/「Local Settings」のファイルは一部の大企業では使用できない可能性があります。 "ローミング"/"アプリケーションデータ"を使用しています。
UPDATE:プロファイルのローミングが使用されている
- (ビッグ環境協力)ローカルおよびLocalLowの内容は(となります)予告なしに消えることができます。
- これらはすべてユーザー単位の設定です。サーバーがユーザー(システムやネットワークなど)とは異なるアカウントで実行されている場合、それらのフォルダーの異なるコピーが作成されます。
0
あなたはWinAPIの使用すべきプログラムデータ用のフォルダパスを取得するには、次のWindows Vistaの機能SHGetFolderPathで
wchar_t path_buf[MAX_PATH];
SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, SHGFP_TYPE_CURRENT, &path_buf[0]);
はSHGetKnownFoldedPathと交換しました。その古い関数は、単にSHGetKnownFolderPathのラッパーになりました。
関連する問題
- 1. VSTO - Excelワークブックの設定を保存するのに最適な場所
- 2. Javaの設定情報を保存するのに最適な場所
- 3. アレイをLaravelに保存するのに最適な場所
- 4. ZF2にカスタムインターフェイスを保存するのに最適な場所
- 5. ビッグXMLデータを保存するのに最適な場所
- 6. ネットワークアプリケーションのWindows環境設定を保存する場所は?
- 7. Windowsに一時ファイルを保存する場所はどこですか
- 8. KitKatに保存されている場所の設定はどこですか?
- 9. 静的資産(ファイル)をrails 3.1(pdf形式、xlsファイルなど)に保存するのに最適な場所
- 10. View Controller ivarを設定するのに最適な場所は何ですか?
- 11. UITableViewCell - セルを設定するのに最適な場所
- 12. 異なる設定を保存する場所はどこですか? C#サービス
- 13. アプリケーション設定を保存する場所
- 14. ファシリティ設定を保存する場所
- 15. アプリケーションログを保存する適切な場所は何ですか?
- 16. Javaプログラムのデフォルト保存場所の設定方法は?
- 17. windows用のvimにファイルを保存する場所
- 18. アップロードされたファイルを特定の場所に保存する
- 19. ゲームの進捗状況を保存するのに最適な場所はどこですか?
- 20. MVC3にグローバルWebMailの設定を保存する場所は?
- 21. C#Winform:ファイルの保存場所を設定する
- 22. Android:プログラムでGoogleの場所に保存
- 23. 内部ストレージにカスタムファイルを保存するのに最適な場所
- 24. Macにライセンス情報を保存するのに最適な場所?
- 25. Windows HPCクラスタに.exeファイルを保存する場所
- 26. 指定された場所にExcel VBAファイルを保存する
- 27. 設定を保存するWindowsレジストリの場所を決める方法は?
- 28. Javaアプリケーションに環境設定を保存する場所は?
- 29. Androidのログイン資格情報を保存するのに最適な場所
- 30. 保存場所にファイルをアップロードする
ご返信ありがとうございます。私の主なアプリケーションは小さなWebサーバーで、IEとFirefoxの拡張機能があります。したがって、Webサーバーが.iniで動作しているポートを維持する必要があり、拡張モジュールは正しいURLをフレームできるように拡張モジュールがそれを読み取ることができるはずです。私がローミングしている場合、IE保護モードでは読み込めません.LocalLowでこれを保持していると、LocalLowフォルダパスを見つけるXPComインターフェイス(スクリプト可能)が見つかりません。 – Manoj
私はXPComについて何も知らないので、それを手伝ってはいけません.jia3epによると、パスを取得するWin32 APIはSHGetKnownFoldedPathです。 – Nir
いくつか考慮すべき点については、私のアップデートを参照してください – Nir