For security reasons I would like to run CoH from an account with user privileges, that is, not an administrator. What follows below is a description of the issues with this and my solution to the problem.
For normal play I start the game with the "-project eucoh" trick which works just fine. When there's an update though... That is where the trouble starts.
As the default user isn't an administrator I have to run the CoHUpdater as a different user, no problem there (right click and "Run as Administrator"), the updater starts and here's the first gotcha, it asks for the game directory even though I've had the game several years using the same updater (no, I haven't had any of the difficulties described in the other thread about the updater).
What happended is that as all settings for CoH is stored in the user section of the registry the adminstrator account doesn't know which folder the game is stored in. Easy fix, just select the same folder as before and download the patch.
When the patch is downloaded I quit the updater and doubleclicked on my normal game icon (the one with -project eucoh) and the game starts just fine. Until I select server... Gotcha number 2, even though the patch was downloaded and installed correctly the game STILL thinks I'm running the old version. WTF? Ok, after some digging I found that the game version is also stored in the user section of the registry. Some manual copying of registry values (HKEY_USERS\S-X-X-XX-XXXXX\Software\Cryptic\EUCoh\CurrentVersion to be more exact) from the admin account to the user account and it all works again.
None of this would have been an issue if the updater was possible to run as a user and didn't require administrative rights. (All other MMO's I've tried can do this, why can't CoH?) Part of the problem here is that the updater must be called CoHUpdater.EU.exe if one would like connect to the EU servers. Vista and Win 7 detect the word "update" (stupid MS) in the filename and automatically assumes it needs admin rights and simply refuses to run it otherwise. US players can change the name as the US server cluster is default, us EU players don't have that luxury.
What can NCSoft do to help?
1) Stop using the user registry to store global information like game version and path. There are probably other information that shouldn't be user specific either but I haven't really looked into it.
2) Stop using the name of the updater executable to decide which server to connect to. Let us either select using a command line argument or pop up a dialog box with the choice. (Or even better, merge the server clusters, but that's a completely different issue)
Ok, this isn't as clear as I'd like it to be, but it's late.