← Back to context

Comment by schmuckonwheels

6 days ago

CSIDL_COMMON_APPDATA is the API call to get this special folder which has been around since <checks notes> Windows 2000, 26 years ago.

You should never hardcode the path since it can and has moved around, though MS has implemented hard links to legacy paths because most developers are stupid and against persistent better advice do it anyway. I've seen multi-million dollar software packages whose vendor requires it to be writable by "Everyone".

Steam was first released in 2003, three years later.

For 80% of grievances about Windows, there is likely a solution in place that no one knows about because they didn't read the documentation.

Steam's original system requirements in the 2002 beta included Windows 98. [1]

They didn't stop advertising Win98 support until sometime in early 2007.

Granted, Steam back then was a different creature than Steam now.

[1] https://web.archive.org/web/20020605222619/http://www.steamp...

  • So you're saying they've had 18+ years to remove legacy cruft put in there to support a nearly 28 year old legacy OS that had no real multi-user support and basically zero security?

    • Moving away from Program Files would cost far more than it's worth - it'd cause lots of issue for a massive amount of users and be of very little value for others, when the only practical issue with the Steam folder being in Program Files right now is people going "oh I didn't expect that directory to be writable I guess" which is not something worth spending a bunch of time orchestrating a massive transition over.

      3 replies →

And steam was originally released to be compatible with Windows 98. windows 2000 wasn't widely used as a consumer installed OS.

  • > windows 2000 wasn't widely used as a consumer installed OS

    But Windows XP, which came out in 2001, inherited everything from Windows 2000 and more, and was used extensively for gaming.

    • Absolutely and first iterations of steam hardware survey showed mostly XP users, but still 5-7% win 98 install base, which they maintained compatibility with for quite a while, that's just to say that I can see why they might not have used those specific windows APIs at the start.

Back when it was actually AppData in the user documents folder, that doesn't seem like the right place to install many gigabytes of games.

And it's the same permissions either way. This isn't about permissions, it's about where they put the folder.