レジストリを利用してInnoでODBC接続を作成する作業をしています。私が進めてきた問題は、Innoが私が設定したすべてのキーを作成しないということです。私は64ビットバージョンのWindowsを使用しており、32ビットInnoインストーラを使用して32ビットアプリケーションをインストールしています。これは、32ビットODBCアドミニストレータの接続を作成し TESTDBF1InnoセットアップですべてのODBC REGキーが作成されない
:私は値を保持している接続TESTDBF1を持って :私は使用していますパスはHKLM \ SOFTWARE \ WOW6432NODE \ ODBC \ ODBC.INI
例です表示されるカスタムdBaseバージョン(IV)とディレクトリ(C:\ DIR)も指定する必要があります。これを行うには、以下のサブキーを追加する必要があります。または、ODBC管理者はデフォルトのdBaseバージョン(V)と現在のディレクトリのみを表示します。また
This Xbase directory is needed to hold the custom settings specified in the main TESTDBF1 section
The keys in the Xbase directory.
、私は名前を追加:文字列としてTESTDBF1をWOW6432NODE \ ODBC \ ODBC.INI \ ODBCデータソースに "ドライバMicrosoftのdBase(*。DBF)を行います"。
これらのコマンドをすべて実行するには、機能を確認するためにTESTDBF1.regを作成しました。このファイルを実行している/マージの際
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1]
"Driver"="C:\\WINDOWS\\system32\\odbcjt32.dll"
"DefaultDir"="C:\\IBS"
"DriverId"=dword:00000115
"FIL"="dBase IV;"
"SafeTransactions"=dword:00000000
"UID"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines]
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase]
"CollatingSequence"="ASCII"
"Deleted"=hex:00
"ImplicitCommitSync"=""
"PageTimeout"=dword:00000005
"Statistics"=hex:00
"Threads"=dword:00000003
"UserCommitSync"="Yes"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBC.INI\ODBC Data Sources]
"TESTDBF1"="Driver do Microsoft dBase (*.dbf)"
、すべてのキーが正常に作成されていると私は値がODBCアドミニストレータに表示されているカスタムを確認することができます。
だから、私は思っている - ちょっと働いて!今私はInnoに追加することができます! No. 私はInno Script Studioをコンパイラとして使用しています。 レジストリファイルTESTDBF1.regをインポートします。スクリプトに使用したばかりで、インストーラを実行しました。そのような運はありません。 \ WOW6432Node \ ODBC \ ODBC.INI \ TESTDBF1のキーはすべて作成されますが、次のサブディレクトリは作成されません(\ Engines \ Engineines \ Xbase)。注意:XbaseはODBC.INI \ ODBC管理者を開くと、TESTDBF1が保持されます。
のでTESTDBF1.regが再び動作を確認した後、私は革新に書いたコードを見て:
; Imported Registry File: "C:\Users\Support\Documents\test\TESTDBF1.reg"
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1; ValueType: string; ValueName: "Driver"; ValueData: "C:\WINDOWS\system32\odbcjt32.dll"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1; ValueType: string; ValueName: "DefaultDir"; ValueData: "C:\DIR"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1; ValueType: dword; ValueName: "DriverId"; ValueData: "$00000115"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1; ValueType: string; ValueName: "FIL"; ValueData: "dBase IV;"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1; ValueType: dword; ValueName: "SafeTransactions"; ValueData: "$00000000"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1; ValueType: string; ValueName: "UID"; ValueData: ""; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase; ValueType: string; ValueName: "CollatingSequence"; ValueData: "ASCII"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase; ValueType: binary; ValueName: "Deleted"; ValueData: "00"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase; ValueType: string; ValueName: "ImplicitCommitSync"; ValueData: ""; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase; ValueType: dword; ValueName: "PageTimeout"; ValueData: "$00000005"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase; ValueType: binary; ValueName: "Statistics"; ValueData: "00"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase; ValueType: dword; ValueName: "Threads"; ValueData: "$00000003"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1\Engines\Xbase; ValueType: string; ValueName: "UserCommitSync"; ValueData: "Yes"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\ODBC Data Sources; ValueType: string; ValueName: "TESTDBF1"; ValueData: "Driver do Microsoft dBase (*.dbf)"; Flags: uninsdeletekey;
うーん。私はそれに間違って何かを見つけることができません。私はインストールスクリプトを何度も何度も実行しましたが、何をしていてもインストールスクリプトの中から\ Engines \ Xbaseキーを書き込むことはできません。
ここで、インストールの最後に.regファイルを実行するだけですか?
私のスクリプトの一部は、これらのregキーの一部としてインストールディレクトリ(変更)を使用するためです。 ValueDataをメモします。例:
Root: HKLM; Subkey: SOFTWARE\WOW6432Node\ODBC\ODBC.INI\TESTDBF1; ValueType: string; ValueName: "DefaultDir"; ValueData: "{app}\IBS"; Flags: uninsdeletekey;
インストーラを実行した後、これはすべてのヘルプははるかに高く評価されるだろう
HKLM \ SOFTWARE \ WOW6432NODE \ ODBC \ ODBC.INI \ TESTDBF1で作成されたキーであります - 私はこの時点でかなり困惑しています。