【问题标题】:Multiple Delphi versions on the same machine同一台机器上有多个 Delphi 版本
【发布时间】:2012-03-30 16:09:39
【问题描述】:

我们想做的是在同一台机器上安装多个 Delphi 版本,这些版本是 D7、D2010 和 DXE。

我们之前有 D7 和 D2010,一起工作正常(由于各种版本的特殊条件,不得不为 D7 和 D2010 复制组件),但是,我不确定 XE,因此问题。

当然我们可以进行实验,但这意味着要浪费好几个小时,所以如果有人已经做过类似的设置或积极进行过类似的设置,你能分享一下你的经验吗?

EDIT1

D7-D2010 安装按版本时间顺序执行:

  • D7 + 更新
  • D2010 + 更新

【问题讨论】:

  • 许多重复,包括这个:*.com/questions/1382362/…
  • @Argalatyr 这个问题与 XE 无关,所以,D2010 和 XE 很有可能会出现问题,至少我是这么看的,这就是我问的原因.
  • 如果您查看该问题的答案(这实际上是关于 Delphi 的常见问题解答),那么顺序安装始终有效。根据之前的版本,没有理由认为 2010+XE 会成为问题。
  • @Argalatyr 对不起,我同意你的观点,只是新版本也会引入bug,几率很小,但我讨厌花半天时间去弄东西完成并且在某些时候开始出现问题,尼克的答案是 4 岁,它不包括 XE,据我们所知,如果注册表未正确保存到新版本,新版本的 Delphi 可能会破坏旧版本路径或从其他版本读取不正确。

标签: delphi delphi-7 delphi-2010 delphi-xe


【解决方案1】:

我在同一台机器上安装了许多不同版本的 Delphi 没有任何问题。这是一个得到很好支持的配置,例如,组件供应商需要能够测试他们支持的所有版本。

每个 Delphi 可以使用一个 VM,但同样可以将所有版本的 Delphi 放在同一台机器上。

当我将多个 Delphi 版本放到一台机器上时,我确保系统 PATH 中没有任何版本的 Delphi。然后,当我进行自动命令行构建时,我会在构建脚本的开头添加到 PATH。这样我就可以肯定我总能得到想要的版本。

【讨论】:

  • +1 谢谢大卫,我希望得到这个答案!最终这就是我想要实现的目标,你能告诉我你安装了什么Windows版本吗?我希望得到 W7 的答案(:
  • 接受了大卫的回答,因为我觉得它更完整,再次感谢您!
  • 仅供参考,如果您升级到 XE2,您将自动访问以前的 Delphi 版本(7、2007-XE)。它们似乎很好地共存。甚至不要问为什么不包括 2006 版。
  • @DeanRoberson:当你告诉他们不要问时,你知道人们会问。因此,现在在任何人问之前回答这个问题,2006 不包括在内,因为其中有一些组件的许可证已过期,因此无法再分发它们,对于 Embarcadero 来说,创建一个更新的 ISO 并将它们取出来会花费太多精力.
【解决方案2】:

它应该可以正常工作。我没有尝试过你的确切组合,但我在家里运行 7 和 XE,在工作中运行 2007 和 XE2。没问题。

但是,您可能会考虑将不同的版本放在虚拟机上,这样您就可以将它们(以及它们的所有组件)分开,而不会冒险在更改另一个项目时终止一个项目的配置。

您应该小心并始终按时间顺序安装 Delphis,先安装旧版本。

【讨论】:

  • +1 谢谢你的回答,目前我们有不同的虚拟机,但问题是我们有相当多的虚拟机,这需要更多的麻烦,所以我们试图把 Delphi IDE 在 1 个 VM 中,Visual Studio 在另一个 VM 中,等等。
  • @gabr 感谢您的更新,这是我差点忘记的一个重要方面,在 D7-D2010 安装中我已经按顺序安装了,但是忘记了(:
  • 我有一台带有 D7 到 XE2 的 VM,一切正常。安装顺序(最旧的在前,最新的在后)很重要。
  • @DavidHeffernan 是的,当然可以,但可能需要进行一些小的调整,例如 PATH 环境变量中的目录顺序,一些注册表项(用于 JIT 调试器?),我不知道记住细节了。 IIRC,从旧到新更容易。
  • @tondrej 最佳做法是从路径中删除所有痕迹,以便您保持控制
【解决方案3】:

您可以并行运行从 7 到 XE2 的所有 Delphi 版本,而不会出现任何问题。我在这里的主要开发机器以及干净的开发 VM 上执行此操作。

请确保您最后安装了您希望在 shell 打开 Delphi 项目或 Pascal 单元时作为默认版本的 Delphi 版本。

【讨论】:

  • 顺序根本不重要。最后安装任何版本。
  • @DavidHeffernan... 最好最后安装最新版本,以确保 shell 打开 Delphi 项目或 Pascal 源单元时使用的默认版本是最新的。
  • +1 但 David 是对的,我将从 Path 中删除一些内容,以便我们始终控制从脚本调用的编译器
  • @LaKraven 您可以只修复您希望在 shell 中关联的版本。这整个秩序就是一个城市神话。
【解决方案4】:

为所有安装中的所有路径指定不同的文件夹,它应该可以工作。

例如\Delphi XE1 \德尔福XE2

或者干脆使用 Rad Studio 14.0\ 等等。

只要确保通用文件和文档以及类似的东西也进入 Rad Studio 14.0。

因此,每个 delphi 版本都有一个主文件夹,并确保安装程序将所有内容安装到该主版本文件夹中。

【讨论】:

    【解决方案5】:

    自从我开始使用 XE3 以来,我遇到了一个令人讨厌的问题,在编译和链接时偶尔会出现一个错误,指出无法写入 EXE,因为它已经存在(即它无法覆盖现有的 EXE)。我总是同时运行 Delphi7 和 XE3,因为我为这两个项目都维护了大型项目。有一天,我真的经常遇到这个问题,这让我发疯,所以我开始尝试一些事情。其中之一是在运行 XE3 时不运行 Delphi7,这被证明是罪魁祸首。在使用 XE3 加载项目时,我也遇到了随机断点,这个问题也得到了解决。

    【讨论】:

      最近更新 更多