3 ms·
By default, Program Files is not writable by non-Administrators. This is likely done by some background service. Or they loosened the default file permissions (
by schmuckonwheels 9mo ago
By default, Program Files is not writable by non-Administrators. This is likely done by some background service. Or they loosened the default file permissions (which would be dumb).
No reason this can't be done on Linux but since NT's security model is more flexible it's a lot easier to do so on Windows. You'd need to add dedicated users. (Running a Steam daemon as root would probably cause an uproar.)
- Dylan16807 9mo agoThey loosen the permissions on the steam folder on windows. I would have expected just the library folder but apparently it's the whole thing.
- schmuckonwheels 9mo agoOof. The correct location for this is C:\ProgramData Developers who knowingly reduce or disable default Windows security settings should be censured. Because in 99% of cases it is due to ignorance or plain laziness.
- Dylan16807 9mo agoWell ProgramData didn't exist when they designed it, and the crime of putting their folder in the wrong place is a pretty minor one. They don't change the permissions of anything outside Steam. It doesn't "reduce or disable default Windows security settings" in a meaningful way if you say to yourself "that folder effectively is in ProgramData, but spelled wrong".
- schmuckonwheels 9mo agoCSIDL_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.
- Dylan16807 9mo agoBack 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.
- Sleaker 9mo agoAnd steam was originally released to be compatible with Windows 98. windows 2000 wasn't widely used as a consumer installed OS.
- schmuckonwheels 9mo ago> 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.
- Sleaker 9mo agoAbsolutely 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.
- Brybry 9mo agoSteam'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.steampowered.com/support/HTML/System_Req.html https://web.archive.org/web/20020605222619/http://www.steamp...
- schmuckonwheels 9mo agoSo 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?
- immibis 9mo agoReally? Programs installed by non-administrators should go in ProgramData? The actual solution, which remains both compatible and consistent with the security model, is that you should have to be administrator and pass UAC to install a game, just like you do to install anything else.