NightW0lf Цитата: Создать резервную копию во время установки, и кнопку перед установкой "Создать резервную копию оригинальных файлов" с галочкой
-- Пример [more=здесь..]
Код: [Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
Compression=lzma
SolidCompression=yes
Uninstallable=no
[Tasks]
Name: arc; Description: "Create back&up"
[Files]
Source: Files\*.*; DestDir: {app}; BeforeInstall: CreateBackup
[Code]
var
Page: TInputDirWizardPage;
ArcDir: String;
procedure CreateBackup();
var
SrcFile, DestFile: string;
begin
if IsTaskSelected('arc') then
begin
// if Not DirExists(ArcDir) then CreateDir(ArcDir);
ForceDirectories(ArcDir); // исправлено
SrcFile:= AddBackslash(ExpandConstant('{app}')) + ExtractFileName(CurrentFileName);
DestFile:= AddBackslash(ArcDir) + ExtractFileName(CurrentFileName);
FileCopy(SrcFile, DestFile, False);
end;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
If (CurPageID = Page.ID) then
ArcDir := Page.Values[0];
Result:= True;
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
If (PageID = Page.ID) and
(Not IsTaskSelected('arc')) then
Result:= True
else Result:= False;
end;
procedure InitializeWizard();
begin
Page:= CreateInputDirPage(wpSelectTasks, 'Select Backup Location',
'Where should backup files be stored?',
'To continue, click Next.' + #10#13#10#13 +
'If you would like to select a different folder, click Browse.',
False, 'Backup');
Page.Add('');
//Page.Values[0] := ExpandConstant('{sd}\Backup');
Page.Values[0] := AddBackslash(ExpandConstant('{sd}\Backup')) +
GetDateTimeString('yyyy/mm/dd hh:nn', '_', '.' ); // исправлено
end;