AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

Ein Thema von Kostas · begonnen am 20. Mai 2021 · letzter Beitrag vom 20. Mai 2021
Antwort Antwort
Seite 1 von 2  1 2      
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 12:09
Datenbank: Firebird • Version: 3.0 • Zugriff über: FIREDAC
Hallo Zusammen,

wenn man auf ein fremdes System Firebird 3.0 bereits installiert vorfindet, wie kann man zuverlässig herausfinden ob es eine 32bit oder 64bit Installation ist?
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
671 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 12:55
falls es eine default installation ist, dann ist das nicht so schwer, einfach in program files oder program files (x86)
firebird.exe im pfad firebird suchen, wenn da, dann ist das installiert, ob das als dienst installiert
ist findet man ggf in der registry.

ich würde aber nie eine fremde firebird installation mitbenutzen wollen, macht nur stress beim support

liefer einfach deine eigene version mit aus (inhalt der zip), nehme einen anderen als den 3050 default
port in der firebird conf und ruf ggf install_service.bat mit einem parameternamen deiner wahl auf,
dann heisst der dienst wie du willst

auf dem weg kannst du selber auch parallel mehrere Versionen betreiben auf einer winodws kiste

in den youtube videos hab ich dazu einiges gezeigt
https://www.youtube.com/user/IBExpertise/playlists
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 13:45
Firebird auf derselben Maschine mit unterschiedlichen Ports ist mit bekannt und mache ich auch genau so.
Ich installiere übrigens immer die 32Bit Version aus dem zip. Ich kopiere den Inhalt auf eine Partition und über .bar registriere ich den Service mit dem Namen.

Jetzt würde mich interessieren, wenn ich eine Installation unter c:\Firebird_3030 vorfinde, ob das eine 32bit oder 64bit Installation ist. IBExpert hat da schon ein Problem da es die 32bit Firebird.dll benötigt. Wenn ich mir im Explorer/Details die Firebird.dll oder Firebird.exe anschaue gibt es keinen Hinweis ob 32.bit oder 64.bit.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 13:59
Die Client-Dll ist nur für die (Client-)Anwendung wichtig. Mit einem 32-Bit-Client ( für 32-Bit Anwendungen) kann man problemlos auf einen 64bittigen Server zugreifen und umgekehrt.
Ich würde deshalb immer die 64-Bit Version installieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 14:22
Sorry dass ich nochmals nachfrage,

es geht NUR darum heraus zu finden was installiert ist, 32bit oder 64bit.
Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#6

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 14:45
Firebird.exe lokalisieren und in der dann prüfen, ob zwei Byte hinter der Zeichenfolge PE ein D oder ein L steht.

L = 32 bit
D = 64 bit

https://www.codeproject.com/tips/107...-is-bit-or-bit
https://superuser.com/questions/3584...bit-on-windows
https://www.winhelponline.com/blog/f...bit-or-64-bit/
https://gist.github.com/MyITGuy/a0d462a6e218d1e5a940
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 14:54
perfekt und Dankeschön, damit komme ich klar. Ich war mir so sicher dass in irgend einer Config steht oder anhand der build Nummer zu erkenne ist. Anscheinend doch nicht.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#8

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 15:50
Nur zum Spaß. Könnte man das so machen?
Delphi-Quellcode:
program CheckBitVersion;

{$APPTYPE CONSOLE}

uses
  SysUtils, Classes;

function IsExe64Bit(s : String) : Integer;
var
  fs : TFileStream;
  buffer : Array [0..4095] Of Char;
  i : Integer;
begin
  Result := -1;
  fs := TFileStream.Create(s,fmOpenRead);
  Try
    fs.Read(buffer,SizeOf(Buffer));
    for i := Low(Buffer) to High(Buffer) - 5 do begin
      if (Buffer[i] = 'P') and (Buffer[i + 1] = 'E') then begin
        case Buffer[i + 4] of
          'D' : Result := 64;
          'L' : Result := 32;
        end;
        break;
      end;
    end;
  finally
    fs.Free;
  end;
end;

begin
  Write(ExtractFileName(ParamStr(1)),': ');
  if FileExists(ParamStr(1)) then begin
    ExitCode := IsExe64Bit(ParamStr(1));
    case ExitCode of
      64 : Write('64-Bit');
      32 : Write('32-Bit');
    else
      Write('unbekanntes Format');
    end;
    WriteLn(' (',ExtractFilePath(ParamStr(1)),')');
  end else begin
    WriteLn('existiert nicht');
    ExitCode := -2;
  end;
end.
Aufruf z. B.:
Code:
for %i in (c:\Firebird\*.exe) do @CheckBitVersion.exe %i
Ausgabe z. B.:
Code:
fbguard.exe: 32-Bit
fbsvcmgr.exe: 32-Bit
fbtracemgr.exe: 32-Bit
fb_lock_print.exe: 32-Bit
firebird.exe: 32-Bit
gbak.exe: 32-Bit
gfix.exe: 32-Bit
gpre.exe: 32-Bit
gsec.exe: 32-Bit
gsplit.exe: 32-Bit
gstat.exe: 32-Bit
instclient.exe: 32-Bit
instreg.exe: 32-Bit
instsvc.exe: 32-Bit
isql.exe: 32-Bit
nbackup.exe: 32-Bit
qli.exe: 32-Bit
unins000.exe: 32-Bit
Oder:
Code:
for %i in (c:\Firebird\*.dll) do @CheckBitVersion.exe %i
fbclient.dll: 32-Bit
fbrmclib.dll: 32-Bit
ib_util.dll: 32-Bit
icudt52.dll: 32-Bit
icuin52.dll: 32-Bit
icuuc52.dll: 32-Bit
msvcp100.dll: 32-Bit
msvcr100.dll: 32-Bit
zlib1.dll: 32-Bit
Oder:
Code:
c:\>CheckBitVersion.exe c:\Firebird\firebird.exe
firebird.exe: 32-Bit

c:\>echo %Errorlevel%
32
Und wenn man ein ganzes Laufwerk abgrasen will z. B. sowas:
Code:
for /F "delims=?" %i in ('dir c:\fbclient.dll /b /s') do @CheckBitVersion.exe "%i"
Kann dann aber auch mal ein bisserl dauern

Geändert von Delphi.Narium (20. Mai 2021 um 18:28 Uhr) Grund: Schreibfehler ...
  Mit Zitat antworten Zitat
lxo

Registriert seit: 30. Nov 2017
281 Beiträge
 
Delphi 12 Athens
 
#9

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 15:52
Ansonsten auch ganz einfach im Taskmanager zu sehen.
Einfach unter "Details", Rechte-Maustaste auf eine Spalte und auf "Spalten auswählen" klicken.
Dort die Spalte "Plattform" auswählen. Ganz praktisch finde ich auch immer die Spalte "Befehlszeile".

Siehe Screenshot.
Miniaturansicht angehängter Grafiken
taskmgr_6qw72b6ccw.png  
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.095 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Herausfinden welche Firebird 3.0 32Bit- oder 64Bit Version installiert ist

  Alt 20. Mai 2021, 16:25
Ansonsten auch ganz einfach im Taskmanager zu sehen.
Einfach unter "Details", Rechte-Maustaste auf eine Spalte und auf "Spalten auswählen" klicken.
Dort die Spalte "Plattform" auswählen. Ganz praktisch finde ich auch immer die Spalte "Befehlszeile".

Siehe Screenshot.
genau das ist ausreichend.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz