Najprościej byłoby tak:
[Setup]
AppName=My Application
AppVersion=1.0
DefaultDirName={pf}\MyApp
DefaultGroupName=My Application
[Files]
Source: "{app}\_mydata*"; DestDir: "{localappdata}\[TU WPISZ DO JAKIEGO KATALOGU]"; Flags: ignoreversion recursesubdirs createallsubdirs
[Code]
procedure InitializeWizard();
begin
// Tutaj możesz dodać dowolny kod, który będzie uruchamiany podczas inicjalizacji kreatora
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = wpFinished then
begin
// Kod, który zostanie uruchomiony po instalacji
end;
end;
Jeżeli ciebie to nie zadowala spróbuj tak
[Setup]
AppName=My Application
AppVersion=1.0
DefaultDirName={pf}\MyApp
DefaultGroupName=My Application
[Code]
// funkcja kopiowania folderu
function CopyDir(const SourcePath, DestPath: string): Boolean;
var
ErrorCode: Integer;
begin
Result := CreateDir(DestPath);
if not Result and (DirExists(DestPath)) then
Result := True;
if Result then
begin
{
xcopy:
/E: Kopiuje wszystkie podkatalogi, w tym puste.
/I: Zakłada, że cel jest katalogiem, jeśli cel nie istnieje.
/Y: Nie pyta o potwierdzenie przy nadpisywaniu plików.
}
Result := ShellExec('', 'cmd.exe', Format('/C xcopy /E /I /Y "%s" "%s"', [SourcePath, DestPath]), '', SW_HIDE, ewNoWait, ErrorCode);
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
var
SourcePath, DestPath: string;
begin
if CurStep = wpFinished then
begin
SourcePath := ExpandConstant('{app}\_mydata');
DestPath := ExpandConstant('{localappdata}\[TU WPISZ DO JAKIEGO KATALOGU]'); // ustaw po swojemu np ExpandConstant('{localappdata}\MyApp');
if not CopyDir(SourcePath, DestPath) then
begin
MsgBox('Failed to copy _mydata folder to AppData\Local.', mbError, MB_OK);
end;
end;
end;