inno setup 安装建立回滚机制

本文介绍了如何在Inno Setup脚本中建立安装回滚机制,以防安装失败时能恢复到先前状态。详细步骤包括在安装前备份文件,安装后判断成功率,成功则删除备份,失败则恢复原文件并删除备份目录。代码示例中展示了如何定义全局变量、移动目录以及回滚操作。
摘要由CSDN通过智能技术生成

目的

安装包在安装过程中可能因为环境或者其他特殊原因安装失败了,但是不能影响以前安装的旧版本,所以就需要建立回滚机制,当安装失败的时候自动复原到以前的版本

实现步骤

  • 在安装之前,拷贝安装目录下的文件到缓存目录,或者移动安装目录下的文件到缓存目录
  • 安装完成之后判断,是否安装成功
  • 如果安装成功
    • 删除缓存目录
  • 如果安装失败
    • 把安装目录下的文件删除,从缓存目录拷贝文件到安装目录下
    • 删除缓存目录

代码

定义全局变量

var
    isInstallSuccess:boolean; //用于判断是否安装成功
    tmpDir:String;       //缓存文件目录

移动目录

首先封装一个移动文件夹的函数

procedure DirectoryMove(SourcePath, DestPath: string);
var
  FindRec: TFindRec;
  SourceFilePath: string;
  DestFilePath: string;
begin
  if FindFirst(SourcePath + '\*', FindRec) then
  begin
    try
      repeat
        if (FindRec.Name <> '.') and (FindRec.Name <> '..') then
        begin
          SourceFilePath := Sourc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值