ANSI 版 Delphi (5~2007) に最新版の Indy10 をインストールする
序論
2009 へのインストール方法 は既に紹介しましたが、Indy のバージョンをすべての Delphi で揃えるというのは意味のある事かも知れないので、こちらもやってみる事にしました。
FullD??.bat を使えば比較的簡単に作業できるのですが、すべての Delphi でインストールフォルダを揃える事を目的としていますので、この Tips ではバッチファイルは利用しません。
Indy 10 最新版 のインストール
最近の Indy 最新版はバグも潰れて、ANSI 版 Delphi へもインストールが可能となっています。特に問題がない限り最新版を使うべきでしょう。互換性の問題等でトラブルが発生した場合のみ、ANSI 専用最終版の 10.2.3 をインストールするようにして下さい。
既存の環境のバックアップ
この作業は Delphi 5 には不要です。Delphi 5 に Indy をインストールした事がある場合のみ行って下さい。
バックアップフォルダを作成します。"C:\INDY_BACKUP" 等のフォルダを作成し、ここに
という3つのフォルダを作成しておきます。
次に Delphi を起動します。
Delphi 5
"%ProgramFiles%\Borland\Delphi5\Bin\delphi32.exe" /ns /np
|
Delphi 6
"%ProgramFiles%\Borland\Delphi6\Bin\delphi32.exe" /ns /np
|
Delphi 7
"%ProgramFiles%\Borland\Delphi7\Bin\delphi32.exe" /ns /np
|
Delphi 2005
"%ProgramFiles%\Borland\BDS\3.0\bin\bds.exe" /pDelphi /ns /np
|
BDS 2006 / Turbo Delphi 2006
"%ProgramFiles%\Borland\BDS\4.0\bin\bds.exe" /pDelphi /ns /np
|
Delphi 2007
"%ProgramFiles%\CodeGear\RAD Studio\5.0\bin\bds.exe" /pDelphi /ns /np
|
Delphi が起動したら [コンポーネント | パッケージのインストール] で
バージョン |
パッケージ |
Delphi 5 |
(なし) |
Delphi 6 |
Internet Direct (Indy) for D6 Property and Component Editors |
Delphi 7 |
Internet Direct (Indy) for D7 Property and Component Editors |
Delphi 2005 |
・Indy 10 Core Design Time ・Indy 10 Protocols Design Time |
Delphi 2006 |
Delphi 2007 |
上記パッケージを削除します。要は "Indy" と名の付くパッケージを削除すればいい訳です。削除が終わったら、[OK]ボタンを押し、Delphi を終了させます。
Delphi の "<Delphiインストール先>\bin" フォルダに移動し、ここにある "Indy" と名の付くファイルをすべてバックアップフォルダの "bin" へ移動します。
同じくDelphi の "<Delphiインストール先>\lib" フォルダに移動し、ここにある "Indy10" フォルダごとバックアップフォルダの "lib" へ移動します。"Indy10" フォルダがない場合には、"<Delphiインストール先>\lib" フォルダにある "Indy" と名の付くファイルと "Id" で始まるファイルをすべてバックアップフォルダの "lib" へ移動します。
同じくDelphi の "<Delphiインストール先>\source" フォルダに移動し、ここにある "Indy" フォルダごとバックアップフォルダの "source" へ移動します。
"<Delphiインストール先>\Projects\Bpl" に Indy 関係のファイルがあれば、こちらはもれなく削除して下さい。
インストールフォルダの作成
下記2つのフォルダを生成しておきます。これは、Indy 10 のインストール先をすべての Delphi で統一するためです。
- "<Delphiインストール先>\lib\Indy10"
- "<Delphiインストール先>\source\Indy\Indy10"
これで既存環境のバックアップが完了しました。
Indy 10 のダウンロード
Indy 10 のダウンロードは GitHub から行います。以前の SVN サーバーは使えなくなった模様です。
アーカイブの解凍と配置
アーカイブを適当な場所に解凍したら、"<解凍先>\Indy10_????\Lib" に移動します。
ここにあるフォルダの内、
を、"<Delphiインストール先>\source\Indy\Indy10" へコピーします。
ライブラリパスの追加
Delphi を起動します。
Delphi 5
"%ProgramFiles%\Borland\Delphi5\Bin\delphi32.exe" /ns /np
|
Delphi 6
"%ProgramFiles%\Borland\Delphi6\Bin\delphi32.exe" /ns /np
|
Delphi 7
"%ProgramFiles%\Borland\Delphi7\Bin\delphi32.exe" /ns /np
|
Delphi 2005
"%ProgramFiles%\Borland\BDS\3.0\bin\bds.exe" /pDelphi /ns /np
|
BDS 2006 / Turbo Delphi 2006
"%ProgramFiles%\Borland\BDS\4.0\bin\bds.exe" /pDelphi /ns /np
|
Delphi 2007
"%ProgramFiles%\CodeGear\RAD Studio\5.0\bin\bds.exe" /pDelphi /ns /np
|
[ツール | オプション] で、以下のライブラリパスを追加します。Indy の既存のライブラリパスがあるのなら、一旦削除してから追加して下さい。
バージョン |
ライブラリパス |
Delphi 5 |
$(DELPHI)\lib\Indy10 |
Delphi 6 |
Delphi 7 |
Delphi 2005 |
$(BDS)\lib\Indy10 |
Delphi 2006 |
Delphi 2007 |
コンパイルとインストール
まず、以下のファイルをコンパイル(再構築)します。
- "<Delphiインストール先>\source\Indy\Indy10\System\IndySystemnn.dpk"
- "<Delphiインストール先>\source\Indy\Indy10\Core\IndyCorenn.dpk"
- "<Delphiインストール先>\source\Indy\Indy10\Protocols\IndyProtocolsnn.dpk"
nn の部分は Delphi のバージョンによって異なります。
バージョン |
nn の値 |
Delphi 5 |
50 |
Delphi 6 |
60 |
Delphi 7 |
70 |
Delphi 2005 |
90 |
Delphi 2006 |
100 |
Delphi 2007 |
110 |
コマンドプロンプトから実行すると楽でしょう。
Delphi 5
"%ProgramFiles%\Borland\Delphi5\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi5\source\Indy\Indy10\System\IndySystem50.dpk"
|
"%ProgramFiles%\Borland\Delphi5\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi5\source\Indy\Indy10\Core\IndyCore50.dpk"
|
"%ProgramFiles%\Borland\Delphi5\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi5\source\Indy\Indy10\Protocols\IndyProtocols50.dpk"
|
Delphi 6
"%ProgramFiles%\Borland\Delphi6\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi6\source\Indy\Indy10\System\IndySystem60.dpk"
|
"%ProgramFiles%\Borland\Delphi6\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi6\source\Indy\Indy10\Core\IndyCore60.dpk"
|
"%ProgramFiles%\Borland\Delphi6\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi6\source\Indy\Indy10\Protocols\IndyProtocols60.dpk"
|
Delphi 7
"%ProgramFiles%\Borland\Delphi7\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi7\source\Indy\Indy10\System\IndySystem70.dpk"
|
"%ProgramFiles%\Borland\Delphi7\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi7\source\Indy\Indy10\Core\IndyCore70.dpk"
|
"%ProgramFiles%\Borland\Delphi7\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi7\source\Indy\Indy10\Protocols\IndyProtocols70.dpk"
|
Delphi 2005
"%ProgramFiles%\Borland\BDS\3.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\3.0\source\Indy\Indy10\System\IndySystem90.dpk"
|
"%ProgramFiles%\Borland\BDS\3.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\3.0\source\Indy\Indy10\Core\IndyCore90.dpk"
|
"%ProgramFiles%\Borland\BDS\3.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\3.0\source\Indy\Indy10\Protocols\IndyProtocols90.dpk"
|
BDS 2006 / Turbo Delphi 2006
"%ProgramFiles%\Borland\BDS\4.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\4.0\source\Indy\Indy10\System\IndySystem100.dpk"
|
"%ProgramFiles%\Borland\BDS\4.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\4.0\source\Indy\Indy10\Core\IndyCore100.dpk"
|
"%ProgramFiles%\Borland\BDS\4.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\4.0\source\Indy\Indy10\Protocols\IndyProtocols100.dpk"
|
Delphi 2007
"%ProgramFiles%\CodeGear\RAD Studio\5.0\bin\bds.exe" /pDelphi "%ProgramFiles%\CodeGear\RAD Studio\5.0\source\Indy\Indy10\System\IndySystem110.dpk"
|
"%ProgramFiles%\CodeGear\RAD Studio\5.0\bin\bds.exe" /pDelphi "%ProgramFiles%\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Core\IndyCore110.dpk"
|
"%ProgramFiles%\CodeGear\RAD Studio\5.0\bin\bds.exe" /pDelphi "%ProgramFiles%\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Protocols\IndyProtocols110.dpk"
|
注意ですが、各パッケージプロジェクトを開いたら、コンパイル(再構築)の前にプロジェクトオプションを変更しなくてはなりません。
・Delphi 5~Delphi 7 の場合 (旧IDE)
- 出力ディレクトリ
$(DELPHI)\bin
- ユニット出力ディレクトリ
$(DELPHI)\lib\Indy10
- DCP出力ディレクトリ
$(DELPHI)\lib\Indy10
・Delphi 2005~Delphi 2007 の場合 (ガリレオIDE)
- DCP出力ディレクトリ
$(BDS)\lib\Indy10
- パッケージの出力ディレクトリ
$(BDS)\bin
- ユニット出力ディレクトリ
$(BDS)\lib\Indy10
最後に、以下のファイルをコンパイル(再構築)し、インストールします。
- "<Delphiインストール先>\source\Indy\Indy10\Core\dclIndyCorenn.dpk"
- "<Delphiインストール先>\source\Indy\Indy10\Protocols\dclIndyProtocolsnn.dpk"
コマンドプロンプトから実行すると楽でしょう。
Delphi 5
"%ProgramFiles%\Borland\Delphi5\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi5\source\Indy\Indy10\Core\dclIndyCore50.dpk"
|
"%ProgramFiles%\Borland\Delphi5\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi5\source\Indy\Indy10\Protocols\dclIndyProtocols50.dpk"
|
Delphi 6
"%ProgramFiles%\Borland\Delphi6\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi6\source\Indy\Indy10\Core\dclIndyCore60.dpk"
|
"%ProgramFiles%\Borland\Delphi6\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi6\source\Indy\Indy10\Protocols\dclIndyProtocols60.dpk"
|
Delphi 7
"%ProgramFiles%\Borland\Delphi7\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi7\source\Indy\Indy10\Core\dclIndyCore70.dpk"
|
"%ProgramFiles%\Borland\Delphi7\Bin\delphi32.exe" "%ProgramFiles%\Borland\Delphi7\source\Indy\Indy10\Protocols\dclIndyProtocols70.dpk"
|
Delphi 2005
"%ProgramFiles%\Borland\BDS\3.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\3.0\source\Indy\Indy10\Core\dclIndyCore90.dpk"
|
"%ProgramFiles%\Borland\BDS\3.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\3.0\source\Indy\Indy10\Protocols\dclIndyProtocols90.dpk"
|
BDS 2006 / Turbo Delphi 2006
"%ProgramFiles%\Borland\BDS\4.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\4.0\source\Indy\Indy10\Core\dclIndyCore100.dpk"
|
"%ProgramFiles%\Borland\BDS\4.0\bin\bds.exe" /pDelphi "%ProgramFiles%\Borland\BDS\4.0\source\Indy\Indy10\Protocols\dclIndyProtocols100.dpk"
|
Delphi 2007
"%ProgramFiles%\CodeGear\RAD Studio\5.0\bin\bds.exe" /pDelphi "%ProgramFiles%\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Core\dclIndyCore110.dpk"
|
"%ProgramFiles%\CodeGear\RAD Studio\5.0\bin\bds.exe" /pDelphi "%ProgramFiles%\CodeGear\RAD Studio\5.0\source\Indy\Indy10\Protocols\dclIndyProtocols110.dpk"
|
こちらもコンパイル(再構築)の前にプロジェクトオプションを変更しなくてはなりません。
インストールして完了となります。
Indy 10.2.3 (ANSI 専用最終版) のインストール
既存の環境のバックアップ
この作業は Delphi 5 には不要です。Delphi 5 に Indy をインストールした事がある場合のみ行って下さい。
バックアップフォルダを作成します。"C:\INDY_BACKUP" 等のフォルダを作成し、ここに
という3つのフォルダを作成しておきます。
次に Delphi を起動します。
Delphi 5~7
"<Delphiインストール先>\bin\delphi32.exe" /ns /np
|
Delphi 2005~2007
"<Delphiインストール先>\bin\bds.exe" /pDelphi /ns /np
|
Delphi が起動したら [コンポーネント | パッケージのインストール] で
バージョン |
パッケージ |
Delphi 5 |
(なし) |
Delphi 6 |
Internet Direct (Indy) for D6 Property and Component Editors |
Delphi 7 |
Internet Direct (Indy) for D7 Property and Component Editors |
Delphi 2005 |
・Indy 10 Core Design Time ・Indy 10 Protocols Design Time |
Delphi 2006 |
Delphi 2007 |
上記パッケージを削除します。要は "Indy" と名の付くパッケージを削除すればいい訳です。削除が終わったら、[OK]ボタンを押し、Delphi を終了させます。
Delphi の "<Delphiインストール先>\bin" フォルダに移動し、ここにある "Indy" と名の付くファイルをすべてバックアップフォルダの "bin" へ移動します。
同じくDelphi の "<Delphiインストール先>\lib" フォルダに移動し、ここにある "Indy10" フォルダごとバックアップフォルダの "lib" へ移動します。"Indy10" フォルダがない場合には、"<Delphiインストール先>\lib" フォルダにある "Indy" と名の付くファイルと "Id" で始まるファイルをすべてバックアップフォルダの "lib" へ移動します。
同じくDelphi の "<Delphiインストール先>\source" フォルダに移動し、ここにある "Indy" フォルダごとバックアップフォルダの "source" へ移動します。
"<Delphiインストール先>\Projects\Bpl" に Indy 関係のファイルがあれば、こちらはもれなく削除して下さい。
インストールフォルダの作成
下記2つのフォルダを生成しておきます。これは、Indy 10 のインストール先をすべての Delphi で統一するためです。
- "<Delphiインストール先>\lib\Indy10"
- "<Delphiインストール先>\source\Indy\Indy10"
これで既存環境のバックアップが完了しました。
Indy 10.2.3 (ANSI 最終版) のダウンロード
ダウンロードは indy.fulgan.com から行えていたのですが、ソースコードのミラーが中止されたため、Internet Archive (https://web.archive.org/web/20100326020926/http://indy.fulgan.com/ZIP/) から取得します。"Indy10.zip" が ANSI 専用の 10.2.3 です。
アーカイブの解凍と配置
アーカイブを適当な場所に解凍したら、"<解凍先>\Indy10\Lib" に移動します。
ここにあるフォルダの内、
を、"<Delphiインストール先>\source\Indy\Indy10" へコピーします。
ソースの改変
この作業は Delphi 5 環境のみ必要です。Delphi 5 を利用しない場合には読み飛ばして下さい。
"<Delphiインストール先>\source\Indy\Indy10\Protocols" にある "IdHMACSHA1.pas" をテキストエディタで開きます。
initialization
// RLebeau: why do this?
TIdHMACSHA1.Create.Destroy;
end.
|
ファイル末尾のこの部分を、
{$IFDEF VCL6ORABOVE}
initialization
// RLebeau: why do this?
TIdHMACSHA1.Create.Destroy;
{$ENDIF}
end.
|
このように書き換えます。この作業を行わないと dclIndyProtocols50.dpk のインストール時に 「Abstract エラー」 が出て、"Indy 10 Protocols Design Time" をインストールできません (元ネタ)。
ライブラリパスの追加
Delphi を起動します。
Delphi 5~7
"<Delphiインストール先>\bin\delphi32.exe" /ns /np
|
Delphi 2005~2007
"<Delphiインストール先>\bin\bds.exe" /pDelphi /ns /np
|
[ツール | オプション] で、以下のライブラリパスを追加します。Indy の既存のライブラリパスがあるのなら、一旦削除してから追加して下さい。
バージョン |
ライブラリパス |
Delphi 5 |
$(DELPHI)\lib\Indy10 |
Delphi 6 |
Delphi 7 |
Delphi 2005 |
$(BDS)\lib\Indy10 |
Delphi 2006 |
Delphi 2007 |
コンパイルとインストール
まず、以下のファイルをコンパイル(再構築)します。
- "<Delphiインストール先>\source\Indy\Indy10\System\IndySystemnn.dpk"
- "<Delphiインストール先>\source\Indy\Indy10\Core\IndyCorenn.dpk"
- "<Delphiインストール先>\source\Indy\Indy10\Protocols\IndyProtocolsnn.dpk"
nn の部分は Delphi のバージョンによって異なります。
バージョン |
nn の値 |
Delphi 5 |
50 |
Delphi 6 |
60 |
Delphi 7 |
70 |
Delphi 2005 |
90 |
Delphi 2006 |
100 |
Delphi 2007 |
110 |
注意ですが、各パッケージプロジェクトを開いたら、コンパイル(再構築)の前にプロジェクトオプションを変更しなくてはなりません。
・Delphi 5~Delphi 7 の場合 (旧IDE)
- 出力ディレクトリ
$(DELPHI)\bin
- ユニット出力ディレクトリ
$(DELPHI)\lib\Indy10
- DCP出力ディレクトリ
$(DELPHI)\lib\Indy10
・Delphi 2005~Delphi 2007 の場合 (ガリレオIDE)
- DCP出力ディレクトリ
$(BDS)\lib\Indy10
- パッケージの出力ディレクトリ
$(BDS)\bin
- ユニット出力ディレクトリ
$(BDS)\lib\Indy10
最後に、以下のファイルをコンパイル(再構築)し、インストールします。
- "<Delphiインストール先>\source\Indy\Indy10\Core\dclIndyCorenn.dpk"
- "<Delphiインストール先>\source\Indy\Indy10\Protocols\dclIndyProtocolsnn.dpk"
こちらもコンパイル(再構築)の前にプロジェクトオプションを変更しなくてはなりません。
インストールして完了となります。