2014-02-24 113 views
2

我在遇到正在使更新工作的過程中遇到問題。高級安裝程序:停止安裝程序在升級時清除臨時文件

使用的更新方法是執行卸載然後安裝。

我的問題是:

  • 我有依靠文件在Temp文件夾的幾個自定義操作,而這些都在一個乾淨的完美運行以及安裝。
  • 當談到但是更新,自定義操作失敗,因爲它似乎在Temp文件已經爲AI_RemoveAllTempFiles行動

這個動作似乎越來越之後進行安裝初始化並安裝敲定後的部分去除。 有沒有辦法在更新時關閉刪除臨時文件,或者我應該刪除正在安裝初始化時執行的AI_RemoveAllTempFiles操作?

我試圖使用OLDPRODUCTS屬性嘗試並停止AI_RemoveAllTempFiles操作,但它似乎沒有奏效。通過這個我的意思是我修改了InstallExecuteSequence表的條件OLDPRODUCTS =""AI_RemoveAllTempFiles條目

回答

1

我懷疑發生的是舊版本的應用程序刪除臨時文件,而不是新的。即,當它的卸載由新包裝的標準動作RemoveExistingProducts觸發時執行此操作。你可以很容易地在verbose log中看到這個。

爲避免更新過程中出現此問題,您應該在臨時文件夾的子文件夾中添加臨時文件。此子文件夾應爲每個版本都有一個唯一的名稱,例如,您可以將其設置爲[| ProductCode]

在您的自定義操作中,爲了確保始終獲得臨時文件的正確路徑,請使用其corespondent屬性,即每個臨時文件都關聯一個唯一屬性,在雙擊中的文件時出現的對話框中可見文件和文件夾頁面,此屬性解析爲文件的完整路徑。

+0

是的,這基本上是它在做什麼 – Thewads

+0

很高興我能幫上忙。如果問題有幫助,不要忘記標記問題的答案,以便其他用戶也可以找到答案。 –

相關問題