Steam – Team Fortress 2 won’t install on custom location


Possible Duplicate:
Why can’t I install TF2 in a non-default game library location?

I am running a system with one 128GB SSD (used for my system and programs installed) and a couple of HDD's (for everything else, including games since these would fill up my tiny 128GB disk otherwise).

I do however have steam installed in C:\Program Files (x86)\Steam\ since I do try to keep programs there (more semantic and saves a lot of problems in general).
I keep my games installed in D:\Steam.

Usually when I install a game via steam I can choose where to install it (I'm fairly new to gaming/steam but have so far done this successfully to Magicka and Planetside 2, which are both located in D:\Steam\SteamApps\common). However when I try to install TF2 it doesn't give me the option to install in a custom location, it just says:

You are about to install Team Fortress 2.

Disk space required: 10616 MB

Disk space Available: 54379 MB

Next> | CANCEL

The available disk space indicates my C drive, and I have tried installing it and it does install on the C drive.

It might be worth mentioning that I did have TF2 installed about a year ago when I used an HDD as system drive, there for installing TF2 in the standard Steam directory (C:\Program Files (x86)\Steam\SteamApps).

Another thing that bothers me is that when I tried to install TF2 in the standard directory it didn't make a folder inside the SteamApps directory like my other installations but ended up in a bunch of different files laying around in the SteamApps directory. Hm.

I want TF2 to be installed in D:\Steam\SteamApps\ like my other games. Any ideas on how to fix this?

Best Answer

You can do it the old-fashioned way by using the mklink command. Before steam introduced multiple 'Game libraries' this was the only way to get steam to install games on other hard drives.

Quick explanation of mklink

The syntax of the mklink command is

mklink /D <link> <source>

  • Where source is where the steam files are, and link is where you want steam to think they are
  • /D tells mklink to create a Directory Link, instead of a File link.

How I moved my entire Steamapps folder to my D drive

  • Shutdown Steam, navigate to the steam directory, and cut steamapps to another hard drive, say D:\Steam\steamapps. (this may take a while).
  • Using Command Prompt, Navigate to the Steam directory. For example

    cd "C:\Program Files (x86)\Steam"

  • Using the mklink command, create a Directory Symbolic Link to point to the new steamapps folder.

    mklink /D "steamapps" "D:\Steam\steamapps"

If you go into your steam directory, you'll see what looks like a shortcut to the steamapps folder. Navigating into it, Explorer still thinks you're under the C: directory. However, all the data is now in the D: directory.

I don't know how steam handles having two Game libraries point to the same location (effectively this is what we're doing here). you may need to remove the D: drive's game library first (cutting out the game files first, and merging them back in after), or just choose another folder location.