簡體   English   中英

如何查找在delphi中是否安裝了firebird以及在何處安裝了firebird

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM