Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the significance of the ProgramData folder in Windows?

What is the importance of the ProgramData folder in Windows?

I have noticed that many installed programs store files in a subdirectory of the ProgramData folder. Is there a specific reason for that?

I have to create an installer for my application. Should I store user-level files under ProgramData or under Users?

like image 285
Ullan Avatar asked Mar 01 '12 15:03

Ullan


People also ask

Is it safe to delete ProgramData folder?

You shouldn't delete these, the Program Data files are files stored by the Applications you have installed on your computer. If you delete them, it will cause those programs to crash.

What does ProgramData mean?

ProgramData is "used for application data that is not user specific," according to Microsoft. For instance, if you install a photo editing tool that contains built-in clip art, it should store these in ProgramData. It wouldn't make sense to have multiple copies of common data spread across multiple user folders.

Why do programs install in ProgramData?

Program Files is for storing the program itself, AppData is to store user specific information related to the program. (And ProgramData is to store not user-specific information related to the program).

How do I clean up ProgramData folder?

To run it, type Disk Cleanup in the search bar, and then click the Disk Cleanup program entry that appears. Click "Clean up system files," and the tool examines your system for files to clean.


1 Answers

The documentation describes the expected use of this folder like this (emphasis mine):

The file system directory that contains application data for all users. A typical path is C:\Documents and Settings\All Users\Application Data. This folder is used for application data that is not user specific. For example, an application can store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. This information will not roam and is available to anyone using the computer.

Note that this documentation refers to the typical path as per older versions of Windows. In modern versions of Windows it is located in %SystemDrive%\ProgramData.

Rather disappointgly, the above quote is from the now legacy CSIDL documentation. But the documentation for the replacement KNOWNFOLDERID omits the useful descriptions of what you are intended to do with these special folders. So, in order to get to the bottom of questions like this you need to refer to both topics, so far as I can tell.

like image 66
David Heffernan Avatar answered Sep 23 '22 00:09

David Heffernan