If you cannot find a way to get it to install to a different directory, try this:
Symbolic links are a good solution to hosting games on a hard drive that is not your primary drive. They are similar to creating shortcuts, but the difference is that Windows will see them as actual paths, not shortcuts.
C:\ is my primary drive. Windows is installed on this drive.
I create a symbolic link (very similar to a shortcut) at 'C:\Battlefield 1942' which points to 'E:\Battlefield 1942'. Now, I can install Battlefield 1942 to 'C:\Battlefield 1942', and as far as Windows is concerned, that is where it is installed. But, the files are actually kept on 'E:\Battlefield 1942' since that is where the symbolic link points to!
The command for this would be:
mklink /D "C:\Battlefield 1942" "E:\Battlefield 1942"
For this command to work, the target ("E:\Battlefield 1942") must exist, and the link ("C:\Battlefield 1942") must not exist before the command is executed.
If you already have your application installed at the C:\ directory, you could copy it over to the E:\ directory (while it isn't running), and then delete the empty C:\ folder before executing the command. The folder will be created again.
You can execute this from windows command line. In Windows 7, just type 'cmd' into the search bar within the Start menu and press Enter to open the command line. In Windows XP, go through Start menu, click 'Run' and then enter 'cmd' for the parameter and press Enter!
I only used the name 'E:\Battlefield 1942' as an example, you could name this whatever you want. 'E:\games\bf1942' would work as well, or whatever other path/name you wish to give it.
This method is extremely effective when your primary hard drive is a solid state drive without much space, but you want your installed applications to be seen on the primary drive.