最近寫個小程序,打包覆蓋安裝更新時總是不起做用,仍是原來的程序。小程序
在網上四處查找,productcode和ersion都已經更改,removepreviousversions也設置成true了,可就是不能更新。spa
最後對比了下程序,發現每次覆蓋安裝後安裝路徑下別的文件的最後修改時間都更新了,就是主輸出文件.exe的修改時間一直沒有改變過,又看了下控制面板,程序的版本確實一直在更新,那麼問題就出來了,程序不更新的緣由就在於主輸出文件一直沒有更新。.net
但是每次更新安裝包的時候都從新生成過,在項目文件中主輸出文件也是一直在更新的。在網上幾經周折,終於找到了緣由所在。code
在項目中的Properties文件夾下有個AssemblyInfo.cs文件,打開,拉到最後,有這麼幾行代碼:blog
最後兩行就是致使主輸出文件一直不更新的罪魁禍首。ip
雖然每次生成,項目內容都更改了,可是生成的主輸出文件的版本一直沒有改變,這就致使了每次覆蓋安裝主輸出文件都不會被修改,由於他們的版本是一致的。rem
so,每次更新前,先修改主輸出文件的版本號,而後再生成項目輸出,而後修改安裝程序版本號、productcode,再複製productcode到卸載程序快捷方式,最後從新生成安裝程序。這樣就能夠覆蓋安裝了,安裝後的程序也能夠正常更新了。^_^部署
打包過程:get
VS 程序打包/安裝包製做 string