Windows installer 如何让InstallShield LE自动卸载现有安装?

Windows installer 如何让InstallShield LE自动卸载现有安装?,windows-installer,uninstallation,installshield-le,Windows Installer,Uninstallation,Installshield Le,这可能吗 我所能看到的搜索基本上是,我需要使用第三方工具(如Orca)从我现有的MSI获取GUID,并使用这些工具配置InstallShield以卸载现有版本。我已经试过一到两套这样的说明,但到目前为止没有任何效果。可能是因为我做错了什么,但我似乎在做一些我认为应该相对直截了当的事情。这个问题以前没有解决过吗 谷歌排名靠前的结果是: 用Orca打开旧的MSI,并从属性表中获取其升级代码 在InstallShield LE项目中,转到解决方案资源管理器中的“常规信息” 确保“升级代码”字段设置为

这可能吗

我所能看到的搜索基本上是,我需要使用第三方工具(如Orca)从我现有的MSI获取GUID,并使用这些工具配置InstallShield以卸载现有版本。我已经试过一到两套这样的说明,但到目前为止没有任何效果。可能是因为我做错了什么,但我似乎在做一些我认为应该相对直截了当的事情。这个问题以前没有解决过吗

谷歌排名靠前的结果是:

  • 用Orca打开旧的MSI,并从属性表中获取其升级代码
  • 在InstallShield LE项目中,转到解决方案资源管理器中的“常规信息”
  • 确保“升级代码”字段设置为旧的MSI升级代码
这是否意味着每当我想部署新版本时,我都必须打开我的“旧MSI with Orca并获取其升级代码”


这听起来有点老土,当然我不想每次部署新版本时都这么做。有没有一种方法可以让这一切自动化?此功能是否在更高级版本的InstallShield中可用(请记住,我在LE上-如有必要,我将升级)

InstallShield LE与之前的安装项目一样,允许安装新版本的产品,以替换以前安装的版本。从技术上讲,这是对旧产品的卸载,还是就地升级似乎并不重要

关键在于产品代码升级代码之间的区别:

  • 产品代码:由于此代码唯一标识您的产品,因此不建议您在分发发行版后更改产品代码

  • 升级代码:对于产品的所有版本,存储在UpgradeCode属性中的升级代码应保持不变

(此文本直接来自InstallShield LE帮助库。)

如何使用这些代码部署同一产品的产品和版本更新并不简单

“帮助”文本听起来好像永远不应该更改产品代码。事实并非如此。可能应该写得更清楚,说明“由于此代码唯一标识您的产品版本,因此不建议您在发布特定版本后更改产品代码。”。。。或者类似的

基本上,在创建要发布的新版本时,您应该更改产品代码。别管升级代码!要更改产品代码,请单击代码右侧的{..}按钮。InstallShield LE将生成一个新代码

我的标准过程是更改项目的版本,生成新的产品代码,并构建InstallShield安装项目


在已安装早期版本的计算机上安装产品时,安装项目将对其进行更新,并只在目标计算机上安装一个版本(最新版本)的程序。

据我所知,YJelton的回答是正确的,但是,如果要确保删除旧产品,则应在升级表中添加一个主要升级项目——如果保持升级代码不变(如建议的),则可以选择“产品共享我的升级代码”,对于产品版本,可以选择“任何早期版本”

这样,如果升级代码与旧产品相同,并且新产品的版本号更高,则旧产品将被删除


如果要更改升级代码,可以添加一个主要升级项目,该项目已选择“产品具有另一个升级代码”选项。然后粘贴旧的升级代码。

转到“升级路径”,并将最小版本设置为空白,最大版本。到目前为止。将max/min设置为yes,并将所有代码ID设置为一个guid。

您需要InstallShield LE卸载以前的版本,还是只执行就地升级?您好,JYelton,理想情况下InstallShield只需执行升级即可。但是,我从安装程序(setup.exe)收到的消息是,需要先卸载以前的版本。这个问题的公认答案对我来说很有用:[如何让InstallShield卸载以前的版本?][1][1]:谢谢你。不幸的是,我现在不在工作,所以我不能真正检查它是否有效。我们这里(爱尔兰)有一个银行假日周末,所以在我看这个之前是周二。嗨,JYelton,我尝试了你的建议,它似乎起了作用-按照你的指示,我可以安装新版本,而不必手动卸载旧版本。但是,旧版本仍然存在于“添加或删除程序”列表中(在XP上,未在Windows 7中试用)。你知道是否有办法删除旧版本吗?很抱歉在一个老问题上发帖,但我遇到了与@DaveDev相同的问题。我的升级代码完全相同,但当我更改ProductCode和ProductVersion时,我在添加/删除程序中仍然有多个版本。我也体验过有两个版本,但后来我创建了一个升级路径并修复了它(我想这是为了让安装程序知道它应该尝试升级/更新)我也尝试过上述步骤,但我在添加/删除程序入口中有两个版本的相同应用程序,您在哪里看到选项“主要升级”、“共享我的升级代码的产品”或“任何早期版本”?我只能添加“新升级路径”并输入特定的版本号。