很多時候我們需要在安裝文件之前卸載原有的程序而不是覆蓋安裝,本文的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. 未能添加对***.dll的引用 问题解决方法
  2. 昂贵的聘礼(poj 1062)
  3. Linux下svn 安装搭建配置流程
  4. 摆摊真的一个月能上万嘛
  5. [转] Understanding and Solving Internet Explorer Leak Patterns
  6. php yii开发工具,开源PHP开发框架Yii教程
  7. IDP:云原生的“Jupyter”,让算法团队更高产
  8. Windows 7 的一些使用技巧
  9. cesium加载arcgis切片
  10. 系统学习机器学习之随机场(二)--MEMM
  11. Java数据库编程---JDBC操作步骤及数据库连接操作
  12. CAE软件技术现状调研
  13. Android 端音频变声方案
  14. win8激活时出现”错误代码:0×8007007B 错误描述:文件名、目录名或卷标语法不正确“解决方法
  15. Office2021官方镜像
  16. win10 t480耳机没有声音处理方法
  17. VSFTPD搭建过程记录
  18. unimrcp 实现阿里云的plugin
  19. 【箱型图】如何看箱型图
  20. 借壳上市案例解析-容易理解

热门文章

  1. codeforces 1003a Polycarp's Pockets
  2. EasyDSS如何通过API接口调用指定时间段的录像播放视频?
  3. SAT写作重要方法之体会英文名著观察生活
  4. 淘系前端搭建服务在2020年有哪些变化?
  5. 全球与中国塑料面罩市场深度研究分析报告
  6. C++实现查找 - 顺序、二分和哈希查找
  7. Python浪漫表白源码(附带详细教程)
  8. 软raid5创建删除与配置
  9. Tensorflow模型训练六步法
  10. Python练习--字符串的操作习题