Multiple Delphi versions on the same machine
Asked Answered
D

4

16

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
Disendow answered 14/3, 2012 at 8:1 Comment(4)
duplicate of many, including this one: #1382862Trifling
@Trifling 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.Disendow
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.Trifling
@Trifling 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.Disendow
N
20

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.

Nocti answered 14/3, 2012 at 8:14 Comment(4)
+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 (:Disendow
accepted David's answer because I feel it's more complete, thank you again!Disendow
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.Sharika
@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.Salute
D
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.

Deadlight answered 14/3, 2012 at 8:8 Comment(10)
+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.Disendow
@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 (:Disendow
I have one VM with D7 through XE2, all working. Installing order (oldest first, newest last) is important.Vandal
@gabr Thanks for the addition. That is indeed really important!Deadlight
in fact you can install in any orderNocti
Yes, Windows 7 Ultimate 32-bit. I also have another working setup with Windows 7 Ultimate 64-bit, with XE and XE2 installed.Vandal
@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.Vandal
@tondrej best practice is to remove all traces from path so that you remain in controlNocti
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??Neubauer
@Neubauer No. Why do you need to add Delphi dirs to the PATH at all?Nocti
E
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.

Elielia answered 14/3, 2012 at 8:25 Comment(4)
Order does not matter at all. Install any version last.Nocti
@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.Elielia
+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 scriptsDisendow
@Elielia You can just do a repair on the version you want associates in the shell. This whole order thing is an urban myth.Nocti
U
-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.

Utopia answered 26/7, 2014 at 23:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.