まとめ
ユーザホームディレクトリの AppData 配下には Roaming Local LocalLow フォルダがある。
違いは以下。
| フォルダ | ローミング対象 | 整合性レベル | 説明 |
|---|---|---|---|
Roaming |
Yes | Medium (中) | Active Directory などのドメイン環境で、ユーザーがログインしたPC環境に設定が同期される |
Local |
No | Medium (中) | 通常のアプリケーションが利用する(異なるPCで環境の共有が不要な)データ |
LocalLow |
No | Low (低) | 信頼度が低いアプリケーションが利用する(異なるPCで環境の共有が不要な)データ |
AppData\Roaming
ドメイン環境に所属するPCにおいて、「ローミング・ユーザー・プロファイル」が設定されている場合にサーバーと同期される。
ユーザーがログオフした際にRoaming フォルダ内のファイルがサーバへコピーされ、別のPCでログインした際にそのデータがダウンロードされる。これにより、ユーザーがどのPCからログインしても、同じ設定でアプリケーションを使えるようになる。
主に、個人のアプリケーション設定データが格納される。
ユーザーとともに移動するには負担となるサイズの大きなファイル、キャッシュやログファイルなどは Local フォルダを利用する。
AppData\Local
ローミング対象外(別のPCでログインした際に引き継ぐ必要のないデータ)のファイルを格納する。
ユーザー単位でインストールされたアプリケーションの実行ファイルが配備されることもある(Roaming に配備されるケースもある)。
AppData\LocalLow
信頼度の低いアプリケーション用のフォルダ。
Windows Vista 以降、アプリケーションは、その信頼度に応じてランク付けされている。
- 高 (High): システム管理者権限で動くプロセス
- 中 (Medium): 一般ユーザーが普通に起動したプロセス
- 低 (Low): 主にインターネット経由で動作するプロセス
低(Low)のプロセスはセキュリティ上の理由から、他のシステム領域にアクセスできないように制限されており、AppData\Local に書き込むことができない。
よって、このようなアプリケーションは AppData\Local の変わりに AppData\LocalLow を利用することになる。
AppData\LocalLow は、以下のように Low Mandatory Level となっている。
AppData> icacls LocalLow
LocalLow NT AUTHORITY\SYSTEM:(OI)(CI)(F)
BUILTIN\Administrators:(OI)(CI)(F)
XXXXX\xxxxx:(OI)(CI)(F)
Mandatory Label\Low Mandatory Level:(OI)(CI)(NW)
Webブラウザの「保護モード」、インターネットからダウンロードされたファイルなどは AppData\LocalLow を利用する。
プラットホーム別の対比
user’s home directory
| Platform | Value | Example |
|---|---|---|
| Linux | $HOME |
/home/alice |
| macOS | $HOME |
/Users/Alice |
| Windows | {FOLDERID_Profile} |
C:\Users\Alice |
user’s preference directory
| Platform | Value | Example |
|---|---|---|
| Linux | $XDG_CONFIG_HOME or $HOME/.config |
/home/alice/.config |
| macOS | $HOME/Library/Preferences |
/Users/Alice/Library/Preferences |
| Windows | {FOLDERID_RoamingAppData} |
C:\Users\Alice\AppData\Roaming |
user’s config directory
| Platform | Value | Example |
|---|---|---|
| Linux | $XDG_CONFIG_HOME or $HOME/.config |
/home/alice/.config |
| macOS | $HOME/Library/Application Support |
/Users/Alice/Library/Application Support |
| Windows | {FOLDERID_RoamingAppData} |
C:\Users\Alice\AppData\Roaming |
user’s local config directory
| Platform | Value | Example |
|---|---|---|
| Linux | $XDG_CONFIG_HOME or $HOME/.config |
/home/alice/.config |
| macOS | $HOME/Library/Application Support |
/Users/Alice/Library/Application Support |
| Windows | {FOLDERID_LocalAppData} |
C:\Users\Alice\AppData\Local |