【C#】VS2012+InstallShield2013制作软件更新包
上篇文章介紹了如何使用installshield制作軟件的安裝包,見地址:http://blog.csdn.net/catshitone/article/details/41700115
這次來介紹一下,當軟件有更新時,如何制作一個更新包,自動刪除舊軟件,安裝新軟件。
1.首先打開你的安裝部署項目。
我的是Setup1.的General Information文件,如我左邊圈住的有三個重要的項,如下圖。
Product Version:你本次產品的版本號,每次發布新產品,這個的Version號,要增加一下。我上次的版本是1.02,所以這次我設置為1.03.
Product Code:這就是一個guid,相當于產品的唯一識別碼,每一次發布新版本,這個就要改變一下,可點擊該行右邊的{...}按鈕進行隨機分配。
Upgrade Code:這個是產品的升級碼,同一個產品共用一個升級碼,這里要保持不變。就像所有的vs2010都用的同一個Upgrade Code,每此vs2010有update,它只是改的Product Code。
2.配置更新設定。
在右面列表選擇Upgrade Paths文件,打開后,如下圖1所示,在Upgrade Paths上右鍵,選擇New Upgrade Path。然后選擇你上一個版本的setup.exe文件,如下圖2所示。
(圖1)
(圖2)
然后,就看到了圖3的界面,左邊的NewUpgradeEntry1,就是新建的那個。右邊的Upgrade Code不要改變,它表示了你整個的軟件系列。Min Version和Max Version控制了軟件更新的版本區間,在此版本區間內的軟件都會被卸載并更新。一般我Min Version都是選擇1.00.0000,表示只要更新所有老版本。你可以把Min選擇成1.01,Max選擇1.03,則只有1.01-1.03的版本會被更新掉。
(圖3)
3.生成新版本
在Setup1上右鍵重新生成新的setup.exe。安裝時就會把舊版本覆蓋掉了。
有幾個不好理解的地方:
1.如果Product Version和Product Code相同,生成的setup.exe也沒有被改動過,則安裝兩次改軟件包的時候會出現什么情況呢?結果如下圖:
2.如果其他情況都如我上面1所說,我任何代碼和設置都沒改動過,只不過又重新生成了一次setup.exe呢?即已經安裝了上次生成的setup.exe,這次再安裝新生成的setup.exe。結果如下,為什么會出現這種結果,還沒弄清楚怎么回事。
3.如果Product Version一樣,Product Code隨機生成了一個,然后setup.exe也重新生成了,會出現什么結果呢?答案是:什么都不會出現,照樣會被覆蓋安裝。這中結果是由上述的Max Version決定了,因為我測試的時候把Product Version和Max Version設置一樣了,如果把Product Version設定為大于Max Version,那會有什么結果?就請讀者去嘗試一下吧!
By Jim。
總結
以上是生活随笔為你收集整理的【C#】VS2012+InstallShield2013制作软件更新包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 194. 转置文件
- 下一篇: 基于BPMN2.0的工单系统架构设计(上