檢查在ODB安裝驅動程序,您必須檢查這個註冊表鍵
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers
從那裏你可以很容易地編寫一個Delphi函數來檢測是否安裝MySQL的ODBC驅動程序
{$APPTYPE CONSOLE}
uses
Windows,
Classes,
Registry,
SysUtils;
function ODBC_DriverInstalled(const DriverName:string) : Boolean;
Var
Reg : TRegistry;
Providers: TStrings;
i : Integer;
begin
Reg:=TRegistry.Create;
Result:=False;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKeyReadOnly('SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers') then
begin
Providers:=TStringList.Create;
try
Reg.GetValueNames(Providers);
for i := 0 to Providers.Count-1 do
begin
if CompareText(DriverName,Providers[i])=0 then
begin
Result:=True;
Break;
end;
end;
finally
Providers.Free;
end;
end;
finally
Reg.Free;
end;
end;
begin
try
Writeln(ODBC_DriverInstalled('MySQL ODBC 5.1 Driver'));
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.
要安裝,您可以使用幾個選項之一inno setup
(它可以讀取Windows註冊表,以檢查odbc驅動程序),然後安裝包含在安裝文件內的驅動程序。還可以使用簡單的HTTP GET從應用程序直接從應用程序中下載驅動程序,並通過一個下載地址位於:here
一次問題比多個問題要好。對於易於學習的安裝程序,請查看InnoSetup,如果您想要在沒有安裝程序的情況下運行,您可能會看到有關將您的運行時DLL嵌入到主要可執行文件中的資源的問題,如果它們可以解壓並設置,需要。 –
+1 thnaks。同意,這可能應該是我的問題。但是OSBC驅動程序不是DLL ......我仍然不確定如何安裝它。也許我應該問如何在這裏檢測它,因爲我想從Delphi和Ank如何在MySql論壇上安裝它。感謝您的幫助 – Mawg
當然,您可以使用MSI或其他類似形式的MySQL連接器/ ODBC的可再發行形式? –