很多時候我們需要在安裝文件之前卸載原有的程序而不是覆蓋安裝,本文的code就是實現了這樣的功能。

實現原理是:從注冊表'UninstallString'項中讀取卸載信息,用Exec進行靜默卸載。

下面code中APP_NAME為你的程序名,可以去注冊表中確認。

function InitializeSetup(): boolean;
var
ResultStr: String;
ResultCode: Integer;
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\APP_NAME_is1', 'UninstallString', ResultStr) then
begin
ResultStr := RemoveQuotes(ResultStr);
Exec(ResultStr, '/silent', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
result := true;
end;

Inno Setup 安装前卸载原程序相关推荐

  1. 如何在Android模拟器上安装和卸载APK程序包

    如何在Android模拟器上安装和卸载APK程序包 Android, 程序包, APK, 卸载, 模拟 一,安装APK          安装APK当然首先是要有模拟器,和要安装的APK包,这个不多废 ...

  2. 巧用Rundll32命令安装和卸载Windows程序

    在Windows系统中安装和卸载程序是件非常容易的事情,一般用户通过安装和卸载程序向导就能很轻松地完成.但安装和卸载Windows程序还有些鲜为人知的小技巧,使用Rundll32命令安装和卸载Wind ...

  3. Inno setup 安装卸载前校验工作

    安装前判断是否已安装 [Registry] Root: HKCU; Subkey: "Software\PowerIDE_Install"; Flags: uninsdeletek ...

  4. Inno Setup 系列之较完整的Inno Setup 安装脚本,具备安装包常用的功能

    初接触 Inno Setup ,现把安装包常用的功能安装脚本总结一下,方便以后使用 [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相同的AppId值. ; ...

  5. 程序打包(安装包制作,Inno setup打包教程,QT程序打包)

    一.简介 本文主要讲述如何将QT程序打包成安装包,提供给其他人使用.(打包其他程序同理) 二.准备阶段: 2.1 下载并安装打包工具 Inno setup中文版 密码:id09 2.2 将QT程序DL ...

  6. 一个比较完整的Inno Setup 安装脚本

    从网上搜索来的,增加了对ini文件设置的功能,一个安装包常用的功能都具备了.    [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相同的AppId值. ; ...

  7. inno setup安装之前关闭mysql_innosetup安装之前关闭进程

    InnoSetup覆盖安装的时候可能会因为源程序正在运行而安装失败,以下脚本能够关闭原运行进程. [code] // 安装前检查关闭**进程 function InitializeSetup():Bo ...

  8. Inno Setup 系列之卸载删除文件

    需求 Inno Setup 原则上是安装哪些文件就卸载那些文件. 但实际上往往会在应用的使用过程中,会生成一些日志文件或者在更新程序进行文件操作的时候,产生的文件,在卸载的时候,不能删掉,直接保留在原 ...

  9. Inno Setup 安装退出代码

    0 安装程序运行完成. 1 安装程序初始化失败. 2 用户在实际安装开始前单击向导页中的"取消",或在"这将安装-"消息框中选择了"否". ...

最新文章

  1. ReportDB数据库存储选型分析
  2. the final mapping would have more than 1 type
  3. restful-api最佳实践
  4. C语言程序设计 | 程序环境和预处理:翻译环境和执行环境、宏、条件编译
  5. C++读取INI文件
  6. EasyARM-iMX283A的Linux 开发环境构建
  7. 玩转FusionCharts:Y轴数字形式(如去掉K)
  8. 深入Jetty源码之HttpGenerator
  9. 【水果识别分类】基于matlab形态学水果识别分类【含Matlab源码 1132期】
  10. Spyder中文版补丁下载及安装
  11. 最全数学建模竞赛时间以及获奖率时间总览
  12. MCU芯片通信接口设计
  13. 加州大学洛杉机分校计算机科学,加州大学洛杉矶分校计算机科学排名第14(2020年TFE美国排名)...
  14. 记一次简单爬虫(豆瓣/dytt)
  15. DevExpress 单元格的设置(可设字体、字号、前景色、背景色)
  16. 1bit和1byte_1字节=8bit bit到底是什么?
  17. 『TensorFlow』模型载入方法汇总
  18. 修改了svn服务器配置,配置http方式访问svn服务器
  19. 树冠点云投影面积计算(凸包法)
  20. 2022 全球数字物流与绿色供应链大会暨全球数字物流与绿色供应链博览会筹备工作启动会成功举办

热门文章

  1. python计算AUC值
  2. R方是什么+R方为负什么意思
  3. Web安全行业:零基础学习网络安全需要掌握哪些知识?(附系统路线+工具笔记)
  4. ProxmoxVE 6.4-13 (PVE) 硬件直通-核显/网卡/硬盘
  5. 5.2 Linux文件权限与归属
  6. FS9170马达驱动IC
  7. python的dropna_python--data.dropna
  8. 获取微信版本号 user agent
  9. windows系统golang安装
  10. 【驱动】【算法】一种yuv格式转灰度算法