我正在开发一个用于 Delphi 7 的组件,并且无需接触 IDE 即可快速安装。我正在根据这个answer制作一个简单的安装程序。
procedure TForm1.Button1Click(Sender: TObject);
var
sDelphi7PackageName : string;
sDelphi7Path,fileSource,fileDest : string;
sDelphi7packBPL,sDelphi7PathMenuBPL : string;
begin
sDelphi7Path:=ReadRegistryValues('\Software\Borland\Delphi\7.0',FALSE,'RootDir',1,TRUE);{<-- returns the 'C:\Program Files\Borland\Delphi7' }
{#1. Install .bpl}
sDelphi7BPL:=sDelphi7Path+'\Projects\Bpl\Pack.bpl';
WriteValueToRegisTry('\Software\Borland\Delphi\7.0\Known Packages',FALSE,sDelphi7BPL,'Delphi 7 compo Bpl File'); {<-- writes to the registry}
fileSource:=ExtractFilePath(Application.ExeName)+'\Packages\comPack.bpl';
fileDest:=sDelphi7BPL;
CopyFile(PChar(fileSource), PChar(fileDest), False);
end;
这很好用:
C:\Program Files\Borland\Delphi7\Projects\Bpl\Pack.bpl
。
但安装的组件 id hidden
谁能告诉我如何
unhide
安装时的component
?
编辑
可能有用:
我已经有了组件的
bpl
文件,所以我直接将其复制到Delphi 7目录C:\Program Files\Borland\Delphi7\Projects\Bpl
并修改注册表HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Known Packages
。
组件的
register
流程
实施 程序登记; 开始 RegisterComponents('comp', [Tcomp]); 结束;
在注册表中的
HKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Palette
下,找到名为 'comp.Hidden'
的条目并对其进行编辑以删除组件的类名称(或完全删除该条目)。