7

I have a SSD as my primary (C:) drive, mainly used for quickly loading games.

It's pretty small (~30 GB) so I want to keep things that don't really need a speed boost off of it. I attempted installing the Visual Studio 2010 Express beta last night, and it claimed to require 2.1 GB of space so I changed the install directory to a secondary, non-SSD drive.

After this, the installer said that it would use 1.8 GB on C: and ~200 MB on the secondary drive.

While this token gesture of moving 1/10 of the app to the place I told it to is cute, I really want to install everything I can to the secondary drive.

Is there any way to install all of Visual Studio 2010 Express to a drive besides C:?

slhck
  • 235,242

4 Answers4

6

No, much of what VS installs (regardless of version) goes into subdirectories in your Windows folder: things such as the .NET frameworks, shared files, etc. So if you installed Windows to the C: drive, VS has to install much of it's core there as well.

BBlake
  • 5,218
5

Kind of.

The setup DVD contains a file Setup\baseline.dat. This is a large text file which stores information on where to install large chunks of the software.

You need to edit the text file and change the lines which say

DefaultPath=[ProgramFilesFolder]\VC\

...

DefaultPath=[ProgramFilesFolder]\Microsoft Visual Studio 10.0

...

DefaultPath=[ProgramFilesFolder]\Microsoft Visual Studio 10.0\Common7\IDE

to the following

DefaultPath=D:\Applications\VS2010\VC\

...

DefaultPath=D:\Applications\VS2010\Microsoft Visual Studio 10.0

...

DefaultPath=D:\Applications\VS2010\Microsoft Visual Studio 10.0\Common7\IDE

That will get most of the stuff off C.

This also works with VisualStudio 2005/2008 and the Express Editions. I've been using this trick for years and never encountered a problem.

n.B: Some parts of the installer also use locations such as DefaultPath=[WindowsFolder]\assembly. You can edit these in the same way to free up even more space, but I can't guarantee this won't break things. Obviously if you're installing from a DVD/iso you need to copy the entire contents of the DVD to a folder before editing baseline.dat, otherwise it will be read-only.

1

There are two ways. The easiest is just to install to C and then move the big folders over to your D drive and set up an NTFS junction to link the old location (on C) to the new one (on D).

If your SSD is so small that you cannot do that, then make the folders on your D drive first, then the junction from C to D and then install the program (pointing to the "folder" on C).

The installer will probably complain the the folder you are trying to install to already exists but most will happily continue anyway.

http://support.microsoft.com/kb/205524

Richard
  • 6,420
0

I got a similar problem in Windows XP and found my own solution:

1) In c:\Program Files create manually by yourself all the folders that the VS2010 installation must create for you. This includes at least these folders:

i. c:\Program Files\Microsoft SDKs ii. c:\Program Files\Microsoft Visual Studio iii. c:\Program Files\Reference Assemblies iv. c:\Program Files\Microsoft Visual Studio 9.0

Since these folders are now empty, you can actually mount a logical disk drive on each of them. This effectively increases the size of the C:.

2) Install any additional hard disk and create an extended partition on it. Creates 4-5 logical disk drive on that extended partition. Then in Windows control Panel you can mount these logical disk drive onto the above folders. Now you should got enough disk space for your VS2010 installation.

3) It seems that we cannot use the above approach for the main program installation folder ie. c:\Program Files\Microsoft Visual Studio 10.0. But we can just tell the VS installer to use d:\Program Files.

In addition, Sysinternals got a 'junction' utility allowing one to create symbolic links in Windows Xp to link some folders e.g. c:\Program Files\Microsoft SDKs to say d:\Program Files\Microsoft SDKs. This may be another solution in addition to mounting a logical disk to the folders.

JavaMan
  • 437