Thomas Owens
Thomas Owens

Reputation: 116179

How do I install the D programming language into C:\Program Files?

The prompt says that if I install the software into a directory with spaces:

the rebuild build tool used by the D Shared Source System will fail to build

and that I will be

forced to reinstall in a different location

However, I don't like random things in my C:\ drive. D, IMO, belongs in Program Files with PHP and MinGW and so on. How can I get it here?

If it matters, I'm using the Easy D installer package.

Upvotes: 2

Views: 696

Answers (5)

Slapout
Slapout

Reputation: 3809

I have a C:\Dev folder on my machine for things like this. That way you only have one folder on the main directory and it stays unclutered.

Upvotes: 0

Matthew Scharley
Matthew Scharley

Reputation: 132294

You can also use NTFS Link to create junction points (symlinks for all intents and purposes) and hard links on NTFS file systems. The functionality is built into the NTFS drivers, but an interface was never implemented for it, presumably to avoid things like recursive directory structures (endless virus scan loops anyone?). This package exposes an interface to this functionality.

I'd then create a symlink from C:\Program Files\ to something like C:\ProgramFiles\, hence disposing with the problematic space. This means that anything added to one directory will be added to the other, because both directories point to the same place on disk.

More info on NTFS Junction Points.

Info on NTFS symlinks (Vista only, but doesn't need NTFS Link to be installed.)

Upvotes: 5

Michael Ratanapintha
Michael Ratanapintha

Reputation: 40587

You could try using the old DOS 8.3 name for the Program Files directory, although this solution is implementation- and locale-dependent, and thus somewhat deprecated. On most US English systems, the 8.3 name of the C:\Program Files directory is C:\PROGRA~1. So, instead of installing to "C:\Program Files\dmd", you'd install to "C:\PROGRA~1\dmd". Hopefully, the configuration files for the misbehaving programs won't know the difference.

Upvotes: 1

paxdiablo
paxdiablo

Reputation: 881653

I actually use a "c:\Programs" for situations such as this - quite a few applications don't work well in directories with spaces in them.

It doesn't cause confusion since it's different enough from "c:\Program Files" - earlier attempts used "c:\ProgramFiles" (without the space) but this was too similar.

Upvotes: 0

Greg Hewgill
Greg Hewgill

Reputation: 993403

You could install it into C:\Program Files, and then use the subst command to make it appear as a new drive letter:

subst x: "c:\program files\d"

Upvotes: 0

Related Questions