3

私は、 Marjan Venemadelphi 7によるIDEこのSOの回答に従って、簡単なインストーラーを作成してい ます。

    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;

これは正常に機能します![ここに画像の説明を入力してください][2] C:\Program Files\Borland\Delphi7\Projects\Bpl\Pack.bpl。ただし、コンポーネントのインストールIDhidden

誰かがインストールunhideの方法を教えてもらえますか?component

編集

役に立つかもしれません:

1)コンポーネントのファイルがすでにあるので、ディレクトリbplに直接コピーしてレジストリを変更しています。delphi 7C:\Program Files\Borland\Delphi7\Projects\BplHKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Known Packages

2)registerコンポーネントの手順

 implementation
 procedure Register;
  begin
      RegisterComponents('comp', [Tcomp]);
  end;
4

1 に答える 1

8

レジストリのでHKEY_CURRENT_USER\Software\Borland\Delphi\7.0\Palette、という名前のエントリを見つけて'comp.Hidden'編集し、コンポーネントのクラス名を削除します(またはエントリを完全に削除します)。

于 2012-05-07T11:28:53.720 に答える