Guten Abend zusammen^^
Ich habe bei mir in meinem Code ganz am Schluss nun ein Problem noch drin und ich bin einfach zu blind es zu sehen.
Beim Installieren lasse ich ein Backup einer Datei erstellen
Delphi-Quellcode:
[Files]
Source: {code:InstallCae}\PRTDEF.GER; DestDir: {code:InstallCae}\Backup\; Flags: ignoreversion confirmoverwrite external
Und diese Datei soll logischerweise bei der Deinstallation wiederhergestellt werden und das versuche ich hiermit:
Delphi-Quellcode:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
//Code für deinstallation
begin
RegQueryStringValue(
HKLM,'
{#UNINSTKEY}','
CAE2000Location',GetCAE2000Path);
if CurUninstallStep = usAppMutexCheck
then
begin
MsgBox(ExpandConstant(GetCAE2000Path),mbError,MB_OK);
FileCopy('
ExpandConstant(GetCAE2000Path)\Backup\PRTDEF.GER', '
ExpandConstant(GetCAE2000Path)\PRTDEF.GER', false);
end;
if CurUninstallStep=usDone
then
begin
RegDeleteKeyIncludingSubkeys(
HKLM, '
{#UNINSTKEY}');
end;
end;
Das Löschen des Registry Eintrages funktioniert einwandfrei jedoch nicht das Kopieren der Datei.
Es gibt keine Fehlermeldung oder sowas, er macht einfach nichts.
Die MessageBox habe ich mir nur eingefügt um zu sehen ob der Code auch korrekt ausgelesen wird und in meinem Fall wird er das. Der String "GetCAE2000Path" heißt bei mir dann D:\CAE2000.
Tippe ich die Pfadangaben statisch ein läuft das Kopieren durch, also liegt die Vermutung nahe das der Pfad einfach ausm String nicht korrekt übergeben wird, aber ich sehe es einfach nicht.
Kann mir hier einer helfen?
Ps. Schreiben tue ich das ganze im Programm "Inno Setup"