當我們滿心歡喜的想要和其他人分享自己制作的上位機時,是不是會遇到一些比較尴尬的事情,比如某些DLL庫缺失,或者.NET版本太低不支持,或者某些文件不能發送,等各種各種的問題。
那麼将你的上位機軟件直接打包成安裝文件,這些尴尬就可以很好地避免,而且給客戶使用起來也會很方便。
本文主要介紹用Microsoft Visual Studio Installer Projects軟件制作安裝包。首先是該軟件的安裝,Microsoft Visual Studio Installer Projects屬于Visual Studio的擴展安裝包,因此在Visual Studio裡面可以很方便的安裝該擴展包。
在工具->擴展和更新裡面,找到Visual Studio Marketplace,然後搜索軟件名字,下載安裝,然後重啟Visual Studio即可使用。
在你之前的上位機項目中,右擊->添加->新建項目,選擇其他類型項目->Visual Studio Installer->Setup Project.
然後右擊安裝包項目,選擇View->文件系統->Application Folder。在右邊文件列表的空白處右擊添加文件,引用的dll庫文件通常會自己自動添加。如下圖所示
将文件添加之後,将上位機程序的輸出也同樣添加進去,操作步驟如下:
然後右擊Application Folder裡面的主輸出,創建快捷方式,之後将快捷方式移動到User's Desktop,即在用戶桌面上創建快捷方式。
然後設置安裝包項目的屬性。
安裝包屬性的具體解釋如下:
(非常重要)
1.Product Code:每個版本或者每個安裝包特有的ID
2.Upgrade Code:版本升級用到的ID,同一Upgrade Code才會升級
3.DetectNewerInstalledVersion:True,隻能升級,不能降級
4.RemovePreviousVersion:去掉之前版本,即覆蓋安裝
5.Version:安裝包版本。
(一般重要)
1.Author:作者或者公司名
2.Maufacturer以及MaufacturerUrl:公司名以及網址
3.Target Platform:運行平台。
最後,進行編譯即可生成兩個文件,一個Setup文件,一個msi文件。最好點擊Setup文件,這樣會對上位機環境進行檢測。
如果想要支持新版本直接覆蓋舊版本要怎麼辦?
首先,安裝包裡面的屬性配置為:Product Code各個版本不同,Upgrade Code各個版本必須保持一緻,DetectNewerInstalledVersion設置為True,RemovePreviousVersion設置為True,Version新版本要比舊版本數值大。
另外,需要對上位機程序的輸出版本進行升級,需要在你當前解決方案下的->Properties->Assembleinfo.cs裡面的[assembly:AssemblyVersion(“1.0.0.0”)][assembly: AssemblyFileVersion(“1.0.0.0”)]進行修改,這兩個屬性一般在Assembleinfo.cs的最下面。這樣才能做到自動更新,如下圖所示:
最後,其他文件,修改時間不一緻,安裝包就可以自動替換,不用專門修改。
這樣,就可以實現安裝包的版本覆蓋更新。另外,需要說明的是,安裝包項目還可以做卸載以及注冊表的更新,這裡不做過多叙述。
,