InnoSetup Registry auslesen bei 32bit und 64bit

27.10.2015 - Lesezeit: ~1 Minute
function GetHKLM: Integer;
begin
  if IsWin64 then
    Result := HKLM64
  else
    Result := HKLM32;
end;

function FirebirdDefaultDir() :string;
begin
  if RegQueryStringValue(GetHKLM(),'SOFTWARE\Firebird Project\Firebird Server\Instances','Defaultinstance',result) then
    Result:=AddBackSlash(Result)
  else
    Result:='';
end;

function isNotFirebird() :boolean;
var
  s :string;
begin
  Result:=true;
  s:=FirebirdDefaultDir();
  if s<>'' then
    Result:= not FileExists(s+'bin\fbClient.dll') and not FileExists(s+'WOW64\fbClient.dll');
end;
Tags: InnoSetup

Innosetup - Nach der Installation eine Datei kopieren

29.10.2010 - Lesezeit: ~1 Minute

Nach der Installation soll eine Datei in Abhängigkeit von der Windowsversion in ein Verzeichnis kopiert werden.

Die Datei qf steht im Installationsverzeichnis bereit.

Das Zielverzeichnis zv soll ab Windows-Vista das Verzeichnis
C:\Users\user_name\Appdata\Local\ sein. In älteren Windowsversionen wird die Datei im Programmverzeichnis gespeichert.

[Code]  
procedure CurStepChanged(CurStep: TSetupStep);  
var qf,zf,zv:string;  
  Version: TWindowsVersion;  
begin  
  if CurStep = ssPostInstall then begin  
    GetWindowsVersionEx(Version);  
    if Version.Major>=6 then  
      zv:=ExpandConstant('{localappdata}\wnftest\')  
    else  
      zv:=ExpandConstant('{app}\');  
    qf:=ExpandConstant('{src}\einstellungen.dat');  
    zf:=zv+'kita_fb.liz';  
    MsgBox(IntToStr(Version.Major)+#13+  
      qf+#13+zv+#13+zf, mbInformation, MB_OK);  
    forcedirectories(zv);  
    FileCopy( qf, zf,FALSE);  
    end  
end;  
Tags: win7 InnoSetup