请教在installshield中怎么添加卸载功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教在installshield中怎么添加卸载功能相关的知识,希望对你有一定的参考价值。

在Resources-》shell object 创建一个快捷方式,在target 栏里写上
<DISK1TARGET>\Setup.exe
在Parameters栏里添:
-uninst
在Start栏里填:
<DISK1TARGET>\

注:<DISK1TARGET> 是指 :程序安装好 会在C:\Program Files\InstallShield Installation Information\GUID 文件夹下创建一个安装文件的副本,这个副本的文件夹目录就是<DISK1TARGET>
运行里面的setup.exe -uninst 程序会执行卸载 。
参考技术A 在Resources-》shell object 创建一个快捷方式,在target 栏里写上
<DISK1TARGET>\Setup.exe
在Parameters栏里添:
-uninst
在Start栏里填:
<DISK1TARGET>\

注:<DISK1TARGET> 是指 :程序安装好 会在C:\Program Files\InstallShield Installation Information\GUID 文件夹下创建一个安装文件的副本,这个副本的文件夹目录就是<DISK1TARGET>
运行里面的setup.exe -uninst 程序会执行卸载 。

在安装之前强制 Installshield 卸载

【中文标题】在安装之前强制 Installshield 卸载【英文标题】:Forcing Installshield to uninstall before an install 【发布时间】:2010-10-13 03:18:54 【问题描述】:

我有一个 InstallShield 12 安装脚本。我想在安装新版本之前卸载旧版本。我将保持包的名称不变。我该怎么做?

【问题讨论】:

【参考方案1】:

假设这不是一个 MSI 项目并且您保持相同的项目 GUID,您可以简单地在 OnMaintUIBefore 函数中调用 ComponentUninstall()。 如果项目 GUID 不同,您可以查看注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\PROJECT_GUID 下的卸载字符串,然后使用它执行 LaunchApp。

希望对你有帮助。

【讨论】:

【参考方案2】:

对于基于 MSI 的项目,这将通过为您的项目配置主要升级来完成。 InstallScript 项目不存在升级,但没有 Windows Installer 限制可防止您同时运行多个安装。您应该能够简单地在您的 InstallScript 代码中手动运行旧版本的卸载(可能在 OnFirstUIBefore 函数中)。

【讨论】:

实际上,现在同时运行多个安装是有限制的。 (例如,您不能从另一个安装程序启动一个安装程序。)因此,如果您希望安装程序安装 .MSI 所需的所有先决条件,则需要制作引导应用程序。我不知道究竟是哪个版本的 Windows 安装程序实现了这些限制(2.0?),但它在某处有记录。 我认为最初的问题是关于 InstallScipt 安装,而不是 MSI 安装。 InstallScript-only 安装没有 Windows Installer 的限制,因为它们不使用 MSI,因此您可以同时运行多个。这就是为什么 InstallScript 安装可以用作其他安装(包括 MSI 安装)的“引导程序”。

以上是关于请教在installshield中怎么添加卸载功能的主要内容,如果未能解决你的问题,请参考以下文章

卸载自定义操作 (InstallShield) 期间删除文件时出错

InstallShield6.0 如何卸载已经制作完成的安装程序?

InstallShield LE:自定义卸载

InstallShield 执行卸载自定义动作

installshield2013limitededition安装后怎么添加到vs中

Installshield静默卸载在命令行中不起作用