Отвечаю сам на свой вопрос:
Код:
var
oldPath: String;
//////////////////////////////////
function GetOldPath(): String;
var
sUnInstPath: String;
sOldPath: String;
begin
sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\Моя программа_is1');
sOldPath := '';
if not RegQueryStringValue(HKLM, sUnInstPath, 'Inno Setup: App Path', sOldPath) then
RegQueryStringValue(HKCU, sUnInstPath, 'Inno Setup: App Path', sOldPath);
Result := ExpandConstant(sOldPath);
end;
///////////////////////////////////
procedure CopyRegFiles;
var
FL: TFindRec;
pt1,pt2 : String;
begin
pt1 := AddBackslash(OldPath);
pt2 := AddBackslash(ExpandConstant('{app}'));
if (Length(oldPath) > 0) and (pt1 <> pt2) then
begin
try
if FindFirst(pt1 + '*.xyz', FL) then
begin
repeat
FileCopy(pt1 + FL.Name, pt2 + FL.Name,False);
until not FindNext(FL);
end;
finally
FindClose(FL);
end;
end;
end;
/////////////////////////////////
//function UnInstallOldVersion(): Integer;
//.........
//end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if (CurStep=ssInstall) then
begin
oldPath := GetOldPath;
//UnInstallOldVersion();
end;
if (CurStep=ssPostInstall) then
begin
CopyRegFiles;
end;
end;