はじめに
Delphi 2 ~ 3.1 のインストーラは Install Shield 3 で作られており、16bit アプリケーションです。
つまり、Delphi 2 ~ 3.1 そのものは 32bit アプリケーションであるにもかかわらず、インストーラの制限によって 64bit Windows へはインストールできません。
対処方法
■ 32bit Windows へインストールして持ってくる
VM 等の 32bit Windows へ一旦インストールし、ファイルを 64bit Windows へ持ってくる方法です。OS の種類によってはインストールの際に NTVDM が別途インストールされるかもしれません。
NTVDM は [Windows の機能の有効化または無効化]
から手動でインストールする事もできます。
[Windows の機能の有効化または無効化]
は [ファイル名を指定して実行 (〔Win〕+〔R〕)]
から optionalfeatures.exe
を実行する事で素早く開く事ができます。
NTVDM
は レガシ コンポーネント
の中にあります。
レジストリも収集する必要がありますが、32bit Windows のレジストリをそのまま 64bit Windows に持ってきても動作しないかもしれません。
See also:
■ RUNIMAGE を使う
CD-ROM 内の RUNIMAGE
にはセットアップされた状態のファイルが格納されています。
レジストリについては自前で処理しなければなりません。
■ Is3Engine.zip を使う
インストーラが Install Shield 3 の場合には回避方法があるようです。
以下のサイトから Is3Engine.zip
をダウンロードしてきます。
- Installing 32-bit programs with 16-bit setup launcher stubs (ReactOS Forum)
- Is3Engine.zip への直接リンク (toastytech.com)
うまく DL できない場合には、Is3Engine.zip の URL をブラウザのアドレスバーに直接入力してみてください。
これを解凍してできた setup32.exe
をセットアップ CD-ROM 内の INSTALL
フォルダに置いて実行します (SETUP.EXE
と setup32.exe
を同じ場所に置いて実行)。
もちろんセットアップ CD-ROM に書き込む事はできないので、ローカルにコピーするなり、再度 CD-R に焼くなりします。
setup32.exe
を実行してしばらくするとインストーラが起動します。
Windows 10 (64bit) でインストーラを実行できました。
■ Is3Engine.zip を使う (検証)
続いて、Windows 11 の Windows Sandbox を使ってインストールを検証してみました。
・Delphi 2
そのままだと OC30.DLL
のエラーでインストールが完了しませんでした。
setup32.exe
のショートカットを作り [互換性] タブで Windows 98 / Windows Me
に変更し、このショートカットを実行します。
BDE が設定できなかった旨のエラーは出ましたが、インストーラは完走しました。
※ Delphi 2 の BDE はバージョン 3.0 です。多くの場合、付属の BDE が正しくインストールできなくても問題ない気がします 1。
・Delphi 3
そのままだと最後に MFC40.DLL
/ OC30.DLL
のエラーが出てしまいます (インストーラは完走します)2。
setup32.exe
のショートカットを作り [互換性] タブで Windows 98 / Windows Me
に変更し、このショートカットを実行します。
BDE が設定できなかった旨のエラーは出ましたが、インストーラは完走しました。
※ Delphi 3 の BDE はバージョン 4.0、Delphi 3.1 の BDE はバージョン 4.1 です。多くの場合、付属の BDE が正しくインストールできなくても問題ない気がします 1。
おわりに
インストーラ全般の話になりますが、インストーラが 16bit アプリケーションの場合には、ファイルのプロパティの [詳細] タブを確認してみましょう。Install Shield 3 で作られていればチャンスはあります。
インストールされたアプリケーションが 16bit アプリケーションであった場合には OTVDM を使えば動作するかもしれません。
See also:
- Delphi 1.0 Client/Server が無償公開されたので Windows 10 (64bit) / 11 にインストールしてみる (Qiita)
- Windows 10 用 WinHlp32.exe インストールバッチファイル (DoldoWorkz)
- 旧 Delphi FAQ (EDN)
- 04_64 ビット版 Windows 10 に Delphi 4 / Delphi 5 をインストール (Mr.XRAY)
- 05_32 ビット Windows 10 に Delphi 4 / Delphi 5 をインストール (Mr.XRAY)
- BDE, SQL Link サポート状況 (SupprtKB)
-
BDE (Borland Database Engine) の最新版は Delphi 6 以降にバンドルされた
バージョン 5.2
です。BDE は同時に異なるバージョンをインストールして使用することができません。インストール時に異なるディレクトリを指定したとしても、BDE の構造上古いバージョンと共存することはできず、必ず最後にインストールされたバージョンが使われます。 ↩ ↩2 -
事前にインストール CD-ROM 内の
RUNIMAGE\WINDOWS\SYSTEM32
にあるMFC40.DLL
とOC30.DLL
をC:\Windows\System32
およびC:\Windows\SysWow64
へコピーしてインストーラを実行すれば最後までエラーは出ませんでした。 ↩