Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2011年10月09日] [更新 2015年12月25日] Delphi 一般・その他
Windows 7 / 8.1 に Delphi 7 以前の Delphi をインストール
動作確認等 Windows 7 U(SP1) + Delphi 4, 5, 6, 7 (全て Pro 版) 等
Windows 8.1 Pro + Delphi 4, 5, 6, 7 (全て Pro 版) 等
[整理番号 - 0380]







01_はじめに


Delphi 6 または 7 を Windows Vista、Windows 7 にインストールしようとしたが、うまくインストールできないとか、インストール後の動作に問題があるとかの発言がネット上にありました。この記事は、それを検証するために行ったものです。

しかしながら、筆者の場合、自作のコンポーネントや Indy10(10.5.8.0) もインストールし、サンプルプログラム集でテストもしてみましたが。特に問題は発生していません。本ページのインストールの手順は、ごく普通の、一般的なインストール方法です。したがって、本ページの記事は、インストール時のトラブルや、インストール後のトラブルの解決方法を提供するものではありません。



[備考]
Delphi 2007 より前の Delphi は非ユニコード版です。また、Windows Vista 以降の機能には対応していません。そのための修正あるいはトラブルが発生する可能性はあります。

当サイトのグラフィックス関係のサンプルでは、動作が緩慢、ぎこちない動きになるサンプルがあることを確認しています。Windows Vista では描画関係の仕様変更がありました。そのための現象と思われます。




02_管理者権限でインストール


まず、64 ビット版 Windows 7 に Delphi 6, 7 をインストールしました。
Delphi 6, 7 は、32 ビットのアプリケーションです。64 ビット版 Windows には、32 ビットのアプリケーションを実行する機能が実装されています。この機能は、WOW64 と呼ばれています。

Delphi のインストール方法の説明に「administrator privilege (管理者権限)」で実行するように書いてあります。そう書いてある以上、管理者権限でインストールを実行するのが普通の一般的なインストール方法と言えます。
したがって、インストールは管理者権限で行いました。



[備考 1]
Delphi 2007 より前の Delphi は、インストーラも IDE も「管理者として実行」で起動しないと管理者権限での実行とはなりません。
Windows Vista 以降では「管理者権限で Windows を使用している」という状況は存在しません。


[備考 2]
64 ビット版の Windows には、Delphi 4 より前の Delphi はインストールできません。
Delphi 1 は 16 ビットのアプリです。Delphi 2 / 3 / 3.1 は 32 ビットのアプリですが、インストーラが内部で 16 ビットのプログラムを使用しています。64 ビット版の Windows には、16 ビットのプログラムを実行する仕組みが実装されていません。


[備考 3]
Delphi 4, 5 のインストーラは、以下の 16 ビットのプログラムを使用しています。Windows では例外的に、以下の 16 ビットのインストール用のプログラムを起動すると、それらに該当する 32 ビットのプログラムを代わりに使用する仕組みになっています。
64 ビット版の Windows では、これら以外の 16 ビットのプログラムは動作しません。Windows 10 にはこの機能は実装されていません。したがって、Windows 10 には Delphi 4/5 は、本ページで説明している手順ではインストールできません。

  • 16 bit 版 Microsoft ACME Setup Ver.2.6、3.0、3.01、3.1
  • 16 bit 版 InstallShield Ver.5.x


図1
管理権限でインストール開始
  • DVD の自動再生は使用しない
  • 自動再生したら、閉じるかファイル表示
  • [管理者として実行] で Install.exe を実行
図2
ユーザーアカウント制御
  • Windows 7 の場合
  • 当然 [はい] をクリック
図3
ユーザーアカウント制御
  • Windows Vista の場合
  • 当然 [許可] をクリック

[プログラム互換性アシスタント] のダイアログが現れます。
[プログラムをインストールする] をクリックします。このダイアログは、インストールした Delphi を起動する度に表示されますが、非表示にもできます。非表示にした場合は、[プログラムを実行する] ボタンをクリックしたのと同じことになります。


  • 図4 
  • [プログラムを実行する] をクリックする
  • [オンラインで解決策の有無を確認する] にしても解決できない

ここから先は、Windows XP 以前の Windows にインストールする時と同じです。
確認のために、一応図を掲載しておきます。


図4
カスタムインストールを選択
  • 今回はテスト的な意味なのでカスタム
  • もちろん標準でもよい
図5
JIT (Just-In-Time) Debugging
  • [はい] をクリックしないと COM 関係のデバッグができなくなる
  • 現在の環境によっては現れない
  • Windows のアプリは意識しなくても COM の機能を使うことが多い
図6
インストール機能の選択
  • デバッガがないと IDE 上での開発が不可となるのでインストール
  • Vista の時にはフルインストールした
図7
インストール先のフォルダ指定
  • ここではデフォルトのままとした
図8
インストール中

インストール終了後に、下図のような [プログラム互換性アシスタント] のダイアログが表示された場合は、[このプログラムは正しくインストールされまた] をクリックしてダイアログを閉じます。


図9
[プログラム互換性のアシスタンス]
  • [このプログラムは正しくインストールされました] をクリックする

今回のインストールの結果です。[Borland Shared] フォルダが作成されています。
同じような手順で、64 ビット版 Windows 7 に Delphi 4, 5, 6 もインストールしました。


図10
[Borland Shared]
  • [CodeGear Shared] はインストール済のDelphi 2007 以降で使用している
図11
スタートメニュー (Windows 7)
  • [Borland Delphi 7] が追加された
  • リストにはないが、Delphi 4 Pro もインストールしている




03_その他の操作 - インストール後の IDE 起動等


以上がインストールした手順です。と言っても、他のアプリケーションのインストールと大した変わりはありません。
インストール後の IDE の起動には、管理者権限が必要です。既存のプロジェクトを開くにも、管理者権限で起動した IDE で開く必要があります。以下の記事を参考にしてください。


もし、管理者に昇格しないで IDE を起動すると、例えば、下図のようなエラーが発生します。
このエラーが発生すると、IDE は正常に動作しません。


'C:\Program Files (x86)\Borland\Delphi7\Bin\delphi32.$$$' から 'C:\Program Files (x86)\Borland\Delphi7\Bin\delphi32.dro' に変更できません。


図12




04_Program Files 以外へのインストールでも管理者権限が必要


改めて書くまでもありませんが、インストール先を Program Files (または Program Files (x86)) 以外の場所にする場合であっても、管理者権限でインストールする必要があります。
多くのアプリケーション同様、Delphi のインストーラも、インストール先がどこであろうと、レジストリやシステム関係のフォルダを操作します。レジストリやシステム関係のフォルダの操作には、管理者権限が必要です。

Program Files (または Program Files (x86)) 以外の場所にインストールする場合、管理者に昇格しないでインストールしても基本的にエラーは発生しません。これは Windows Vista で導入された「ファイルとレジストリの仮想化」による現象です。





05_管理者に昇格しないでインストールすると


UAC が有効になったままの状態で、管理者に昇格しないでインストールすると、例えば以下の図のような状態となります。この状態は、インストールするユーザ権限やインストール先のフォルダ等によって異なります。また、IDE 起動時のユーザ権限によっても異なります。
これは、「うまくいかなかった」例の一つを、ネット上の記事から、筆者がインストールした時の操作と IDE 起動時の操作を推測して、実際に検証したものの 1 つです、

対処方法は、[Windows Vista 以降の OS で Delphi] [管理者に昇格しないで実行してしまった場合] を参考にしてください。ただし、この仮想化処理の対応をしなくても、管理者権限で再インストールすれば正常に使用可能となる場合もあります。
筆者の場合は、テストの度に仮想ファイル、仮想レジストリも、実際のインストール先のフォルダ、ファイル、レジストリも全て削除して、Windows を再起動しています。


図13
[Standard] タブの 1 つだけ
図14
パッケージのリストが空白
図15
ライブラリのパスも空白
  • 本来表示されるべきタブもない

上の図は、UAC が有効のまま、管理者権限でインストールしなかった場合です。
この場合、ファイルとレジストリの仮想化により、レジストリに必要な情報が記録されません。そのために上の図のような結果になります。





06_EditorLineEnds.ttr を作成できません


Windows 7, 8, 8.1 にインストールされた更新プログラムの内容によっては、Delphi の IDE 起動時に次のような内容のエラーダイアログが表示され、IDE が起動できない場合があります。これは、コンピュータ起動直後には発生しません。2 回目以降の IDE 起動時に発生します。
Delphi 7, 2005, 2006, 2007, 2009, 2010 で発生するようです。


ファイル "C:\Users\XXXX\AppData\Local\Temp\EditorLineEnds.ttr" を作成できません。プロセスはファイルにアクセスできません。別のプロセスが使用中です。.

Embarcadero のサイトにも、この現象に対する対処方法の記事がありますが、筆者は、以下からダウンロードした dzEditorLineEndsFix.exe を実行することで対処しました。
この dzEditorLineEndsFix.exe は常駐プログラムです。


[備考]
実際のダイアログの画像を掲載しようと思ったのですが、現在、dzEditorLineEndsFix.exe の常駐を解除しても、そのエラーダイアログが現れなくなっています。





07_IDE を閉じた時のモジュール vcl70.bpl エラーの回避方法


Windows 7, 8.1 にインストールした Delphi 7 の IDE を終了すると「モジュール 'vcl70.bpl' のアドレス XXXX でアドレス 00000018 に対する書き込み違反がおきました。」というエラーが発生することがあるようです。



図16
vcl70.bpl エラー

この場合、以下のように、インストール先のフォルダの [bin] フォルダ内にある、拡張子が .dst のファイルを全て削除してみてください。IDE 終了時のエラーが発生しなく可能性があります。
拡張子が .dst のファイルは、IDE のレイアウトが保存されています。このファイルを削除すると、レイアウトがデフォルトに戻ります。再設定が必要です。

アドレスが 00000018 以外の時は、別の原因と思われます。



図17
[bin] フォルダ内の .dst ファイルを削除する




08_32 ビット版の Windows 7 に Delphi 7 以前 をインストール


64 ビット版の Windows には、Delphi 4 以上でないとインストールできません。
32 ビット版の Windows であれば、初期のバージョンの Delphi もインストールできます。
32 ビット版の Windows には、NTVDM (NT Virtual DOS Machine) と言う、16 ビットのプログラムを実行する機能が実装されています。64 ビットの Windows には NTVDM が実装されていません。

Delphi 1 は、16 ビットのアプリです。Delphi 2 / 3 / 3.1 は 32 ビット版ですが、インストーラが内部で 16 ビットのプログラムを使用しています。16 ビットのプログラムが起動すると、NTVDM の機能が働き、インストールして実行が可能です。
NTVDM が実装されていない 64 ビット版の Windows では、16 ビットのプログラムは実行できません。したがって、Delphi 3.1 以前の Delphi はインストールできません。

Delphi 6 以上は、インストーラも Delphi (IDE) 自身も 32 ビットですから、インストールも実行も可能ということになります。



図18
32 ビット版の Windows 7 にインストールした Delphi
図19
デスクトップにショートカットを作成
  • 管理者権限で起動できるようにしておく
  • 管理者権限での起動を意味する「盾」のマーク付きになっている

  • Revo Uninstaller は、Delphi を完全にアンインストールするために使用したアプリ

下図は、インストールした Delph 1 (Delphi) を起動した設計時の画像です。
BDE 経由で Paradox のデータベースに接続し、表のデータを表示しています。



図20
Delphi 1




09_Windows 8.1 に Delphi 7 以前 をインストール


Windows 8.1 へのインストールも、現れるダイアログのデザイン等が違うだけで、Windows 7 へのインストールの場合とほとんど同じです。前項の記事を参考にしてください。

Windows 8 / 8.1 の場合、初期状態では、NTVDM はインストールされていません。
NTVDM がインストールされていない場合、下図のようなダイアログが現れます。このダイアログから NTVDM の機能をインストールします。



図21
NTVDM のインストール

NTVDM は下図の [Windows の機能の有効化または無効化] のダイアログで設定できます。このダイアログは以下のコマンド (コマンドプロンプトや [ファイル名を指定して実行] 等) で表示できます。


%SystemRoot%\System32\OptionalFeatures.exe


図22
[Windows の機能の有効化または無効化] ダイアログの NTVDM の設定
  • NTVDM の設定は、64 ビット版の Windows 8.1 にはない

Windows 7 の時と同じ様に、インストールの時、あるいは IDE 起動時に、[プログラム互換性アシスタント] のダイアログや [JIT デバッガ] 関係のダイアログが表示されます。

これらのダイアログが表示されるかどうかは、インストールする Delphi のバージョン、あるいは、既に他のバージョンの Delphi がインストールされているかによります。
これらのダイアログは非表示にすることもできます。




図23
プログラム互換性アシスタント
  • [ヘルプ情報を使用せずにプログラムを実行する] をクリック
  • [表示しない] にした場合は [ヘルプ情報を使用せずにプログラムを実行する] と同じ動作となる
図24
JIT (Just-In-Time) デバッガの設定
  • [はい] をクリック
  • [確認を行わない] にした場合は [はい] をクリックしたのと同じになる
図25
32 ビット版の Windows 8.1 にインストールした Delphi
  • 管理者権限で起動可能にしておいた
  • 管理者権限での起動を意味する「盾」のマーク付きになっている

  • Revo Uninstaller は、Delphi を完全にアンインストールするために使用したアプリ




10_Windows 7 / 8.1 へのインストール作業の結果


以下は、筆者が、Windows 7 と Windows 8.1 に Delphi をインストールした結果です。
32 ビット版の Windows 7/8.1 については、インストールと IDE の起動程度の確認だけです。



   32 ビット版 Windows 7/8.1 64 ビット版 Windows 7/8.1
Delphi 1 通常インストール可 不可
Delphi 2 通常インストール可 不可
Delphi 3 通常インストール可 不可
Delphi 4 通常インストール可 通常インストール可
Delphi 5 通常インストール可 通常インストール可
Delphi 6 通常インストール可 通常インストール可
Delphi 7 通常インストール可 通常インストール可


[備考 1]
ネット上に、UAC を無効にしてインストールする記事があります。また、Program Files (Program Files (x86)) 以外の場所にインストールする記事もあります。Program Files (Program Files (x86)) やシステムフォルダのアクセス権を変更してインストールする記事もあります。
本ページのインストールと実行のテストでは、そのような操作は一切していません。


[備考 2]
64 ビットの Windows にインストールしても、64 ビットのアプリケーションが作成できるわけではありません。64 ビットのアプリケーションの開発には Delphi XE2 以降が必要です。