jrsoftware.org // Jordan Russell's Software
-Home

製  品

-Inno Setup


-Toolbar2000

-Toolbar97

-StripReloc

-その他...

サポート

-ニュースグループ

-連絡先

Inno Setup知識データベース

Inno Setup知識データベースには付属文書やFAQに含まれていない追加の情報を納めています。
(訳注:以下に示す情報は,2004年4月6日時点のスナップショットです。最新の情報に関しては,こちらをご覧下さい。)

BDE(Borland Database Engine)を配布する方法

記事作成: 2003-10-15 19:09 GMT by Jordan Russell
最終更新: 2003-10-26 23:51 GMT by Jordan Russell


32ビット版のInno SetupからBDEをインストールすることは可能です。次の手順に従ってください:

  1. MiniReg.exe [13KB, ソース]をインストール配布物のソースディレクトリにダウンロードしてください
    (たいてい,スクリプトファイルを置いているディレクトリです)。MiniReg.exeは私(Jordan Russell)が
    書いたユーティリティで,マイクロソフト社のREGSVR32.EXEの機能のサブセット版です
    (REGSVR32.EXEを使わないのは,このファイルがWindows 95の最初のバージョンではインストールされていないからです)。
  2. Program Files\Common Files\Borland Shared\BDEフォルダにあるBDEINST.CABからBDEINST.DLLを取り出します。
    このためには,WinZipを使うか,コマンドラインから"EXTRACT BDEINST.CAB"と打ち込んでください
    (BDEINST.CABがBDEのディレクトリになければ,ここ,あるいはここをクリックして,
    バージョン5.11 [3581 KB, md5sum e8a51ce7a07bbece55dad9307c65e224]をダウンロードしてください)。
  3. 取り出したBDEINST.DLLをインストール配布物のソースディレクトリに移動します。
  4. 次の行をスクリプトに追加します:
    [Files]
    Source: "MiniReg.exe"; DestDir: "{tmp}"
    Source: "BdeInst.dll"; DestDir: "{tmp}"
    
    [Run]
    Filename: "{tmp}\MiniReg.exe"; Parameters: """{tmp}\BdeInst.dll"""
    

これだけです。この方法を使えば,実際のファイルのインストールとレジストリの設定を行うのはInno Setupではなく
ボーランド社のBdeInst.dllなので,いわゆる"認定されたインストーラ"の問題を回避できます。

エリアスの作成法

  • Ralf Walhoeferがこれを行うAddAlias (~30KB, 2001-01-08)というプログラムを提供してくれました。
    使用説明書とソースコードが含まれています。インストール配布物でこのプログラムを使用するには:
    • スクリプトの[Files]セクションで,MiniReg.exeやBdeInst.dllと同じ要領でAddAliasプログラムを {tmp} へコピーする。
    • スクリプトの[Run]セクションで,MiniReg.exeの次に {tmp}\AddAlias.exe を実行する。
  • 自分で小さなDelphiのプログラムを書いて,スクリプトの[Run]セクションで実行し,TSession.AddAliasや
    DbiAddAliasを呼び出して希望のエリアスを追加してもよいでしょう。あるいはこの機能をアプリケーションに
    組み込んでもよいでしょう。起動時に必要なエリアスを作成するのです。

    Darko Ivancevicがエリアスを作成する次のDelphiのコードを提供してくれました(私はこのコードをテストしていません)。
    procedure CreateAlias;
    const
      FDbDriver = 'PARADOX';
      SubDir = 'Data';
    var
      FAlias: string;
      FAliasDir: string;
    begin
      FAlias := 'aLog2000';
      Session.ConfigMode := cmPersistent;
      if not Session.IsAlias(FAlias) then
      begin
        AliasDir := ExtractFilePath(ParamStr(0)) + SubDir;
        Session.AddStandardAlias(FAlias, FAliasDir, FDbDriver);
        Session.SaveConfigFile;
      end;
    end;
    

SQL Linkのインストール法

Holger Erneから引用:
「方法」の欄で説明されているBDEINST.DLL経由でBDEをインストール方法では,必要なファイルの大半が
インストールされます(私はバージョン5.1.1.1のbdeinst.dll(サイズ:3,67 MB(3,853,824 バイト))
で検証しました)。 あとはSQLドライバ自体を追加し,レジストリを設定してドライバを登録するだけです。 私は次の手順に従います(BDE&SQL-Linkがローカルのハードディスクの<BDEPATH>に
インストールされていることを想定しています): 1. 配布元のコンピュータ(開発システム) ============================================= a) <BDEPATH>にあるbdedeploy.txtを読む。このファイルには,特定のデータベースをサポートとするのに,
再配布する必要のあるファイルに関する情報が書かれている。 例: Interbase用のSQL-Linkドライバ: SQLINT32.DLL Interbaseドライバ SQL_INT.CNF Interbaseドライバ用のBDE設定ファイル b) regedit.exeを実行して,
HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\Setting\Drivers
の情報を調べる。データベース・ドライバに一致するサブキーを選択する
(たとえば,Interbase: subkey "INTRBASE")。(全てのサブキーと共に)このサブキーを
(たとえば,Interbase.regという名前で)エクスポートする([ファイル(F)] --> [エクスポート(E)...])。 2. インストール先のコンピュータにインストール ============================================= a) BDEINST.DLLを用いる方法で,BDEをインストール b) SQL-Linkドライバ(1.aのファイル)をインストール先のコンピュータのBDEをインストールした
ディレクトリにコピー(このディレクトリは,
HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATHから取得できる) c) レジストリのスクリプト(1.bで作成したファイル)を実行 もちろん,セットアップ・プログラムに2.a)〜2.c)の過程を自動的に実行させてもよい。
(a)のドライバと(b)のレジストリ・スクリプト[レジストリの設定をインストール用のスクリプトに追加してもよい。
お好きなように...]を配布元のディレクトリに追加して,インストール配布物をビルドしてもよい。 注:方法は私の場合はうまくいったが,皆さんがうまくいなくても責任ではありません!

ユーザーにディレクトリを選択するダイアローグをを表示させないようにできますか?

このBDEのインストール方法では,できないと思います。

自作のプログラムをアンインストールするとき,BDEは削除されますか?

残念ですが,「No」です。

それに,BDEのディレクトリを抹殺するのに[UninstallDelete]セクションのエントリを使用するのは,よい考えではありません。ユーザーがインストールした他のアプリケーションがBDEに依存しているかも知れないからです。

Site contents Copyright © 1997-2004 Jordan Russell. All rights reserved.

Current category: Alphisation - Misc > Documents > Inno Setup, ISTool, ヘルプファイルの日本語化 | Salvaged by: Nardog