如何查找在delphi中是否安装了firebird以及在何处安装了firebird

Kaz*_*rus 2 windows delphi registry search path

问题:我需要在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。简短地说:我

And*_*y_D 5

您可以通过检查注册表项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;
Run Code Online (Sandbox Code Playgroud)