【发布时间】:2011-07-07 04:22:23
【问题描述】:
我正在寻找一个优雅的解决方案,如何准备 IDE 和构建 Delphi 2010 项目的脚本。目前,我可以为这个项目创建一个自定义注册表项,在启动 IDE 之前将必要的已知包添加到注册表中,但大多数设计时包都需要运行时包,并且在加载 IDE 期间(或在安装中选择包时)出现错误包窗口)。
将所有运行时包移动到 $(BDSCOMMONDIR)\Bpl 是可行的,这是 Delphi 在搜索包依赖项时似乎唯一的地方。是否可以强制 delphi 在任意多个位置查找包依赖项?在下面的示例中,这些位置是:$(Projects)\Delphi2010\CommonControls\bpl\ 和 $(ExternalComponents)\Delphi2010\DevExpress\Library\Delphi14。
我使用的注册表文件是:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\CodeGear\ProductName\7.0\Disabled Packages]
[-HKEY_CURRENT_USER\Software\CodeGear\ProductName\7.0\Known Packages]
[HKEY_CURRENT_USER\Software\CodeGear\ProductName\7.0\Known Packages]
"$(Projects)\\Delphi2010\\CommonControls\\bpl\\CommonControls.bpl"="Common Controls"
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxCoreD14.bpl"="ExpressCoreLibrary by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dclcxLibraryD14.bpl"="Express Cross Platform Library by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxDockingD14.bpl"="ExpressDocking Library by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dclcxSpreadSheetD14.bpl"="ExpressSpreadSheet by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxSBD14.bpl"="ExpressSideBar by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxBarD14.bpl"="ExpressBars by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxBarDBNavD14.bpl"="ExpressBars DBNavigator by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxBarExtDBItemsD14.bpl"="ExpressBars extended DB items by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxBarExtItemsD14.bpl"="ExpressBars extended items by Developer Express Inc."
"$(ExternalComponents)\\Delphi2010\\DevExpress\\Library\\Delphi14\\dcldxRibbonD14.bpl"="ExpressBars Ribbon controls by Developer Express Inc."
还有一个启动IDE的批处理文件:
regedit.exe /S ProductName.reg
start "delphi" "%DELPHI2010%\bin\bds.exe" -rProductName
【问题讨论】: