第一步:新建安裝部署項(xiàng)目
打開(kāi)VS,點(diǎn)擊新建項(xiàng)目,選擇:其他項(xiàng)目類(lèi)型->安裝與部署->安裝向?qū)?/span>(安裝項(xiàng)目也一樣),然后點(diǎn)擊確定.(詳細(xì)見(jiàn)下圖)
第二步:安裝向?qū)?/span>
關(guān)閉后打開(kāi)安裝向?qū)?/span>,點(diǎn)擊下一步,或者直接點(diǎn)擊完成.
如下圖:
第三步:開(kāi)始制作
安裝向?qū)瓿珊蠹纯蛇M(jìn)入項(xiàng)目文件夾:
雙擊"應(yīng)用程序文件夾"在右邊的空白處右擊,選擇添加->文件,將你的做的應(yīng)用程序的可執(zhí)行文件和相應(yīng)的類(lèi)庫(kù)和組件添加進(jìn)來(lái).
PS:在這里,有很多朋友問(wèn)我,什么是應(yīng)用程序的可執(zhí)行文件和相應(yīng)的類(lèi)庫(kù)和組件,在這里我解釋一下,應(yīng)用程序的可執(zhí)行文件即是你建立的winform應(yīng)用程序項(xiàng)目最終生成的EXE可執(zhí)行文件,而相應(yīng)的類(lèi)庫(kù)則是執(zhí)行這個(gè)EXE文件所有需要的非操作系統(tǒng)dll文件,在這里只要將EXE文件選中添加,VS會(huì)自動(dòng)將其用到的DLL文件添加.(這里你可以將應(yīng)用程序項(xiàng)目中生成方式選擇Release,然后生成,將bin/Release文件夾下的文件按結(jié)構(gòu)添加進(jìn)來(lái)即可)
然后右擊你的可執(zhí)行文件,創(chuàng)建快捷方式,然后把快捷方式分別剪切或復(fù)制到左邊的"用戶的'程序'菜單"和"用戶桌面"中.
這樣安裝程序安裝安裝完成后會(huì)在 "開(kāi)始->所有程序"和"桌面"上生成程序的快捷方式.
然后右擊左邊的"應(yīng)用程序文件夾"打開(kāi)屬性對(duì)話框:
將屬性中的"defaultlocation"的路徑中的"[manufacturer]"去掉,
不然的話做好的安裝程序默認(rèn)安裝目錄會(huì)是"c:\programm file\你的用戶名\安裝解決方案名稱(chēng)";
修改后如圖:
然后打開(kāi)解決方案管理器,右擊你的解決方案名稱(chēng),選擇屬性:
在打開(kāi)的屬性頁(yè)中,選擇"系統(tǒng)必備",
在打開(kāi)的系統(tǒng)必備頁(yè)中,選中如下中的選擇項(xiàng),這個(gè)很重要!!!!!1!!!!!
選上以后,在生成的安裝文件包中包含.netframework組件.(這個(gè)選項(xiàng)默認(rèn)是沒(méi)有選中的)
在這里解釋一下3個(gè)選項(xiàng),第一個(gè)選項(xiàng)“從組件供應(yīng)商的網(wǎng)站上下載系統(tǒng)必備組件”,選中此選項(xiàng),當(dāng)安裝時(shí)檢測(cè)到系統(tǒng)沒(méi)有安裝.netframework組件時(shí),系統(tǒng)提示到微軟官方下載組件,并給出下載地址;第二個(gè)選項(xiàng)“從與我的應(yīng)用程序相同的位置下載系統(tǒng)必備組件”,選中此選項(xiàng),安裝程序生成時(shí)會(huì)在同目錄下生成.netframework組件,當(dāng)安裝程序檢測(cè)到系統(tǒng)沒(méi)有安裝組件時(shí)會(huì)提示進(jìn)行安裝,當(dāng)然此選項(xiàng)生成的安裝程序會(huì)比較大一些;第三個(gè)選項(xiàng),看名字應(yīng)該也可以猜測(cè)到他的意圖,可以自行自定.netframework組件的安裝位置。
好了,這樣就完成99%了,然后點(diǎn)擊"生成->生成解決方案",哈,生成成功!
第四步:制作完成
現(xiàn)在打開(kāi)解決方案文件夾下的debug文件夾,就可以看到生成的安裝文件了.
第五步:卸載功能的添加
眾所周知,基本上每個(gè)安裝都會(huì)在安裝后的程序菜單中提供卸載本程序的快捷方式,從我們以上步驟建立的安裝程序并不附加此功能,
但是我們安裝后,如果再次運(yùn)行此安裝程序,則會(huì)提供重新安裝、修改和刪除應(yīng)用程序的功能,也就是程序的卸載功能,也可以通過(guò)
控制面板進(jìn)行卸載完成,不過(guò)我們可以看出,程序的打包是通過(guò)Windows Installer來(lái)完成的,我們這里也可以通過(guò)Windows Installer來(lái)完成卸載功能。
在添加你的應(yīng)用程序項(xiàng)目的時(shí)候,多添加一個(gè)msiexec.exe進(jìn)去,
這個(gè)文件在c:\windows\system32文件夾下,
添加進(jìn)去以后,為了讓他更像個(gè)卸載程序,把他的名字改成"Uninstall.exe",
當(dāng)然這個(gè)關(guān)系不大,改不改都行的.
然后給他創(chuàng)建一個(gè)快捷方式,放到桌面或者"開(kāi)始-程序"中,
我選擇放在了開(kāi)始菜單中,然后下面我們要的做的就是查找這個(gè)部署項(xiàng)目的ProductCode了,
鼠標(biāo)左鍵單擊項(xiàng)目名稱(chēng),記住是左鍵單擊,然后點(diǎn)擊屬性標(biāo)簽,注意:不是右擊的屬性,
這個(gè)區(qū)別很大,這時(shí)你就可以看到ProductCode了,
然后打開(kāi)你創(chuàng)建的那個(gè)快捷方式的屬性對(duì)話框,
在Aguements屬性中輸入"/x {ProductCode}",
其中的"/x {ProductCode}" 為Windows Installer的卸載命令,高版本也有所不同,高版本的"/uninstall {ProductCode}"也可用,不過(guò)"/x {ProductCode}",是通用的。
好了,然后點(diǎn)擊"生成解決方案"即可生成帶有卸載功能的安裝程序了.現(xiàn)在可以試試生成安裝程序,是否已經(jīng)具有了卸載功能?
PS:在添加某些操作系統(tǒng)DLL的時(shí)候可能會(huì)有警告的提示,這個(gè)不會(huì)對(duì)程序有什么影響,不用害怕。
好了,然后點(diǎn)擊"生成解決方案"即可生成帶有卸載功能的安裝程序了.