asa8 データベースで実行するアプリケーションがあります。インストールファイルをコンパイルするために inno-setup を使用しています。レジストリに ODBC エントリを入力するサンプルの inno-setup コードを探しています。以下の投稿から現在のロジックに基づいています。
Adaptive server どこでも ASA SqlAnywhere 8.0 ODBC ドライバー
現在、[registry] セクションの下の inno-setup ファイルに入っています。
[Registry]
;ASA DB drivers
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0"; ValueType: string; ValueName: "Driver"; ValueData: "{app}\dbodbc8.dll"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0"; ValueType: string; ValueName: "Setup"; ValueData: "{app}\dbodbc8.dll"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers"; ValueType: string; ValueName: "Adaptive Server Anywhere 8.0"; ValueData: "Installed"
;ODBC entry
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\LOADCON"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\LOADCON"; ValueType: string; ValueName:
"AutoStop"; ValueData: "Yes"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\LOADCON"; ValueType: string; ValueName:
"DatabaseFile"; ValueData: "{app}\db_loadcon\loadcon.db"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\LOADCON"; ValueType: string; ValueName: "Driver"; ValueData: "{app}\dbodbc8.dll"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\LOADCON"; ValueType: string; ValueName: "Integrated"; ValueData: "NO"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\LOADCON"; ValueType: string; ValueName: "PWD"; ValueData: "sql"
Root: HKLM; Subkey: "SOFTWARE\ODBC\ODBC.INI\LOADCON"; ValueType: string; ValueName: "UID"; ValueData: "dba"
これはすべて、WINXP (32 ビット) で正常に動作します (ソートオフ)。Win7 (64bit) では動作しません。誰かが 32 ビット OS と 64 ビット OS の両方で動作する inno-setup コードを示すことができますか? レジストリの WOW6432Node を認識しており、WIN7 に 64 ビットと 32 ビットの ODBC データ ソース アドミニストレータがあることを知っています。32 ビット ASA8 ODBC 接続は、C:\Windows\SysWOW64\ フォルダーにある ODBCAD32.exe を介してのみ確立できることを認識しています。inno-setup コードをいじりましたが、うまくいきません。今、誰かの専門家の意見が必要です。
また、上記の inno-setup コードを WINXP で実行すると、レジストリに ODBC エントリが作成されますが、実際の ODBC データ ソース アドミニストレータ GUI にはエントリが表示されません。ただし、ODBC 接続は機能します。接続を GUI に表示する方法について何か考えはありますか?