Inno Setup 安装前卸载原程序(转)

简介: 很多時候我們需要在安裝文件之前卸載原有的程序而不是覆盖安装,本文的code就是实现了这样的功能。 实现原理是:從注冊表'UninstallString'項中读取卸载信息,用Exec进行静默卸载。 下面code中APP_NAME为你的程序名,可以去注冊表中确认。

很多時候我們需要在安裝文件之前卸載原有的程序而不是覆盖安装,本文的code就是实现了这样的功能。

实现原理是:從注冊表'UninstallString'項中读取卸载信息,用Exec进行静默卸载。

下面code中APP_NAME为你的程序名,可以去注冊表中确认。

[plain] view plain copy
    1. function InitializeSetup(): boolean;  
    2. var  
    3. ResultStr: String;  
    4. ResultCode: Integer;  
    5. begin  
    6. if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\APP_NAME_is1', 'UninstallString', ResultStr) then  
    7. begin  
    8. ResultStr := RemoveQuotes(ResultStr);  
    9. Exec(ResultStr, '/silent', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);  
    10. end;  
    11. result := true;  
    12. end; 
目录
相关文章
|
编译器 C# Windows
Inno Setup制作安装包教程
Inno Setup制作安装包教程
968 0
|
3月前
inno setup打包软件学习
如何使用Inno Setup打包软件,包括打包结果的展示、示例打包脚本的提供、常见错误的解决方法,以及参考资料的链接。文中详细解释了解决“另一个程序正在使用此文件”和“桌面图标无法修改”等问题的方法,以及如何正确设置打包脚本中的文件路径和图标。
120 0
inno setup打包软件学习
|
7月前
setup facatory9.0打包详细教程(含静默安装和卸载)
setup facatory9.0打包详细教程(含静默安装和卸载)
322 0
|
Windows
“inno setup打包,win7下安装没有桌面快捷方式,xp下安装正常”
修改桌面的快捷键为选中就行了:Flags: checkablealone;在[Tasks]下面修改代码如下:Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIco...
1114 0
制作部署安装包:Inno Setup
原文:制作部署安装包:Inno Setup 前一篇尝试Office 2003 VSTO的开发、部署有提到用VS开发一个简单的VSTO程序。打包C/S程序,我首先想到的是VS里自带的Setup Project。
1344 0
一个比较完整的Inno Setup 安装脚本
原文:一个比较完整的Inno Setup 安装脚本 增加了对ini文件设置的功能,一个安装包常用的功能都具备了。 [Setup]; 注: AppId的值为单独标识该应用程序。; 不要为其他安装程序使用相同的AppId值。
1630 0
Inno setup定制安装界面
原文:Inno setup定制安装界面 Innosetup功能很强大,可以通过它提供的Wizard接口来定制界面,但我对PASCAL语言不熟悉,也不清楚通过那种接口可改动的范围有多大,最后做出来的效果是否好,所以选择了通过一个DLL来实现我的界面。
2426 0