C#軟件winform程序安裝包制作及卸載程序制作


使用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里所導入的文件就是現在生成的文件了!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM