14

What we would like to do is install multiple Delphi versions on the same machine, those versions are D7, D2010 and DXE.

We had previously D7 and D2010, worked OK together(had to duplicate components for D7 and D2010 because of special conditions for various versions), however, I'm not sure about XE, hence the question.

Of course we could experiment, but that means wasting quite a few hours, so if someone already had made a similar setup or actively have, can you please share you experience?

EDIT1:

The D7-D2010 install was performed in chronological version order:

  • D7 + updates
  • D2010 + updates
  • 1
    duplicate of many, including this one: http://stackoverflow.com/questions/1382362/installing-rad-studio-2007-and-rad-studio-2010-in-same-machine/1382458#1382458 – Argalatyr Mar 14 '12 at 12:39
  • @Argalatyr that question is not related to XE, so, there's a pretty big chance that D2010 and XE would have been problematic, at least that's how I've seen it, that's why I've asked. –  Mar 14 '12 at 13:47
  • If you look at the answer to that question (this is actually a FAQ about Delphi) it's always been true that sequential installation works. Based on prior versions there's NO reason to think that 2010+XE would've been a problem. – Argalatyr Mar 14 '12 at 22:19
  • @Argalatyr I'm sorry, I would like to agree with you, it's just that new versions can also introduce bugs, there's a small chance, but I would hate to spend half a day to get stuff done and at some point stuff starts to break, Nick's answer is 4 years old, it doesn't cover XE, for all we know, a new version of Delphi could break an older version IF the registry is not saved correctly to the new version path or read incorrectly from a different version. –  Mar 15 '12 at 06:08

5 Answers5

19

I've had no trouble ever installing many different versions of Delphi on the same machine. It's a well supported configuration because, for example, component vendors need to be able to test all versions that they support.

You can use one VM per Delphi, but you can equally well put all the versions of Delphi on the same machine.

When I put multiple Delphi versions onto a single machine I make sure that no version of Delphi is in the system PATH. Then when I do automated command line builds I add to the PATH at the start of the build script. That way I am sure I always get the desired version.

David Heffernan
  • 572,264
  • 40
  • 974
  • 1,389
  • +1 thank you David, I was hoping for THIS answer! ultimately this is what I want to achieve, can you please tell me on what windows version have you installed all? I'm hoping for a W7 answer (: –  Mar 14 '12 at 08:16
  • accepted David's answer because I feel it's more complete, thank you again! –  Mar 14 '12 at 09:46
  • Just FYI, if you upgrade to XE2, you'll get access to the previous Delphi versions (7, 2007-XE) automatically. They seem to co-exist nicely. Don't even ask about why the 2006 version isn't included. – Dean Roberson Mar 14 '12 at 12:07
  • 1
    @DeanRoberson: you know people are going to ask when you tell them not to ask. So to answer that now before anyone asks, 2006 is not included because it had some components in it whose licenses have expired and thus they cannot be distributed anymore, and it would be too much effort for Embarcadero to create an updated ISO with them taken out. – Remy Lebeau Mar 14 '12 at 16:59
7

It should work fine. I haven't tried your exact combination, but I'm running 7 and XE at home, and 2007 and XE2 at work. No problems.

However, you might think about putting the different versions on virtual machines, so you keep them (and all their components) separated, not risking to kill the configuration for one project when you change another.

You should be careful and always install Delphis in the chronological order, older releases first.

gabr
  • 25,979
  • 8
  • 71
  • 137
GolezTrol
  • 109,399
  • 12
  • 170
  • 196
  • +1 thank you for your answer, currently we have different VM's, but the problem is that we got to a pretty big number of VM's and it requires more hassle, so we're trying to put Delphi IDE's in 1 VM and Visual Studio in another VM, etc. –  Mar 14 '12 at 08:10
  • @gabr thank you for the update, that's an important aspect that I almost forgot, in D7-D2010 install I've installed in order, but forgot about it (: –  Mar 14 '12 at 08:13
  • 1
    I have one VM with D7 through XE2, all working. Installing order (oldest first, newest last) is important. – Ondrej Kelle Mar 14 '12 at 08:13
  • @gabr Thanks for the addition. That is indeed really important! – GolezTrol Mar 14 '12 at 08:16
  • in fact you can install in any order – David Heffernan Mar 14 '12 at 08:16
  • Yes, Windows 7 Ultimate 32-bit. I also have another working setup with Windows 7 Ultimate 64-bit, with XE and XE2 installed. – Ondrej Kelle Mar 14 '12 at 08:20
  • 1
    @DavidHeffernan Yes, definitely you can but there may be minor tweaks necessary, like the order of directories in your `PATH` environment variable, some registry entries (for JIT debugger?), I don't remember the details anymore. Oldest to newest is easier, IIRC. – Ondrej Kelle Mar 14 '12 at 08:23
  • 2
    @tondrej best practice is to remove all traces from path so that you remain in control – David Heffernan Mar 14 '12 at 08:24
  • Does it mean each time when I try to compile Delphi7 project, I should put back the Delphi7 PATH variables; do the same for XE?? – RRN Jan 15 '13 at 12:50
  • @RRN No. Why do you need to add Delphi dirs to the PATH at all? – David Heffernan Jun 24 '14 at 06:13
5

You can run every version of Delphi from 7 to XE2 side-by-side without any problems. I'm doing this on my main dev machine here, as well as my clean dev VM.

Just be sure that you install last the Delphi version that you wish to be the default when the shell opens a Delphi project or Pascal unit.

David Heffernan
  • 572,264
  • 40
  • 974
  • 1,389
LaKraven
  • 5,676
  • 2
  • 21
  • 49
  • Order does not matter at all. Install any version last. – David Heffernan Mar 14 '12 at 08:26
  • 1
    @DavidHeffernan... it's a good idea to install the latest version last simply to ensure that the default version used when the shell opens a Delphi project or Pascal source unit is the newest. – LaKraven Mar 14 '12 at 08:30
  • +1 but David is right, I'm going to remove stuff from Path so that we always have control of which compiler we call from scripts –  Mar 14 '12 at 08:34
  • @LaKraven You can just do a repair on the version you want associates in the shell. This whole order thing is an urban myth. – David Heffernan Jun 24 '14 at 06:14
1

Specific different folders for all paths in all installations and it should work.

For example \Delphi XE1 \Delphi XE2

or simply use Rad Studio 14.0\ and so forth.

Just make sure common files and documents and stuff like that goes into Rad Studio 14.0 as well.

So have one main folder for each delphi version and make sure the installer installs everything into that main version folder.

Skybuck Flying
  • 233
  • 2
  • 13
-1

Since I have started using XE3, I have had a nuisance problem where sporadically while compile and linking, an error would occur stating that the EXE could not be written because it already existed (i.e. it could not overwrite the existing EXE). I always ran Delphi7 and XE3 at the same time since I have large projects I maintain for both. One day I was really having the problem often and it was driving me crazy so I started trying things. One of those was to not run Delphi7 when running XE3 which turned out to be the culprit. I was also getting random breakpoints when loading projects with XE3, and that problem was solved as well.