Temyraz@fb,
я так понимаю сохранить нужно это?
CopyDir(ExpandConstant('{app}\files'),ExpandConstant('Путь сохранения бекапа'));
CopyDir(ExpandConstant('{app}\license'),ExpandConstant('Путь сохранения бекапа'));
создаёшь чекбокс на странице выбора компонентов
R.i.m.s.k.y. сказал же через CurStepChanged
вот так оно и будет выглядеть
для бэкапа взял шаг ssInstall, те перед установкой (удалением)
читать дальше »
Код:

var
BackUp_CheckBox: TNewCheckBox;
function make_backup: Boolean;
begin
Result:=BackUp_CheckBox.Checked;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
if BackUp_CheckBox.Checked then
CopyDir(ExpandConstant('{app}\files'),ExpandConstant('Путь сохранения бекапа'));
CopyDir(ExpandConstant('{app}\license'),ExpandConstant('Путь сохранения бекапа'));
end;
procedure InitializeWizard;
begin
BackUp_CheckBox := TNewCheckBox.Create(WizardForm);
with BackUp_CheckBox do
begin
Name := 'BackUp_CheckBox';
Parent := WizardForm.SelectComponentsPage;
Left := ScaleX(304);
Top := ScaleY(213);
Width := ScaleX(113);
Height := ScaleY(17);
Caption := 'Сделать бэкап?';
end;
end;
только это для удаления скрипт. Поэтому вместо {app} используй {src}
путь сохранения потом задашь в коде? Он статичный?