詳解VS2008安裝部署說明問題
本文說明VS2008安裝部署使用問題,怎樣使用VS2008安裝部署的步驟。這些內容都是一些門戶網站和技術論壇找到的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正。
最近使用VS2008的安裝部署項目時,發現了很奇怪的問題:
1、安裝程序升級版本號后,安裝完成卻發現并沒有升級程序。
2、升級windows服務時,提示“服務已經存在”,中止安裝。
3、升級后,UserSetting配置數據恢復到默認值,VS2008安裝部署并沒有繼承上一版本配置數據。
經過反復測試我確認是VS2008有了新的改動。在網上找了很多時間,發現國內還幾乎沒有人提出這個問題。在國外的一些論壇里,也有人發現了和我一樣的問題,并進行了一定的討論。通過總結和大量實驗,我總算圓滿解決以上三個問題。#t#
一、VS2008安裝部署項目的最新改動
VS2008幫助文檔明確說明,VS2008安裝部署方面與VS2005不同。綜合各種資料,總結如下:VS2005安裝程序,先完全卸載舊版本,然后全新安裝新版本。
VS2008安裝程序,則只是升級,沒有卸載舊版本。安裝程序只是更新確實需要更新的文件,在最后安裝新文件的時候,才刪除舊文件。在MSI文件安裝過程中舊版本文件的刪除是在InstallExecute和InstallFinalize.之間執行,而不是在一開始就執行。
可以參考http://msdn2.microsoft.com/en-us/library/aa371197(VS.85).aspx文件根據Fileversioningrules進行升級。雖然FileVersion對VS生成的MSI文件沒有影響。文件的修改日期不能作為升級的依據。
可以參考http://msdn2.microsoft.com/en-us/library/aa368599(VS.85).aspxVS并沒有對文件進行hash處理。所以,如果僅僅升級了安裝程序的Version,沒有升級程序集的FileVersion,安裝程序將不會對這些文件進行升級。
二、VS2008安裝部署解決方法
1、程序安裝后并沒有升級的問題
解決的關鍵就是,必須升級程序集的FileVersion。
最簡單的辦法:修改解決方案中的所有AssemblyInfo.cs文件最后兩行