InnoSetup忽略、已安装需提醒卸载的使用方法

1.安装忽略某些文件(用于忽略配置文件)

增加属性 onlyifdoesntexist 即可:

Source: "..\RDMSClient\soft\setting.ini"; DestDir: "{app}"; Flags: ignoreversion onlyifdoesntexist

2.检查是否已安装:主要是在注册表检查软件的id,ID与你脚本中AppId保持一致。

procedure InitializeWizard();
var
  uicmd: String;
begin
  WizardForm.LICENSEACCEPTEDRADIO.Checked:=false;
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{203925E5-9A30-48C7-A777-26ACE73A6916}}_is1', 'UninstallString', uicmd) then
    begin
       //已安装,跳过自定义设置界面
    end
  else
    begin
      ClientType();  //自定义设置界面 设置基本信息
    end;
end;

参考例子,安装前 卸载提醒:

function InitializeSetup():boolean;
var
  MykeynotExist:boolean;
  ResultCode: Integer;
  uicmd: String;
begin
  MykeynotExist:= true;
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A8615C4D-1063-4353-9C6A-9AD87F88D231}_is1', 'UninstallString', uicmd) then
  begin
  MsgBox('MooeStudio已经安装,你确定要先卸载,再安装!', mbInformation, MB_OK)
  MyKeynotExist:= false;
  Exec(RemoveQuotes(uicmd), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
  end;
  Result:= MykeynotExist
end;

引用例子:https://blog.csdn.net/pailugou/article/details/108575729

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值