Delphi/400では、クライアント端末側では
複数バージョンのDelphi/400を共存させることは製品仕様としてできません。
(IBM i 側は複数バージョンが動作していても問題ありません)
バージョンアップなどでPC側のDelphi/400のバージョンを変更する際には、
変更前バージョンのDelphi/400をアンインストールする必要があります。
※開発版の場合、Delphi(RAD Studio)本体のアンインストールは必要ありません。
※開発版でDelphi/400を「より新しいバージョン(XE7または10以上)に初めて上げる」場合は、
新しいバージョンのDelphi/400に付属している『BDE』の再インストールが必要になります。
上記のアンインストールを行わずに
別のバージョンのDelphi/400を上書きでインストールした場合、
- DLLが同じパスに上書きされるため、正常に動作しなくなる
- INIファイルの設定値が不正になるため、正常に動作しなくなる
- 『序数XXXがダイナミックライブラリ C:\~~\~~.DLLから見つかりませんでした』
といったエラーが発生する
といった事象が発生することがあります。
このような場合は、以下の手順に従って
Delphi/400のアンインストール~クリーンアップを実施してから、
再インストールを実施して下さい。
※この手順は、旧バージョンから新バージョンに上げる場合のみならず、
移行期間中などで新バージョンから旧バージョンへ「バージョンダウン」する際にも有効です。
※通常時は、以下の1・4・6のみの実施で問題ありません。
エラー発生時に、1~6すべての手順を実施して下さい。
- 入替元バージョンのDelphi/400 をアンインストールする。
- 開発版PCの場合、Delphi(RAD Studio)本体は残しておいて問題ありません。
- 開発版PCの場合、Delphi(RAD Studio)本体は残しておいて問題ありません。
- 入替元バージョンの「C:\CO4XX」フォルダを
削除するか、別名にリネームする。- 元のバージョンに戻すことがある場合は、
エリアス情報を格納した「ALIASES.CFG」ファイルを再利用できます。
- 元のバージョンに戻すことがある場合は、
- C:\Windows\SysWOW64 フォルダから、
ファイル名に「400」を含む下記のBPI・BPL・DCP・DLLファイルを削除する。- 対象PCが32bitの場合は、SysWOW64ではなく「System32」が対象です。
- 対象PCが64bit かつ 入替元バージョンがXE3以上 の場合は、
System32フォルダにある64bit用のファイルも対象となります。
- メモ帳などのテキストエディタを管理者として起動し、
「C:\Windows\win.ini」ファイルを開き、
[CO400] セクションを削除して上書き保存する。- 入替元バージョンがXE以前の場合は、この手順が必須となります。
- 入替元バージョンがXE3以上の場合は、win.iniを使用しないためこの手順は不要です。
- レジストリエディタを起動し、HKEY_LOCAL_MACHINEの中にある
「SOFTWARE\Wow6432Node\SystemObjects」
「SOFTWARE\Wow6432Node\TCIS」
のキーを削除する。- 対象PCが32bitの場合は「Wow6432Node\」を読み飛ばして下さい。
- 対象PCが32bitの場合は「Wow6432Node\」を読み飛ばして下さい。
- 入替先バージョンのDelphi/400をインストールする。
Delphi/400のインストール後は、Configurationを起動して
IBM i への接続確認を実施して下さい。
(ConfigurationでOKボタンを押すことによって反映される設定値も存在します。)
(上記2.で記載の「ALIASES.CFG」ファイルを再利用する場合は、
Configurationの起動前に「C:\CO4XX」フォルダにコピーしておきます。)
<補足:クリーンアップ時に削除するファイルの一覧>
※バージョンによっては存在しない場合があるため、存在する場合のみ削除
- 32ビットアプリケーション用
(64bit端末:「C:\Windows\SysWOW64」、32bit端末:「C:\Windows\System32」)- CO400LOC.DLL
- CO400NET.DLL
- co400res.dll
- CO40032.DLL
- DBCO400.DLL
- DBCO430.DLL
- E32TCPIP.DLL
- FDCO400.DLL
- ODCO400.DLL
- ODCOCFG.DLL
- SCD400NET.dll
- TCRTR32.DLL
- 「combo400」で始まるBPI・BPL・DCPファイル
- 「dclscd400」で始まるBPI・BPL・DCPファイル
- 「FDCO400」で始まるBPI・BPL・DCPファイル
- 「scd400」で始まるBPI・BPL・DCPファイル
- 64ビットアプリケーション用
(64bit端末:「C:\Windows\System32」、32bit端末:対象外)- CO400NET.DLL
- CO400LOC.DLL
- DBCO430.DLL
- E32TCPIP.DLL
- FDCO400.DLL
- TCRTR32.DLL
- 「scd400」で始まるBPI・BPL・DCPファイル