安装包的自动安装与卸载

背景:

由于项目需求,需要在安装包安装之前,先卸载之前旧版本的安装。那么怎么能比较干净的卸载掉之前的旧版本安装包呢?

  1. 方法一:查找搜索安装路径并删除相应文件夹?删除快捷键?删除添加删除程序对应的项目,还有一些installsheild自己生成的文件,注册表键值等等?有没有遗漏?
  2. 方法二:还有没有别的方法,能够像添加删除程序中所作的,进行干净的卸载呢?

在开始前,这里先介绍Installshield的一个函数,具体大家可以参考Installshield的手册:

  • 语法:LaunchAppAndWait (szProgram, szCmdLine, lWait);
  • 说明:LaunchAppAndWait函数运行由szProgram指定的带有szCmdLine指定的命令行参数的应用程序。第三个参数,lWait指示安装在继续前是否要等待直到运行的应用程序终止。

  一个安装程序只能监控由szProgram指定的应用程序;如果该应用程序要运行其它应用程序或进程,安装程序不能监控它们。因此,安装程序将在第一个应用程序结束后继续,即使那时由第一个应用程序运行的其它应用程序仍在运行。注意如果运行的应用程序终止失败,则安装程序将无限等待运行的应用程序完成。参数: szProgram 指定要被运行的应用程序的文件名。建议要指定应用程序的完整路径和文件名。如果你不包括一个路径,InstallShield将使用被Windows API 函数CreateProcess使用的相同的查找次序来定位文件。如果文件未能在这些位置找到,函数将失败。  如果应用程序的全限定名包括长文件夹名和/或一个长文件名,在把szCommand传递给LaunchAppAndWait之前先把它传递给LongPathToQuote。 szCmdLine 指定传递给运行的应用程序的命令行参数。为运行没有命令行参数的应用程序,传递一个空字符串。 lWait 指定安装程序在继续前是否要等待运行的应用程序终止。在该参数位置传递下列预定义常量之一: NOWAIT:指定安装程序在运行应用程序后立即继续,应用程序将和安装程序脚本同时运行。注意使用该参数等效于调用函数LaunchApp。 WAIT:指定安装程序必须等待直到由该函数运行的应用程序终止。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值