使用vs2010 winform程序開發的軟件的人比較多,程序的開發是爲了在不一樣的人不一樣的機器使用,爲了使不一樣的機器能使用該軟件就須要在製做程序安裝包,安裝包裏必須包含該軟件運行所選的全部環境,下面就來說解下winform程序安裝包的製做。web
1:新建安裝部署項目windows
打開VS,點擊新建項目,選擇:其餘項目類型->安裝與部署->安裝嚮導(安裝項目也同樣),而後點擊肯定.(詳細見下圖)spa
此主題相關圖片以下:.net
新建安裝部署項目debug
2:安裝嚮導3d
關閉後打開安裝嚮導,點擊下一步,或者直接點擊完成.orm
3:開始製做blog
安裝嚮導完成後便可進入項目文件夾:圖片
雙擊」應用程序文件夾」在右邊的空白處右擊,選擇添加->文件,將你的作的應用程序的可執行文件和相應的類庫和組件添加進來.ci
開始製做
而後右擊你的可執行文件,建立快捷方式,而後把快捷方式分別剪切或複製到左邊的」用戶的´程序´菜單」和」用戶桌面」中.
這樣安裝程序安裝安裝完成後會在 「開始->全部程序」和」桌面」上生成程序的快捷方式.
程序的快捷方式
而後右擊左邊的」應用程序文件夾」打開屬性對話框:
將屬性中的」defaultlocation」的路徑中的」[manufacturer]「去掉,
否則的話作好的安裝程序默認安裝目錄會是」c:\programm file\你的用戶名\安裝解決方案名稱」;
而後打開解決方案管理器,右擊你的解決方案名稱,選擇屬性:
在打開的屬性頁中,選擇」系統必備」,
選擇」系統必備
在打開的系統必備頁中,選中以下中的選擇項,這個很重要!!!!!1!!!!!
選上之後,在生成的安裝文件包中包含.netframework組件.(這個選項默認是沒有選中的)
安裝文件包
關於系統必備的說明:
若是機器上沒.net環境採用上面的方法是網上下載安裝,下面的方法則是本地直接安裝免去下載的過程。
設置系統必備,右鍵選擇安裝項目,進入屬性頁中,單擊」系統必備」按鈕,進入系統必備對話框;勾選「建立用於安裝系統必備組件的安裝程序」,在安裝系統必備組件列表中,選擇
重要一點:勾選」從與個人應用程序相同的位置下載系統必備組件(D)」,其實意思就是說你勾選後,生成安裝項目時,在你安裝項目的路徑下,會有你在系統必備組件列表中勾選的組件.(系統自動完成,這一點還不錯,不須要你本身去下載組件)
好了,這樣就完成99%了,而後點擊」生成->生成解決方案」,哈,生成成功!
4:製做完成
如今打開解決方案文件夾下的debug文件夾,就能夠看到生成的安裝文件了.
【續】關於」卸載」功能的添加
上面的文章只介紹了簡單的生成安裝的方法,
可是在vs.net2005下並無直接生成卸載程序的功能,
因此咱們只好用msi來實現了,
原理我就不講了,網上一搜一堆,我只講操做,
【1】:在添加你的應用程序項目的時候,多添加一個msiexec.exe進去,
這個文件在c:\windows\system32文件夾下,
添加一個msiexec.exe
添加進去之後,爲了讓他更像個卸載程序,把他的名字改爲」Uninstall.exe」,
固然這個關係不大,改不改都行的.
而後給他建立一個快捷方式,放到桌面或者」開始-程序」中,
我選擇放在了開始菜單中,而後下面咱們要的作的就是查找這個部署項目的ProductCode了,
鼠標左鍵單擊項目名稱,記住是左鍵單擊,而後點擊屬性標籤,注意:不是右擊的屬性,
這個區別很大,這時你就能夠看到ProductCode了,
鼠標左鍵單擊項目名稱
而後打開你建立的那個快捷方式的屬性對話框,
在Aguements屬性中輸入」/x {ProductCode}」
屬性對話框
生成帶有卸載功能的安裝程序
好了,而後點擊」生成解決方案」便可生成帶有卸載功能的安裝程序了.
補充:
自定義用戶界面
一、打開用戶界面
二、這裏能夠設置已有窗體的屬性和新增窗體
窗體的屬性和新增窗體
設置窗體屬性
設置窗體的屬性
好比這裏能夠設置一下BannerBitmap,安裝窗口上面的圖片,方法和前面的ICO文件同樣,瀏覽去找Images下面的Bmp文件便可!
就是這樣的效果,哈哈,效果差了點啊!
設置一下BannerBitmap
能夠根據須要來新增窗口,好比密碼啊,等等
新增窗口
就是上面的這個窗口
5、卸載程序怎麼打包上去?
我試了好幾種方面都不太好使,多是沒理解!最後用了這一種方法,感受還不錯!
一、新建一個控制檯程序
二、看代碼
?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace UninStall
{
class Program
{
static void Main(string[] args)
{
string sysroot = System.Environment.SystemDirectory;
System.Diagnostics.Process.Start(sysroot + 「\\msiexec.exe 「, 「/x {522B529D-8A62-432D-962F-D0CFF826775E} /qr」);
}
}
}
注意上面代碼裏的紅字部分,這個就是你要打包的程序的安裝與部署項目的ProductCode,那麼這個ProductCode在哪裏找呢?請記住,這裏 是兩個系統,一個是你要打包的系統,另外一個是控制檯程序,因此啊,這點,要理解!去你要打包的項目裏去找
安裝與部署項目
看到了吧,就是它了!把它拷貝
過來,放在控制檯程序裏生成一下,上面UNIT裏所導入的文件就是如今生成的文件了!!