Joined: Thu Jan 11, 2007 7:08 am
1)Do not install Gametap/MO:UL (standalone) in your "C:\Program Files" basically Vista in an effort to improve security have stopped applications from writing data in that folder.
I'd like to expand on this a little bit. In Windows, applications are never supposed to write data to the "Program Files" directory. I believe it was a guideline for the "Windows 2000 logo program" that apps need to store data in other places (the user's profile or the "all users" profile for data that is not user-specific).
On Windows 2000 and XP, standard users (and the programs they run) are not allowed to write any files under Program Files. The reason it's never appeared to be a problem until now (Vista), was that the majority of users (except for corporations that locked down their computers) ran not as standard users but as administrators all the time.
It's a vicious cycle--people run as administrator because their apps don't work right otherwise; application developers don't write their apps properly because everyone runs as admin (including the developers themselves in many cases). It's an unfortunate byproduct of the popularity of Windows 9x, where there was no security at all and everyone was always an administrator.
Vista changes things. Even if your Windows user account is an adminstrator, it treats it as a standard user, until you do something that requires administrator privileges. At that time it prompts you to confirm the action (so it knows *you* want to do it, versus some email attachment that you just clicked).
That puts games in an interesting place, since they frequently need to update themselves--not just data, but their executable files.
You'll find most games won't work from that folder and if they do any changes they make Windows Vista WILL UNDO.
What's happening is called virtualization. If the game tries to create a new file underneath Program Files, Vista will take it and put it in a special place (one that the user has permission to write to), but makes the program think that the write succeeded in its original location. Any subsequent attempts to read the file will actually read the "virtualized" file. This works well for simple apps that write out a few configuration files, but for something as massive as GameTap/Uru, I don't see it working too well at all. Plus, it won't work to update the already-existing program files.
Note that virtualization is just in Vista. If you are a standard user on XP, and the app tries to write a file in Program Files, it will simply fail.
Personally, I have been running as a standard user on my XP machine since I got it 4 years ago. Here are the steps I followed when I installed GameTap:
1. I start off logged into my main account which is a standard user
2. Launch the GameTap installer from an Administrator account, by right-clicking on it and choosing "Run As"
3. Install GameTap to C:\GameTap
4. After it is installed, run GameTap itself as an Administrator by using Run As on the GameTap shortcut
5. From there, download and install Uru. (The physics engine, possibly among other things, requires Administrator access to install.)
6. After Uru is installed, quit Gametap
7. At this time, GameTap and Uru are installed, but only administrators can modify those files. Since GameTap & Uru update themselves, I need to give my standard user permission to modify those files, in the next steps:
8. Open an Administrator Command Prompt by using Run As on the Start Menu > Accessories > Command Prompt shortcut
9. Type "cd c:\GameTap"
10. Type "cacls . /T /E /G BUILTIN\Users:F" -- this gives all standard users on my machine full access to modify every file under C:\GameTap.
If you have XP Professional, or Windows 2000, you can replace steps 8-10 with the following:
8. Log into Windows as an administrator
9. Right-click on the GameTap folder, choose Properties, and go to the Security tab
10. If "Users" is listed in the "Group" list on top, select it.
11. If not, click "Add...", type Users in the box that appears, click OK. This will add it to the Group list.
12. Click the "Allow" check box next to "Full Control" and click OK.
I have XP Home, which doesn't have the Security tab, so my only option is the cacls command.
Now, when I use GameTap/Uru on a daily basis, I do it from my standard user account and everything works fine.
But this isn't a good solution for the masses, especially with Vista on the way and everyone being a standard user. Hence, the importance for all software developers to analyze their apps' behavior under standard user accounts, and make the changes necessary to make it a smooth user experience.