1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Вопрос Как сделать резервную копию заменяемых файлов (бэкап)?

Тема в разделе "Inno Setup", создана пользователем ExPlayer, 8 июн 2015.

  1. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    375
    Симпатии:
    69
    Доброго времени суток! Собственно интересует, как можно сделать резервную копию заменяемых файлов (как пример, любой из инсталляторов ZoG). Т.е. там можно поставить галочку, делать резервную копию или нет. Вот хотелось бы узнать, как это можно сделать (по форуму искал, но что-то не нашел похожего вопроса)?
     
  2. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.145
    Симпатии:
    733
    Бекап файлов.
     

    Вложения:

    • Inno Faq.rar
      Размер файла:
      166,4 КБ
      Просмотров:
      45
    Adil и ExPlayer нравится это.
  3. Ветеран

    Регистрация:
    13 фев 2012
    Сообщения:
    268
    Симпатии:
    112
    ExPlayer, я знаю только такое
    Код (Text):

    [Setup]
    AppName=My Program
    AppVerName=My Program version 1.5
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program
    UninstallFilesDir={app}\Mod Uninstall

    [Code]
    procedure CopyFiles(FromPlace, ToPlace: String);
    var
        ResultCode: Integer;
    begin
        Exec('xcopy.exe', '/E /C /H /R /Y /F /I ' + AddQuotes(FromPlace) + ' ' + AddQuotes(ToPlace), ExpandConstant('{app}'), SW_HIDE, ewWaitUntilTerminated, ResultCode);
    end;

    procedure CurStepChanged(CurStep: TSetupStep);
    begin
    if (CurStep = ssInstall) then
    begin
        WizardForm.ProgressGauge.Hide;
        WizardForm.StatusLabel.Caption:='Создание резервных копий файлов...';
        CopyFiles(ExpandConstant('{app}') + '\Profiles\V\Achievements\Achievements.txt', ExpandConstant('{app}') + '\BackupDir\Profiles\V\Achievements\');
        WizardForm.ProgressGauge.Show;
        WizardForm.StatusLabel.Caption:=SetupMessage(msgStatusExtractFiles);
      end;
    end;

    procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
    begin
      if CurUninstallStep = usPostUninstall then
      begin
        CopyFiles(ExpandConstant('{app}') + '\BackupDir\Profiles\V\Achievements\Achievements.txt', ExpandConstant('{app}') + '\Profiles\V\Achievements\');
        DelTree(ExpandConstant('{app}\BackupDir'), True, True, True);
      end;
    end;
     
     
    ExPlayer нравится это.
  4. Безумный Лорд Администратор

    Регистрация:
    15 июн 2011
    Сообщения:
    707
    Симпатии:
    1.031
    Пол:
    Мужской
    Есть еще такое.
     

    Вложения:

    • BackupEx.iss
      Размер файла:
      2,6 КБ
      Просмотров:
      73
    nik1967, ExPlayer и Adil нравится это.
  5. Ветеран

    Регистрация:
    5 мар 2014
    Сообщения:
    375
    Симпатии:
    69
    Спасибо, люди добрые :dance:

    Убедительная просьба: темку пока не закрывайте (вдруг вопросы возникнут :) )

    -
    UPD. всем спасибо. Всё работает :dance::good:
     
    Последнее редактирование: 8 июн 2015
  6. Новичок

    Регистрация:
    8 апр 2018
    Сообщения:
    1
    Симпатии:
    0
    как этим пользоваться аоясните плез

    как это использовать
     
    Последнее редактирование модератором: 10 апр 2018
  7. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.145
    Симпатии:
    733
    действительно, :pardon:
    Код (Inno):
    procedure CurStepChanged(CurStep: TSetupStep);
    begin
      if CurStep = ssInstall then
        CreateBackup(ExpandConstant('{app}'), ExpandConstant('{app}\Backup'), 'move:file1.dat, copy:file2.dat, copy:data\lang*.*');
    end;

    procedure CuruninstallStepChanged(CurStep: TUninstallStep);
    begin
      if CurStep = usUninstall then
        RestoreBackup(ExpandConstant('{app}\Backup'), ExpandConstant('{app}'));
    end;
     

Поделиться этой страницей