2014-02-24 82 views
2

我在遇到正在使更新工作的过程中遇到问题。高级安装程序:停止安装程序在升级时清除临时文件

使用的更新方法是执行卸载然后安装。

我的问题是:

  • 我有依靠文件在Temp文件夹的几个自定义操作,而这些都在一个干净的完美运行以及安装。
  • 当谈到但是更新,自定义操作失败,因为它似乎在Temp文件已经为AI_RemoveAllTempFiles行动

这个动作似乎越来越之后进行安装初始化并安装敲定后的部分去除。 有没有办法在更新时关闭删除临时文件,或者我应该删除正在安装初始化时执行的AI_RemoveAllTempFiles操作?

我试图使用OLDPRODUCTS属性尝试并停止AI_RemoveAllTempFiles操作,但它似乎没有奏效。通过这个我的意思是我修改了InstallExecuteSequence表的条件OLDPRODUCTS =""AI_RemoveAllTempFiles条目

回答

1

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

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

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

+0

是的,这基本上是它在做什么 – Thewads

+0

很高兴我能帮上忙。如果问题有帮助,不要忘记标记问题的答案,以便其他用户也可以找到答案。 –

相关问题