И так пробовал. Не получается. Пробовал по всякому:
Тогда без скрипта здесь ничего не решить... И еще вопрос возник: ваши строки при удалении удаляются?
Код: Выделить всё
[Setup]
AppName=test2
AppVerName=test2
DefaultDirName=D:\test
[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl
[CustomMessages]
ru.DeleteOldMods=Удалить все старые моды
ru.CreateBackupOldMods=Сохранить бекап старых модов
ru.DeletingOldMods=Удаление старых модов...
ru.RestoringOldMods=Восстановление старых модов...
[Tasks]
Name: deleteoldmods; Description: {cm:DeleteOldMods}
Name: deleteoldmods\createbackupoldmods; Description: {cm:CreateBackupOldMods}
[Files]
Source: {app}\res_mods\*; DestDir: {app}\ModPack\BackUp\res_mods; Flags: external createallsubdirs recursesubdirs skipifsourcedoesntexist; Tasks: deleteoldmods\createbackupoldmods
Source: {app}\path.file; DestDir: {app}\ModPack\OriginalFiles; Flags: external skipifsourcedoesntexist
[Run]
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\0.9.2"" & md ""{app}\res_mods\0.9.2"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\xvm"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods
[UninstallRun]
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\BackUp\res_mods"" ""{app}\res_mods\"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods\createbackupoldmods
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\OriginalFiles\path.file"" ""{app}\"""; Flags: runhidden

Код: Выделить всё
var
UserDataPage: TInputQueryWizardPage;Код: Выделить всё
[Setup]
AppName=test2
AppVerName=test2
DefaultDirName=D:\test
[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl
[CustomMessages]
ru.DeleteOldMods=Удалить все старые моды
ru.CreateBackupOldMods=Сохранить бекап старых модов
ru.DeletingOldMods=Удаление старых модов...
ru.RestoringOldMods=Восстановление старых модов...
[Files]
Source: {app}\res_mods\*; DestDir: {app}\ModPack\BackUp\res_mods; Flags: external createallsubdirs recursesubdirs skipifsourcedoesntexist; Check: IsOldMods('CreateBackupOldMods')
Source: {app}\path.file; DestDir: {app}\ModPack\OriginalFiles; Flags: external skipifsourcedoesntexist
[Run]
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\0.9.2"" & md ""{app}\res_mods\0.9.2"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('DeleteOldMods')
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\xvm"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('DeleteOldMods')
[UninstallRun]
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\BackUp\res_mods"" ""{app}\res_mods\"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('CreateBackupOldMods')
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\OriginalFiles\path.file"" ""{app}\"""; Flags: runhidden
[code]
var
OldModsListBox: TNewCheckListBox;
///////////////////////////////////////////////
function IsOldMods(const Msg: String): Boolean;
begin
with OldModsListBox do
Result := Checked[Items.IndexOf(CustomMessage(Msg))]
end;
//////////////////////////////
procedure CreateSelectDirPage;
var
rt: TRect;
begin
OldModsListBox := TNewCheckListBox.Create(WizardForm);
with OldModsListBox do
begin
Parent := WizardForm.SelectDirPage;
Top := WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + ScaleY(10);
Width := Parent.ClientWidth;
BorderStyle := bsNone;
ParentColor := True;
ShowLines := False;
WantTabs := True;
AddCheckBox(CustomMessage('DeleteOldMods'), '', 0, True, True, True, False, nil);
AddCheckBox(CustomMessage('CreateBackupOldMods'), '', 1, True, True, False, True, nil);
rt := ItemRect(ItemCount-1);
Height := rt.Bottom;
end;
end;
/////////////////////////////
procedure InitializeWizard();
begin
CreateSelectDirPage;
end;