【问题标题】:Automatic building and installing Delphi components自动构建和安装 Delphi 组件
【发布时间】:2012-09-21 17:57:32
【问题描述】:

所以,我的 Delphi 组件可以正常工作,除了一些尚未涉及的细节。我想要的是创建一个设置(Inno setup),它会自动将我的组件安装到用户的 Delphi/C++ Builder IDE 中。我想我必须使用delphi命令行编译器,但是如何?

谢谢。

【问题讨论】:

  • 您是否为您的组件提供源代码(我想是的?)以及您的目标是什么版本的 Delphi?
  • 这将是我的第二个问题:我需要这个组件才能工作.. 任何地方(Delphi 和 C++ Builder),无论它们的版本如何。我可能还需要提供源代码?没问题,但是否可以不交付源并完成此安装?
  • 是的,您可以提供预编译的 DCU 文件,但您必须为每个 Delphi 版本提供不同的集合,并在 Release 和 Debug 中提供一个集合(针对每个各自的 Delphi 版本)。跨度>
  • 我是这么认为的……这太复杂了。好的,所以我将提供源代码。下一步是什么?
  • 我建议让您的 InnoSetup 向导检测安装了哪些版本的 Delphi,并针对该版本的 DPROJ 文件(用于包含您的组件的包)使用 MSBuild 来编译它。这会产生一个 .BPL 文件,您可以通过注册表简单地安装到 IDE 中。由于您的目标是 2006 年之前的版本,因此该建议现在不合适!

标签: delphi components vcl


【解决方案1】:

很遗憾,Delphi IDE 根本不支持自动组件安装。 IMO,这是非常大问题,因为组件架构在 Delphi 中非常重要。

您可以从命令行(使用 MSBuild 或 DCC)构建您的包,但您不能将它安装到 IDE。要安装您的软件包,您应该编写自己的安装程序来构建您的软件包、复制编译的文件并更新 Windows 注册表。请注意,没有官方文档如何编写这样的安装程序,但您可以以 Jedi (JVCL) 安装程序代码为例。

还有一些第三方工具可以自动安装组件,例如“lazy builder”,您可能会感兴趣。

【讨论】:

  • 顺便说一句,Lazy Delphi Builder,使用来自 JCL 的代码来读取 Delphi 设置、编译和安装组件。
【解决方案2】:

这不是太难,只是有点乱。您需要为每个要定位的 Delphi 版本编译一个 BPL,然后您的安装程序将此 BPL 放入您选择的文件夹中(通常是用户、公共等)。然后,此文件夹位置将作为注册表项写入相关的 Delphi Installed Packages 节点下。当您运行 Delphi 时,您的组件看起来就像您使用了手动安装包选项一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 2016-08-22
    • 2015-03-16
    • 2016-10-23
    • 2018-06-27
    • 1970-01-01
    • 2016-06-02
    相关资源
    最近更新 更多