使用VS2010制作C WinForm程序的安裝包
在使用VS2010進行WinForm程序開發(fā)時,為了讓不同的機器能夠使用該軟件,我們需要制作一個安裝包。安裝包中必須包含該軟件運行所需的所有環(huán)境。下面將介紹如何制作WinForm程序的安裝包。 步驟
在使用VS2010進行WinForm程序開發(fā)時,為了讓不同的機器能夠使用該軟件,我們需要制作一個安裝包。安裝包中必須包含該軟件運行所需的所有環(huán)境。下面將介紹如何制作WinForm程序的安裝包。
步驟1:新建安裝部署項目
首先打開VS,點擊“新建項目”,選擇“其他項目類型”-gt;“安裝與部署”-gt;“安裝向?qū)А保ɑ蛘哌x擇“安裝項目”),然后點擊確定。詳細見下圖:
步驟2:制作安裝向?qū)?/h2>
關(guān)閉新建安裝部署項目后,再次打開安裝向?qū)?,點擊下一步或直接點擊完成。
步驟3:添加應用程序文件
安裝向?qū)瓿珊?,進入項目文件夾。雙擊“應用程序文件夾”,在右邊的空白處右擊,選擇添加-gt;文件,將你的應用程序的可執(zhí)行文件和相應的類庫和組件添加進來。然后右擊你的可執(zhí)行文件,創(chuàng)建快捷方式,并將快捷方式分別剪切或復制到“用戶的‘程序’菜單”和“用戶桌面”中。這樣安裝程序完成后會在“開始-所有程序”和“桌面”上生成程序的快捷方式。
步驟4:設(shè)置安裝程序?qū)傩?/h2>
右擊“應用程序文件夾”,打開屬性對話框。將屬性中的“defaultlocation”的路徑中的“[manufacturer]”去掉,否則安裝程序默認安裝目錄會是“c:programm file你的用戶名安裝解決方案名稱”。然后打開解決方案管理器,右擊你的解決方案名稱,選擇屬性。在打開的屬性頁中,選擇“系統(tǒng)必備”,在系統(tǒng)必備頁中,選中“從與我的應用程序相同的位置下載系統(tǒng)必備組件”。這個很重要!選上以后,在生成的安裝文件包中將包含.NET Framework組件(默認情況下這個選項是沒有選中的)。
步驟5:生成安裝程序
點擊“生成-生成解決方案”,即可生成安裝程序?,F(xiàn)在打開解決方案文件夾下的debug文件夾,就可以看到生成的安裝文件了。
補充:添加卸載功能
上面的文章只介紹了生成安裝程序的方法,但是在下并沒有直接生成卸載程序的功能。因此,我們需要使用MSI來實現(xiàn)卸載功能。具體操作如下:
步驟1:添加msiexec.exe
在添加你的應用程序項目時,同時添加一個msiexec.exe文件,該文件位于C:WindowsSystem32文件夾下。添加完后,將其名字改為“Uninstall.exe”(這個步驟是可選的)。然后給它創(chuàng)建一個快捷方式,放到桌面或“開始-程序”中。
步驟2:查找ProductCode
鼠標左鍵單擊項目名稱,然后點擊屬性標簽(注意不是右擊的屬性)。在屬性對話框中,可以看到ProductCode。記住這個ProductCode。
步驟3:生成帶有卸載功能的安裝程序
打開你創(chuàng)建的快捷方式的屬性對話框,在Arguments屬性中輸入“/x {ProductCode}”。這樣就生成了帶有卸載功能的安裝程序。點擊“生成解決方案”即可生成該安裝程序。
自定義用戶界面
1. 打開用戶界面。
2. 在界面中設(shè)置已有窗體的屬性和新增窗體。
3. 設(shè)置窗體的屬性,例如BannerBitmap,即安裝窗口上面的圖片。方法和前面使用ICO文件的方法類似,可以瀏覽Images文件夾下的Bmp文件來設(shè)置。
4. 新增窗體,根據(jù)需要添加密碼等。新增窗體的操作與上述操作類似。
卸載程序的打包
如果使用上述方法制作的安裝程序無法成功卸載,可以嘗試以下方法:
1. 新建一個控制臺程序。
2. 在控制臺程序中添加以下代碼:
```csharp using System; using ; using ; using System.Text; namespace UninStall { class Program { static void Main(string[] args) { string sysroot ; (sysroot "msiexec.exe ", "/x {ProductCode} /qr"); } } } ```請注意上述代碼中的{ProductCode},這個就是你要打包的程序的安裝與部署項目的ProductCode。根據(jù)你的項目找到安裝與部署項目,就可以找到ProductCode了。將其拷貝到控制臺程序中,然后生成。上述代碼中導入的文件就是生成的文件。