Windows Administrator vs. Games

I’ve been tearing my hair out with frustration, and ranting (unfairly) at my neighbours and colleagues about this: Why should anyone need to be an administrator of a machine to run an application or game – especially the games?!

I recently spent some time rebuilding my neighbour’s PC and locking it down so that SpyWare, Tojans, Viruses, etc would virtually be a thing of the past for them … Until their 7 year old daughter wanted to play the latest Barbie game. A game that included the “Designed for Windows XP” logo on the box. Sure, it had to be installed as an administrator and I can accept that. But why on earth would you require the 7 y.o. to be an admin just to play a Barbie game???

A quick check with FileMon and RegMon (from SysInternals) showed that write access was required to the /Program Files/Mattel/blah/blah/blah directories. Since XP Home doesn’t allow GUI editing of ACLs unless you boot into safe mode, a quick refresher course in ‘cacls.exe’ was required – during which I stumbled across Microsoft’s updated XCacls.vbs which handles permissions inheritance correctly for the first time. After allowing “Users” modify access to the application folder, the game ran perfectly as a non-privileged user. Modify access to the executable directory is obviously less than perfect, but an acceptable compromise without re-writing the game to use a separate “Save” location.

Which brings me to my point – Windows 2000 has been out for 5 years; Windows XP for 4 years. Why is software still being written this way? It would be SO easy for them to place all the data that needs to be modified (save games, logins, profiles, etc) in a separate location and modify the security of that location during install (worst case scenario: run cacls.exe with the appropriate options).

To make matters worse, even Microsoft does this wrong … ❗ 👿

And don’t you Mac OS nuts think you get to skite – Every Mac game we’ve bought for Sebastian has exactly the same problem! I was liking Mac OS so much until that. If I have to put up with crap coding, it might as well be on a platform I’m familiar with…

Thanks to Geek Rant for reminding me that I needed to vent about this. 😉