0

作業中のプログラムの新しいインストーラーを作成していますが、psqlodbc ドライバーの登録に問題があります。残念ながら、私はインストーラーや odbc ドライバーについてあまり知りません。

この特定のプログラムの古いインストーラーのコピーを持っていますが、これは他の誰かによって作成されたものです。Orca を使用して msi のレジストリ テーブルを確認すると、 psqlodbc に関連するいくつかのエントリが表示されます。

**Registry**            **Key**                                 **Name**            **Value**
psqlodbc.reg.1.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers PostgreSQL          Installed
psqlodbc.reg.2.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   APILevel            1
psqlodbc.reg.3.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   ConnectFunctions    YYN
psqlodbc.reg.4.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   Driver              [#psqlodbc.dll.<GUID>]
psqlodbc.reg.5.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   DriverODBCVer       03.00
psqlodbc.reg.6.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   FileUsage           0
psqlodbc.reg.7.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   Setup               [#psqlodbc.dll.<GUID>]
psqlodbc.reg.8.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   SQLLevel            1
psqlodbc.reg.9.<GUID>   SOFTWARE\ODBC\ODBCINST.INI\PostgreSQL   UsageCount          #1

ただし、psqlodbc.dll ファイルをインストーラーに組み込むために heat を使用して取得しようとすると、.wxs ファイルに表示されるのはファイル要素だけです (レジストリ データはありません)。regsvr32 を使用して手動で登録しようとしましたが、「エントリ ポイント」が見つからないというエラーが表示されます。

基本的に、古いインストーラーは psqlodbc ドライバーのレジストリ エントリを作成しています。これは regedit を使用して確認できますが、この動作を新しいインストーラーに組み込む方法がわかりません。

今週が仕事の最後の週で、退職する前にこのインストーラーを動作させたいと思っています。

助けてください!!

4

1 に答える 1