Привет.
Есть такой код:
#include "SHFileOperation.iss"
Первая часть делает бэкап папки и помещает её в папку откуда идёт установка. Нужно чтоб пвпка помещалась в целевую папку под названием _Backup engine и на раб.столе создавался ярлык на uninstall с восстановлением из бекапа. Нужно чтоб в процессе uninstall папка bin удалялась,а на её место восстанавливался бекап!
Вторая часть всё делает как надо,но при деинст. папка _Backup не удаляется.
Я не прораммист - тонкостей не знаю. Ищу коды и вставляю в скрипт. Переписать не умею. Если можете то подскажите\перепишите код.
Есть такой код:
#include "SHFileOperation.iss"
Код:
//Если папка с игрой уже существует, переименовываем____Первая часть
procedure CurStepChanged(CurStep: TSetupStep);
begin
case CurStep of
ssInstall: begin
RenameFile(ExpandConstant('{app}\bin'), ExpandConstant('bin'));
end;
end;
end;
//Начало кода, Backup_________Вторая часть
function MoveFile(const srcFile, destFile: PAnsiChar): Integer; external '[email protected] stdcall';
procedure CreateBackup;
var
srcFile, destFile: string;
basePath, shortPath: string;
//begin //Для активации кнопки для Бэкапа убрать в начале begin "//". И в [Tasks] перед Name убрать ";"
//if IsTaskSelected('src') then //Для активации кнопки для Бэкапа убрать в начале if "//". И в [Tasks] перед Name убрать ";"
begin
basePath := ExpandConstant('{app}');
srcFile := ExpandConstant(CurrentFileName);
shortPath := srcFile;
StringChangeEx(shortPath, basePath, '', True);
destFile := ExpandConstant('{app}_\Backup') + shortPath; //Создание папки под названием "_Backup" в программе. Те файлы которые будут ЗАМЕНЕНЫ отправятся в эту папку
ForceDirectories(ExtractFilePath(destFile));
MoveFile(PAnsiChar(srcFile), PAnsiChar(destFile));
end;
//end; //Для активации кнопки для Бэкапа убрать в начале end; "//". И в [Tasks] перед Name убрать ";"
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
MoveDir(ExpandConstant('{app}\_Backup\'), ExpandConstant('{app}')); //От куда брать файлы при восстановлении бэкапа
RemoveDir(ExpandConstant('{app}\_Backup')); //При uninstall удалятся указанная папка _Backup
end;
end;
//Конец кода, Backup
Первая часть делает бэкап папки и помещает её в папку откуда идёт установка. Нужно чтоб пвпка помещалась в целевую папку под названием _Backup engine и на раб.столе создавался ярлык на uninstall с восстановлением из бекапа. Нужно чтоб в процессе uninstall папка bin удалялась,а на её место восстанавливался бекап!
Вторая часть всё делает как надо,но при деинст. папка _Backup не удаляется.
Я не прораммист - тонкостей не знаю. Ищу коды и вставляю в скрипт. Переписать не умею. Если можете то подскажите\перепишите код.