Why are there directories called Local, LocalLow, and Roaming under \Users\<username>\AppData?

140

52

I have a workstation running Windows Server 2008 that's logged into an AD domain, and I have a dual boot with Ubuntu Linux. When running Linux, I'd like to be able to use the same Thunderbird profile I use under Windows, so I pointed Thunderbird to use a profile I found under:

\Users\(myname)\AppData\Local\Thunderbird\Profiles

It turns out it was not the correct profile -- it had the right configuration, but the Inbox was an old version. I eventually found out the correct path was:

\Users\(myname)\AppData\Roaming\Thunderbird\Profiles

What's the rationale behind those different places to store application data?

JCCyC

Posted 2009-08-11T21:32:52.997

Reputation: 2 143

Answers

177

Roaming is the folder that would be synchronized with a server if you logged into a domain with a roaming profile (enabling you to log into any computer in a domain and access your favorites, documents, etc. Firefox stores its information here, so you could even have the same bookmarks between computers with a roaming profile.

Local is the folder that is specific to that computer - any information here would not be synchronized with a server. This folder is equivalent in Windows XP to C:\Documents and Settings\User\Local Settings\Application Data.

LocalLow is the same folder as local, but it has a lower integrity level. For example, Internet Explorer 8 can only write to the LocalLow folder (when protected mode is on).

This document from Microsoft ("Managing Roaming User Data Deployment Guide") has a long explanation for what these three folder areas are and how they are used, as well as the changes implemented between Windows XP and Vista (Windows 7 retains the Vista structure).

Jared Harley

Posted 2009-08-11T21:32:52.997

Reputation: 11 692

@JaredHarley, So shouldn't LocalLow actually be placed at Local/Low instead? Also, how did you manage to find those resources? Did you wrote them? – Pacerier – 2015-06-24T23:38:43.903

7What is lower integrity level w.r.t any application or internet explorer for that matter? – RBT – 2017-02-23T01:50:44.130

1Are there any noteworthy differences when it comes to Windows versions above 7 (i.e. 8, 8.1 and 10)? – Palec – 2017-06-09T16:59:02.943

1@Jared, Why does Google use local instead of roaming then? – Pacerier – 2017-07-29T11:10:29.090

1@Pacerier I guess Google wants to manage roaming (synchronization) themselves. – Franklin Yu – 2018-04-17T15:29:20.230

The "Managing Roaming User Data Deployment Guide" is long, but only mentions LocalLow twice and does not answer @RBT's question. – JosiahYoder-deactive except.. – 2018-07-13T14:40:13.400

2As for Thunderbird, the TB profile should actually live in Roaming but the cache of downloaded mails, at least for IMAP accounts definitely should be elsewhere. If I were in a domain here, there'd be a lot of copying going on on each logon/-off with 1+ GiB of mails. – Joey – 2009-08-11T21:56:49.347

Yeah, that would be bad - especially if the roaming profile was trying to sync on a slow connection! – Jared Harley – 2009-08-11T22:17:03.517

4

This link from Microsoft (same as above, but not a doc) has a good explanation of folders, what is used where, and relationship to folders in XP.

– mindless.panda – 2011-08-24T14:33:33.230

1

@Howiecamp, yes, this link details the SpecialFolders enumeration for .NET 4.0. Developers choose which folder to save data to, in this case either ApplicationData or LocalApplicationData.

– mindless.panda – 2011-08-24T14:35:26.520

2I guess the choice of Local* bs Roaming is the app developer's choice? – Howiecamp – 2009-12-28T00:08:58.170

49

Roaming: This folder (%appdata%) contains data that can move with your user profile from PC to PC—like when you’re on a domain—because this data can be synced with a server. For example, if you sign in to a different PC on a domain, your web browser favorites or bookmarks will be available.

Local: This folder (%localappdata%) contains data that can't move with your user profile. This data is typically specific to a PC or too large to sync with a server. For example, web browsers usually store their temporary files here.

LocalLow: This folder (%appdata%/../LocalLow) contains data that can't move, but also has a lower level of access. For example, if you're running a web browser in a protected or safe mode, the app will only be able access data from the LocalLow folder.

The apps themselves choose whether to save to the Local, LocalLow, or Roaming folders. Most desktop apps use the Roaming folder by default, while most Windows Store apps use the Local folder by default.

hellowahab

Posted 2009-08-11T21:32:52.997

Reputation: 609

4

As explained in this blog post, The LocalLow folder (and several other Low folders) are created as an extra level of security for programs that are frequently under attack because they are exposed to the web. Internet Explorer and Adobe Acrobat are two prime examples on my system.

Essentially, a program that knows it is vulnerable can start itself in in "low" access mode so that it can only write into those folders and not infect the rest of the hard drive.

JosiahYoder-deactive except..

Posted 2009-08-11T21:32:52.997

Reputation: 584