作業中のプログラムの新しいインストーラーを作成していますが、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 を使用して確認できますが、この動作を新しいインストーラーに組み込む方法がわかりません。
今週が仕事の最後の週で、退職する前にこのインストーラーを動作させたいと思っています。
助けてください!!