使用vs2010 winform程序開發的軟件的人比較多,程序的開發是為了在不同的人不同的機器使用,為了使不同的機器能使用該軟件就需要在制作程序安裝包,安裝包里必須包含該軟件運行所選的所有環境,下面就來講解下winform程序安裝包的制作。
1:新建安裝部署項目
打開VS,點擊新建項目,選擇:其他項目類型->安裝與部署->安裝向導(安裝項目也一樣),然后點擊確定.(詳細見下圖)
此主題相關圖片如下:
新建安裝部署項目
2:安裝向導
關閉后打開安裝向導,點擊下一步,或者直接點擊完成.
3:開始制作
安裝向導完成后即可進入項目文件夾:
雙擊”應用程序文件夾”在右邊的空白處右擊,選擇添加->文件,將你的做的應用程序的可執行文件和相應的類庫和組件添加進來.
開始制作
然后右擊你的可執行文件,創建快捷方式,然后把快捷方式分別剪切或復制到左邊的”用戶的´程序´菜單”和”用戶桌面”中.
這樣安裝程序安裝安裝完成后會在 “開始->所有程序”和”桌面”上生成程序的快捷方式.
程序的快捷方式
然后右擊左邊的”應用程序文件夾”打開屬性對話框:
將屬性中的”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}”
屬性對話框
生成帶有卸載功能的安裝程序
好了,然后點擊”生成解決方案”即可生成帶有卸載功能的安裝程序了.
補充:
自定義用戶界面
1、打開用戶界面
2、這里可以設置已有窗體的屬性和新增窗體
窗體的屬性和新增窗體
設置窗體屬性
設置窗體的屬性
比如這里可以設置一下BannerBitmap,安裝窗口上面的圖片,方法和前面的ICO文件一樣,瀏覽去找Images下面的Bmp文件即可!
就是這樣的效果,哈哈,效果差了點啊!
設置一下BannerBitmap
可以根據需要來新增窗口,比如密碼啊,等等
新增窗口
就是上面的這個窗口
五、卸載程序怎么打包上去?
我試了好幾種方面都不太好使,可能是沒理解!最后用了這一種方法,感覺還不錯!
1、新建一個控制台程序
2、看代碼
?
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里所導入的文件就是現在生成的文件了!!