2017-03-18 29 views
1

Embarcadero RAD Studio XE7を使用して、VCLコンポーネント(TGraphicの子孫)を含むランタイムパッケージを作成しました。今、私はこのコンポーネントを配布したいですが、コンパイルされたパッケージとソースコードを除いてのみです。私はそれを売りたいと思っている会社のためにこのパッケージを書いているので、ソースコードを配布することはできません。Delphi - 配布用のパッケージを構築する方法

コンポーネントパッケージは、私が書いた他の2つのパッケージによって異なります。これらのパッケージはすべてランタイムですが、グラフィックフィルタが登録されています。パッケージをインストールした後、このフィルタを使用して、開発用コンピュータのTImageなどのいくつかのネイティブVCLコンポーネントから新しい種類のイメージファイルを開くことができます。この動作は非常に重要ですと私はターゲットIDE上にそれを保持したい。

理想的には、私のパッケージをXEと10.2 Berlin間のすべてのRAD Studioプラットフォームにインストールしたいと考えています。しかし、私は最近、私のdevelコンピュータのリリースで私のパッケージをコンパイルし、RAD Studio XE4をインストールした別のコンピュータに手動で展開しようとしました。

  • コンポーネント - >パッケージのインストール...を使用して.bplファイルをインストールしようとすると、「指定されたモジュールが見つかりませんでした」というエラーが表示されませんでした。 Dependency Walkerツールを使って.bplファイルを開くと、RTL210.bplのようないくつかの依存関係が見つからないことに気付きました。
  • 私はこの方法でデザインタイムパッケージしかインストールできないと読んでいます。
  • 私のパッケージのいずれかのファイル(.bpl、.lib、.hpp、...)を手動でXE4共通ディレクトリに置くと、テストプロジェクトを正常にコンパイルできました。しかし、(それらを使用しようとすると、未解決の外部に起因する)私のパッケージにはいくつかの機能が利用できなかった

私はソフトウェアパッケージの配布について、いくつかの過去の経験を持っていますが、私はどの程度絶対にないアイデアを持っていないことを告白しなければならないがそのようなパッケージを構築して展開します。過去のすべてのシナリオで、私はいつもパッケージプロジェクトとソースコードを配布し、ユーザーが自分のIDEにインストールさせるようにしました。

私は過去の日の情報を検索しましたが、何も見つかりませんでした。だから、誰かがそのようなパッケージを実現する方法を説明することができたり、プロセスを記述しているドキュメントやウェブサイトを紹介したり、最終的には仕事をすることができるツールの名前をつけてもらえれば、とても感謝しています。

よろしく

+4

XE7でコンパイルしたパッケージをXE4 IDEに展開することはできません。特定のDelphiのバージョンでコンパイルされたIDEごとに別のパッケージを展開する必要があります。 F.i. XE4パッケージはrtl180.bplに依存するXE4でコンパイルする必要があります。 –

+0

なぜ私はdownvotedされましたか? –

+1

私は分かりません。投票は完全に匿名です。 –

答えて

2

ソースファイルを配布するためにしたくない場合は、その後、.DCUとBPLファイルを提供する必要があります。 Uweによると、各Delphiディストリビューションごとに異なるパッケージが必要です。

私が過去に行ったことは、パッケージをビルドして登録するインストーラを作成することです。あなたはここに完全な説明を見つけることができます。

http://www.kouraklis.com/2016/10/build-and-install-packages-in-delphi-ide-using-innosetup/

私はあなたがMSBuildのへの呼び出しをスキップするためのスクリプトを修正することができると思います。

これが役に立ちます。