Prior to Vista and Win7, I would have recommended Suzaral's approach of putting it in "Program Files" by default. However, given MS' apparent opinion that only their "programs" need to modify anything in "Program Files" once installed, I would no longer recommend that. I have for more than 20 years advocated installing everything that will permit it to another "Apps" partition, for many reasons I won't bore you with here. Vista+ are just further instances validating that reasoning.
In this case, I would suggest your "default" location be to it's own directory next to and on the same level as "Oblivion". (I don't see any issues with still putting the uninstaller in "Common files".) Isn't that what most of us do with other "tools" for Oblivion that shouldn't be under the game folder? You might check for an existing folder at that level with "Tools" in the name and put it under that.
As for "how should it operate": explain a "local" versus "global" choice, with your interpretation of each path as you have discovered it as examples. Provide the installer a default location with a "browse folders" capability so they can navigate to their desired location. Perhaps a radio button for "local" versus "global" to set the default in the navigation window.
Please do not make the mistake of assuming everyone puts everything on drive C.
-Dubious-
OK, here are some examples of what I'm talking about.
A local install:
C:\Program Files\Oblivion\Oblivion.exe
C:\Program Files\Skyrim\TESV.exe
C:\Program Files\Oblivion\BOSS\BOSS.exe
BOSS will only ever see Oblivion.
A non-local install:
C:\Program Files\Oblivion\Oblivion.exe
C:\Program Files\Skyrim\TESV.exe
C:\BOSS.exe
BOSS will see both Oblivion and Skyrim, and you can choose which it runs for each time it runs. I will also be adding a setting that lets you choose a default game to run for when there are several options, bypassing the startup selection. There will also be a GUI menu for changing the game it is running for after startup, selecting from a list of autodetected games.
I think that if a user has
- Only one supported game installed: BOSS's installer installs BOSS locally for that game by default.
- More than one supported game installed: BOSS's installer installs BOSS non-locally by default.
- None of the supported games installed: BOSS's installer should provide a blank editable path for the user to select an install location.
All paths would be editable and have a folder selector dialog, as is normal. For comparison, the installer currently displays a path for each game detected, plus a blank "Other" path, to install to.
For the default non-local path, I was thinking that putting it on the same level as the "Oblivion" folder would be good (so default non-steam is "C:\Program Files\Bethesda Softworks\BOSS\BOSS.exe" and default Steam is "C:\Program Files\Steam\steamapps\common\BOSS\BOSS.exe". However, what if the user has non-Steam Oblivion and Steam other games? Which location should be chosen? Neither really makes any more sense than the other IMHO.
So, how about if BOSS were installed to the My Games folder? That avoids UAC, at least. The alternative would be to have a folder in Program Files, eg. "C:\Program Files\BOSS\BOSS.exe" and somehow work around the UAC issue (perhaps I can grant full control to the user via the installer?). I can't see how anything else would make sense.
Oh, and although I've used C:\Progam Files a lot, the actual default paths would be detected via registry, so if you're using a different drive then it would change to accommodate.
---------------------------------------------------------------------------------------
On a separate but related note, the installer has a "Choose Components" page. I'm inclined to get rid of this: it is useful for customising what is installed, but there is a manual install version and I reckon that most people who want customisation would use that, and people who use the installer are more interested in just getting it installed.
Am I wrong?