Microsoft は、さまざまな Windows プラットフォームでのアプリ データとユーザー データのストレージに関するベスト プラクティス文書を持っていますか?

StackOverflow https://stackoverflow.com/questions/1507923

  •  19-09-2019
  •  | 
  •  

質問

多くのバージョンの Windows を対象とするアプリケーションを作成する場合、アプリケーション固有のデータをどこに保存するかを決定するベスト プラクティスは何ですか。具体的には:

  • アプリケーション固有のデータ (例:アプリ構成データ)
  • ユーザー固有のデータ/設定

たとえば、Windows Vista では %APPDATA% などの環境変数を使用できることはわかっていますが、Windows 7、Windows XP、Windows 98 ではどうなるでしょうか。

私の主な質問は、Microsoft には、さまざまな種類のデータ (アプリとユーザー)、またこれらの場所への読み取り/書き込み時に留意する必要があるセキュリティへの影響について教えてください。

また、これが .NET アプリケーション (ApplicationSettingsBase が利用できる) だけでなく、アンマネージド C/C++ アプリケーションにもどのように関係するのかにも興味があります。

Pax と Remus の両方の素晴らしい回答に感謝します。こんな項目も見つけました(XP特有):

Visual C++ を使用してユーザー データとアプリケーション データを正しい場所に保存する Windows XP アプリケーションを作成する方法

役に立ちましたか?

解決

良い説明はこちらののあります様々なCSIDL値とフォルダは、彼らは(うまくいけば、あなたが知っておくべきことを教えてくれなければならない説明を含む)を参照してください。

また、あなたがこれらの特別なフォルダのパスを取得するために使用すべき機能へのリンクが含まれています。

ビスタのような方法が少し変更されている、ということに注意してください。それは今KNOWNFOLDERIDの代わりCSIDLを使用し、機能も同様に変更されました。ここをを参照してください。

私は、彼らが今、新しいものの周りだけのラッパーだと考えているので、

あなたはまだ(現時点では)古い機能を使用することができます。将来のある時点で、それが変更される可能性があります。

他のヒント

これらは通常、 Windows ソフトウェア ロゴ プログラム (リンク切れ). 。リンクは Windows 7 のロゴ要件に関するドキュメントですが、XP、Windows 2003、Vista、および Windows 2008 にも同様のドキュメントが存在します。「技術要件」セクションには、探している情報の一部が含まれています。

コンピューター上のユーザー間で共有する必要があるすべてのアプリケーションデータは、 ProgramData

特定のユーザー専用であり、コンピューターの他のユーザーと共有されないすべてのアプリケーションデータは、 Users\<username>\AppData

「マシンごと」インストールでは、ユーザーデータは、インストール中ではなく、最初の実行時に記述する必要があります。これは、インストール時にデータを保存するための正しいユーザーの場所がないためです。

編集:

Windows 10 ユーザーは、 Windows デスクトップ アプリの認定要件 (セクション 10)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top