This is the “appdata” folder, this is where all the application’s data goes.
So whats the “Programs” folder then?
This is also where the application’s data and files go.
But I thought thats the “Programs x86” folder.
This is also where the application’s data and files go.
Ok whats “Program Files” then?
This is also where the application’s data and files go.
So my config file is in either one if those 4?
No thats in the “Documents” folder, obviously.Windows program data file structure has always been the wild west.
Don’t forget about the hidden ProgramData directory at the root of the file system. Ableton Live likes to install there for some ungodly reason.
Selects separate drive for install
Adobe: “Imma, pretend I didn’t see that”
Always remember,
C:\ProgramData
is the eqivalent of/etc
in Linux. If they don’t know where to put/hide shit, but needs admin priviliges to edit and users can only read, you put it inC:\ProgramData
.I think programdata is closer to /usr/lib or maybe /var/lib.
You almost never see config files in programdata.
Config files that are meant to be used as sane defaults for new user accounts, yes. Config files that are meant to be manually edited, no.
Besides, there are a lot of examples of configs that are saved in ProgramData, like, let’s say, registration info for proprietery programs (of course, this info needs to be shared amongst users, so your safest bet is ProgramData). Hidden by default, makes it perfect for storing everything the program is trying to hide from the user.
Don’t forget that there’s a hidden system junction at
C:\ProgramData\Application Data
that points toC:\ProgramData
. Because everyone loves loops in their filesystem. Of courseC:\Users\All Users
is also a junction toC:\ProgramData
. This kills updatedb in WSL.
Yeah, the Documents config file/dir pisses me off the most as well!
Game save data? No, my documents.
Application config files? Again, my documents.
Temporary documents I don’t care about keeping? Downloads, duh.
My actual documents? Desktop.
My desktop? Turned icons off because it was too messy.Just another day using Windows…
I have to say I love having no desktop. Something about watching my coworkers become dependent on it is neurotic.
Agreed. It’s much nicer to see your wallpaper than a mess of mismatched icons that may need to be occasionally clicked.
Same here. I don’t need icons, just press
Win
and type in the program. I just gotta pray for Windows to not open Edge and search in Bing.If you’re using Windows, you can get a much better experience by ditching the Microsoft start menu entirely.
Everything Search to index files and Flow Launcher for searching files and applications. You can even make it open when you press the windows key.
Or if you still want a start menu, Start11 is worth paying for to get away from Microsoft’s ad-ridden crapware they call the start menu. It even supports using Everything for showing file results.
Flow Launcher seems pretty cool. I’ll try it out. Thanks!
And Linux isn’t? There’s definitely not a central location either.
Agreed, but the number of places where to search for the config is not as big as in Windows. And there is the fact that most software is open source, so you could always check where the application saves it’s data.
System wide config for an application? Lets put that under C:\users*????
The setting you’re looking for could be in
appdata%
It could be inlocalappdata%
It could be inC:\ProgramData
. It could be in the registry. It could be in HKLM. It could be in HKCU. It could be in any of the userdirs. It could be in the application’s directory.HA! Joke’s on you, it was an envvar all along!
Or in /home/username/.applicationname/ if they want to be annoying.
This should be considered a war crime, and doubly so when they don’t even have the decency to prefix it with a dot (looking at you Golang). It’s my home folder, not a dumping grounds for random trash.
and snap
fuck snap
What does snap do to your home directory? I haven’t touched Ubuntu in a very long time
~/snap
Notice the lack of period. Users can’t change it.
They don’t have config files in Windows. Apps just throw things everywhere without rhyme of reason
Tell that to the file I just dropped in to ~/.steam/debian-installation/steamapps/compatdata/1086940/pfx
Docker: right where you chose to put it.
It still doesn’t apply to propritery software.
Sure it does! Throw that festering pile of garbage into a docker container and keep it away from everything important while bind mounting the arbitrarily-placed config directory in the container to something sane on the host.
Everyone knows the real power of configuration on Windows is regedit.
Let’s not pretend regedit is a good thing, it is littered with unreadable keys and has terrible UI and UX. And it requires root privileges to edit anything.
I believe one of the worst disservice Windows has done to secure computing is to make users desensitized about root privileges. Every single action you do need root privileges, install app, changing config, people would just click allow whenever UAC pops up…
This means any program can easily inject rootkit into Windows during install, without the users noticing a thing, like LoL.
As opposed to sudo command?
You don’t need to use sudo command that much on linux. I personally only need to use it to edit two config files when setting up my system, that is it.
One for pre-connection mac randomization, one to enable a kernel module I need, because my distro disable many of them by default. I am very conscious of the changes I am making. However on Windows, I have no idea what the app installers are doing.
Not to mention, most users don’t even need to make these changes. Per-network randomization is likely good enough for most user, and they probably not on a security-hardened distro which disables tons of kernel modules.
For a office work and entertainments, flatpak apps are more than enough. And developers can choose to get their sdk via flatpak or podman dev containers. None of them requires sudo.
Is there a good reason for a everyday user (not a tinker nor a system admin) to use sudo in linux?
Not sure what you’re doing there, but it’s pretty much every other command needs sudo here… Can’t even install updates without it.
Despite what developers do at the end of the day, there are conventions for application directories on every OS.
I just use the
directories
crate in Rust.Mozilla products:
“What is this .config folder you talk about?”
To be fair sometimes configs instead of XDG_CONFIG_HOME(~/.config) are stored in XDG_DATA_HOME(~/.local/share)
Linux is confusing for non IT people looking for program settings. It might be in share, local or config or hidden somewhere. On W 10 I just look under ProgramData. Maybe W11 is different. But Linux application devs need to agree on a single place. As users sometimes need to access it for plugins and resources.
I mostly saw them in ~/.config or /etc
~/.config
for local,/etc
for global.
You mean the 2 ProgramData folders? Altho who the hell puts config stuff there? Anyways, the 2 official settings apps, the 3 AppData folders and then the registry for every little thing Microsoft doesn’t want you to edit for whatever reason? And then the countless 3rd party config apps for every device aiming to make this process easier? Yea I totally don’t Google where to toggle stuff on windows as step #1, noo… And W11 just has a slightly better 2nd official settings app, so sadly not too different.
Also who the hell puts config stuff on Linux into /local or /share? It was always in ~/.config (personal) or /etc (system wide) from my experience.
Altho who the hell puts config stuff there?
Permanent configs that should be shared amongst users, yes. Like, for example, AnyDesk stores it’s ID and encrypted password there.
That horrifies me…
Don’t forget that appdata nowadays has 3 sub folders, local, locallow, and roaming.
Also there’s C:\programdata
Also some programs just store it in the user folder, the documents folder, or games/ my games folder if they are a game.
It could also be stored in the registry.
Oooh the registry is even more fun.
- HKLM, HKCU? These are statements dreamt up by the utterly deranged
- Store it in software, make your own root folder
- Also for 32 bit programs there wow6432node
- There’s also the policies section, but this kind of makes sense to have it split off
- Also make sure to follow the apple methodology of having multiple different key names like Apple, Apple inc., etc
%appdata%
Takes you to the roaming subfolder though
Most configs should be in the roaming directory, since you’d usually expect them to roam between computers on a domain. The local directory is only for stuff that doesn’t make sense to sync to other computers - things like caches, configs specific to that individual PC, etc.
Not that it matters for home users, as home users generally aren’t using Active Directory with roaming profiles.
Tell that to the developers. At this point I’m sure they are just rolling a dice to decide where they should put things.
This isn’t really accurate for either side. For Linux, I’ve had crap shove configs in ~, /etc, /var, at least.
On Windows, it could be literally anywhere or in the registry.
Or
~/.local/share/${software_name_or_whatever}
… Or~/.${software_name_or_whatever}/
Oof
Or
~/.config/software_name
.
That’s one thing I especially like about Flatpaks on the Linux side. Everything’s in ~/.var.
Which unfortunately also don’t follow xdg-dir specification…