做爲研發人員,在本機上開發的winform、wpf或者控制檯程序須要發給其餘人測試時候,通常須要對其進行打包生成setup安裝文件,根據網上查找的資料並結合本身打包成功,記錄以下:編程
注:本程序是一個利用winform實現的客戶端程序,解決方案爲測試
第一步,右擊「解決方案XXX」->添加「新建項目」-》「其餘項目類型」-》「安裝和部署」-》「安裝嚮導」spa
而後點擊下一步:3d
這裏保持默認便可「爲WIndows應用程序建立一個安裝程序」-》orm
選擇「主輸出來自**(項目名稱:XXX)」(注意:若是有多個項目合成一個解決方案也要選擇,就是都選擇主輸出來自XXX)——》blog
這裏咱們沒有額外附件添加,因此直接點擊下一步便可,「完成」便可。開發
到這裏第一部分完成,接下來就是修改屬性了。部署
右擊解決方案中的setup,選擇「屬性」-》io
第二步,點擊「系統必備」-》form
單選按鈕中,選擇「從與個人應用程序相同的位置下載系統必備組件」-》肯定
第三步,點擊,左邊的「應用程序文件夾」-》
從右側屬性列表中,修改屬性DefaultLocation「[ProgramFilesFolder][Manufacturer]\[ProductName]」爲:[ProgramFilesFolder]\[ProductName],不然安裝路徑不容許用戶選擇。
右擊」應用程序文件夾「,點擊」添加「,點擊」文件「或(有文件夾)」文件夾」。將你的Release目錄下面的文件所有(軟件須要的文件夾、dll等)添加進來,有文件夾的須要在應用程序文件夾目錄下新建子文件夾,同時文件夾裏有文件的也須要添加進去。(很是重要)
下圖爲本人添加好的:
第四步,點擊「應用程序文件夾」,右擊右邊的「主輸出來自XXX(..」建立其快捷方式(快捷方式能夠更名)(注意:這裏的主輸出是指最終在你release版本中,程序可以產生exe運行文件的主輸出)-》
將快捷方式拖拽到「用戶的程序菜單」和「用戶桌面」,這樣安裝完成後,就會在桌面和用戶的程序菜單建立相應的圖標。
第五步,建立卸載程序。右擊」應用程序文件夾「,點擊」添加「,選擇」文件「,而後將"C:\Windows\System32" 下面的」msiexec.exe「(這個msiexec.exe文件最好選擇Win7系統下的,這樣能夠兼容Win10系統)文件給添加進來,若是找不到,你能夠直接搜。固然,你也能夠再給msiexec.exe建立一個快捷方式命名爲」UnInstall「。
命名了快捷方式以後,將Setup屬性(點擊解決方案裏面的setup彈出屬性)ProductCode拷貝到Uninstall屬性的Arguments裏面:
同時在前頭加上 」/X 「,注意:x後面有一個空格。
第六步,添加程序圖標,右鍵點擊「用戶桌面」中的快捷方式,而後再其屬性中找到,Icon屬性,瀏覽選取你所要添加的圖標,記住,應該先將圖標放在打包的文件夾或應用程序文件夾中,要否則沒法進行指定。
第七步,右擊setup項目名稱,選擇「生成」,而後到,生成的目錄下拷貝出setup.exe便可安裝。
進行到第七步時,用vs爲winform程序打包就已經完成了,不過此時會在安裝程序的Debug文件夾生成2個文件夾、1個.exe文件和1個.msi文件,而.exe安裝時,又依賴於.msi文件,另外兩個文件夾是對應的 .NET Framework 組件,
這個時候給客戶安裝時拷貝過去的內容較多,也容易安裝出錯,若是把這些安裝內容都打在一塊兒,造成一個.exe 文件,就比較方便了,此時,能夠用winrar的自解壓格式壓縮文件來實現,實現過程:
1>將要打在一塊兒的文件及文件夾所有選中,右鍵 →「添加到壓縮文件」,在打開的壓縮面板的「常規」選項卡中勾選「建立自解壓格式壓縮文件」,此時會發現默認的壓縮文件名編程了 .exe 後綴名了;壓縮方式最好選擇「存儲」,這樣打包後的程序會很快解壓縮並運行。如圖:
2>設置運行文件:再切換到「高級」選項卡,點擊「自解壓選項」,「常規」裏設置程序解壓後運行的文件(這個很重要)如圖:
或者遇到這種狀況,那麼提取後運行(點擊安裝時運行)和提取前運行(生成.exe文件時運行,將壓縮成的.exe文件安裝包的圖標立馬換掉,不會等到點擊安裝時更換)都要加上要運行的exe文件
3>設置安裝程序文件的圖標:
切換到「文本和圖標」,點擊「從文件加載自解壓文件圖標」後的「瀏覽」按鈕,選擇安裝程序文件的圖標,如圖:
先不要着急點擊「肯定」,還有最後一項設置~ ~ ~
4>切換到「模式」下,勾選「解包到臨時文件夾」和「隱藏所有」,再切換到「更新」下,勾選「覆蓋全部文件」,一路點擊「肯定」,大功告成!!
完成了!
「項目名.exe」 就是最中生成的打包文件,直接點擊運行就好了!!
以上就是本人結合網上資料和其餘博友文章,親身實踐成功的C# Winform程序打包成安裝項目的心得,而且裏面還加入了本人碰到的一些注意事項,特意寫成文章分享給你們。