advanced-installer - 高级安装程序 : Stop installer from clearing temp files on upgrade

标签 advanced-installer

我在使更新工作的过程中遇到了问题。

使用的更新方式是先卸载再安装。

我的问题如下:

  • 我有几个依赖于 Temp 文件夹中的文件的自定义操作,这些都在全新安装中运行良好。
  • 然而,当谈到更新时,自定义操作失败了,因为似乎临时文件已作为 AI_RemoveAllTempFiles 操作的一部分被删除

此操作似乎是在安装初始化之后和安装完成之后完成的。 有没有办法在更新时关闭临时文件的删除,或者我应该只删除在安装初始化时执行的 AI_RemoveAllTempFiles 操作?

我曾尝试使用 OLDPRODUCTS 属性来尝试停止 AI_RemoveAllTempFiles 操作,但似乎没有效果。我的意思是我已经修改了 InstallExecuteSequence 表,使 AI_RemoveAllTempFiles 条目的条件为 OLDPRODUCTS =""

最佳答案

我怀疑发生的情况是您的应用程序的旧版本删除了临时文件,而不是新版本。即,当它的卸载由新包中的标准操作 RemoveExistingProducts 触发时,它会执行此操作。你可以在 verbose log 中看到这个很容易。

为避免在更新期间出现此问题,您应该将临时文件添加到 Temporary 文件夹的子文件夹中。此子文件夹应针对每个版本具有唯一的名称,例如您可以将其设置为 [|ProductCode]

在您的自定义操作中,为确保您始终获得临时文件的正确路径,请使用它们的相应属性,即每个临时文件都关联了一个唯一属性,当您双击 中的文件时出现的对话框中可见>文件和文件夹页面,此属性解析为文件的完整路径。

关于advanced-installer - 高级安装程序 : Stop installer from clearing temp files on upgrade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21988665/

相关文章:

windows-installer - 高级安装程序启动操作

java - 如何使用 Advanced Installer 将 MySQL 数据库附加到 Java 应用程序

jenkins - 在 Jenkins 中使用高级安装程序

java - 高级安装程序将另一个目录添加到 PATH 变量中 (Windows)

apache - 通过 Advanced Installer 静默安装 Apache

java - 无法创建数据库设置的文本文件

installation - 使用高级安装程序合并模块

java - 我可以在应用程序安装程序中集成 Apache 和 Mysql 吗?

sql-server - SQL Server 静默安装在安装过程中出现错误