[英]How to find if and where is installed firebird in delphi
問題:我需要在firebird中修改aliases.conf,但是..據我們所知,用戶可以在他想要的任何位置安裝firebird。 因此,我需要以編程方式找出firebird的安裝位置。 我嘗試通過注冊表來執行此操作,但這不是一個好主意,因為幾乎每個新版本的Windows(2000,XP,VISTA,7、8和32位或64位,可能是128位)都會更改注冊表項。 我也嘗試找出搜索注冊表的過程,例如簡單的文本文件,但沒有結果。 我嘗試找到“ HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Wow6432Node \\ Microsoft \\ Windows \\ CurrentVersion \\ SharedDLLs \\ aliases.conf”,但這不是簡單的方法。 問題可能不僅在拉撒路的注冊表功能中存在,但我不知道。 因此,可能有人不知道如何檢查以及在哪里安裝了firebird。 簡短地說:我將使用數據庫文件安裝我的應用程序,並且必須靜默地修改aliases.conf。
通過檢查注冊表項HKLM\\Software\\Firebird Project\\Firebird Server\\Instances
並讀取DefaultInstance
值,可以找到Firebird的安裝位置。
下面的代碼應該可以解決問題:-
var
lReg : TRegistry;
lStr : String;
begin
lReg := TRegistry.Create;
Try
lReg.RootKey := HKEY_LOCAL_MACHINE;
If lReg.OpenKey('Software\Firebird Project\Firebird Server\Instances', False) Then
lStr := lReg.ReadString('DefaultInstance');
lReg.CloseKey;
ShowMessage(lStr);
Finally
FreeAndNil(lReg);
End;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.