ローカル システム上に、ファイルを書き込むためのディレクトリ構造を作成する (合理的に) 保証された場所はありますか? 権限の変更に管理者権限を必要としないソリューションを探していますか?
少し調査した後、現在のユーザーのデスクトップフォルダーを見つけるためのこの回答を見ました。これを使用できますが、他にどのようなオプションがありますか?
研究のまとめ:
ローカル システム上に、ファイルを書き込むためのディレクトリ構造を作成する (合理的に) 保証された場所はありますか? 権限の変更に管理者権限を必要としないソリューションを探していますか?
少し調査した後、現在のユーザーのデスクトップフォルダーを見つけるためのこの回答を見ました。これを使用できますが、他にどのようなオプションがありますか?
研究のまとめ:
実際、特別なフォルダは、存在するという合理的な保証があるため、特別です。
他のフォルダーにはそのような保証はありません。EvenC:\
は保証されていません (ただし、ほとんどの Windows システムには存在する可能性があります)。
ApplicationDataの下のカスタム フォルダーは、特定のユーザーのアプリケーション固有のデータを書き込むための、またはCommonApplicationData
システム上のすべてのユーザー間で共有されるアプリケーション データのための共通の場所です。
ローミングが実装されている環境では (ユーザーがどの物理サーバーにログオンしても、ユーザーのデータは一緒に移動します)、ApplicationData
ユーザーを追跡します。その動作を望まない場合は、LocalApplicationData
代わりに使用できます。
AppData パスはおそらくあなたが望むものです。Windows XP+ のこのフォルダーは、
string folder = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
通常、アプリケーションはこの下にサブ フォルダーを作成してデータを保存しますが、読み取り/書き込みに特別なアクセス許可は必要ありません。