2009-12-23 47 views
1

我希望有人能回答我的問題。我使用Installshield製作了一個安裝程序。然後還有5個補丁,因爲一些錯誤和一切。現在,這裏是我的問題:Installshield安裝/修補程序/升級問題

  1. 是否有可能基於前一個, 像升級作出新的 安裝程序,但它的 補丁的文件,而不是 原始文件?
  2. 假設問題1可能是 ,然後我根據新的安裝程序創建了另一個 補丁。 但是,使用安裝在他的 計算機上的 以前的安裝程序的用戶下載了基於新安裝程序的 和安裝它的 。這是否是有效的補丁 也是因爲新安裝程序是基於前一個的 ?

請注意,我不是installshield主人,如果有人能回答我的問題或提供一些有用的鏈接,我會很感激。

回答

-1

假設有一個地方一個源代碼控制系統,當一個產品(在這種情況下安裝程序版本1)發佈。

發佈工程師將拍攝「發佈分支」狀態的快照,然後相應地爲下一個版本(本例中爲安裝程序版本2)重新命名。

開發人員將繼續在類似的分支(Dev分支)中編碼,該分支具有相同的位直到發佈日期。

從此「Release/Dev」分支中創建HotFixes/Patches分支,並從「熱修復或修補程序」分支中釋放修補程序。

這些補丁包含確定安裝前需求的邏輯。例如,「patch1-version1」需要「Release1版本」...「patch2-version1」需要的可能只是「patch1-version1」...等等。

當您準備創建第二版本「Release版本2「時,發佈分支將被相應地命名並且將具有」發佈版本1「+」所有修補程序「在」修補程序或修補程序「分支中的所有更改。

這個新版本需要邏輯來卸載以前的版本並安裝新版本。

現在,從最新的「Release Branch」創建一個新的「Hot Fixes」分支,或者將這些更改簡單地拖放到之前創建的「Hot Fixes」分支,以及任何用於「發行版本2 「現在應該更新了邏輯,只允許安裝新的需求......與」發佈版本2「有關的那些。

例如,「Patch1-ReleaseVersion2」將要求存在「Release Version2」...類似地,「Patch2-ReleaseVersion2」可能需要「發佈版本2」加上第一個發佈的補丁,或者只需要發佈第一個補丁,因爲基本版本(發佈版本2)也必須在那裏。

因此,根據此標準,「patch1,2,3 ... n-ReleaseVersion2」不應該安裝在任何具有「發行版本1」+零/更多修補程序的服務器上,因爲修補程序安裝程序中的邏輯不會(或不應該)允許這樣的事情。

0

什麼時候做什麼(即升級vs.更新與補丁)最好由InstallShield here解釋。根據表中提到的事實描述何時執行哪種類型的更新,應該確定它是升級還是更新還是補丁。

升級可以有兩種類型,既可以保持原來的安裝狀態,也可以並排安裝(可能有衝突且難以管理),另一種是在安裝新安裝之前自動刪除以前的安裝。所以,你的第一個問題升級是可能的,你需要決定哪種類型。

對於第二個問題,在創建補丁時,您可以創建一個InstallCondition來檢查以前安裝的版本是否存在,並據此確定需要完成的操作。

相關問題