【问题标题】:InstrallShield Major Upgrade not completely uninstalling previous versionInstrallShield 主要升级未完全卸载以前的版本
【发布时间】:2018-09-29 05:56:49
【问题描述】:

我有一个 InstallShield 2016 InstallScript MSI 项目。

我使用了主要升级选项,但通过这种方法,我看到以前版本的文件被删除,注册表项被删除等。但是,InstallScript (*.rul) 文件中的卸载逻辑没有似乎已被执行,因此之前版本的卸载未完成。

基本上,Major Upgrade 似乎不执行 InstallScript 代码?请指教。

谢谢,

【问题讨论】:

  • 感谢您输入 Stein。我们在“InstallScript MSI”项目中有很多 InstallScript 代码(.rul 文件)。如果我错了,请纠正我,但“基本 MSI”项目使用 Windows 安装程序技术并且不使用 InstallScript。 Plus InstallScript 允许您创建更复杂的项目以满足复杂的需求。我看到还有一个“InstallScript”项目类型。你怎么看?
  • 基本 MSI 项目可以毫无问题地使用 Installscript 自定义操作。主要区别在于 Basic MSI 使用真实的本机 MSI 对话框,而不是 Installscript MSI 安装程序的复杂 Win32 对话框。就我个人而言,我只看到使用 Installscript MSI 项目的缺点。基本的 MSI 项目非常适合企业部署,并且会受到大规模部署的欢迎,而我的经验是 Installscript MSI 设置因其有时笨拙的静默运行功能以及需要“调整它们”以避免设置而受到反对。 exe启动器。

标签: windows-installer installshield uninstallation installscript installscript-msi


【解决方案1】:

许多年前,我不得不将 Installscript MSI 项目转换为 Basic MSI,因为一个错误会导致 Installscript 自定义操作执行所有更改> 在重大升级时回滚。那个bug还会在那里吗?

我不知道。如果我是你,我会立即将我的设置转换为基本 MSI,以避免非常有问题的 Installscript MSI 设置类型。

要转换项目,您可以创建一个新的 Basic MSI 项目文件,关闭它,打开 Installscript MSI 项目文件,然后通过右键单击组件导出所有组件(在组件视图中)并转到“导出到...”(或类似的东西),然后浏览到您的新基本 MSI 项目文件。这样您就可以迁移所有组件,但您必须自己迁移自定义操作和对话框更改 - 据我所知。

我会联系 Installshield 支持并寻求他们的帮助。谁知道呢,也许他们有工具可以帮助您进行这种转换。他们肯定会获得有关您遇到的问题的更多信息。但是,我的 2 美分仍然适用于转换为基本 MSI。这是使用正确的格式。 Installscript MSI 在企业部署中并不受欢迎。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    相关资源
    最近更新 更多