1、怎么使得程序窗口左上角和任務(wù)欄有圖標(biāo),如下圖所示:
其實(shí)這個(gè)問(wèn)題不應(yīng)該放到程序打包這部分講,只不過(guò)對(duì)于一些初學(xué)者而言,在這提下也許會(huì)有很大的幫助(想到自己剛學(xué).net那會(huì)了,呵呵)。方法之一的話就是先添加一個(gè)圖標(biāo)文件到項(xiàng)目中,然后切換到每個(gè)界面設(shè)計(jì)器,右鍵窗體的屬性,在屬性窗口有個(gè)Icon選項(xiàng),下面的也就不用多說(shuō)了吧~
2、 先新建一個(gè)空的解決方法,F(xiàn)ile->New->Project->Other Project Types->Visual Studio Solution->Blank Solution,這兒取個(gè)名稱SetupDemo: 如圖:
3、在解決方案中添加個(gè)項(xiàng)目工程,右鍵上圖中的解決方案,點(diǎn)擊 Add->New Project,選中Windows Form Application模板,輸入SetupForm,結(jié)果如下:
4、給項(xiàng)目添加些基本信息: 在上圖中,右鍵SetupForm后單擊Property或者直接雙擊上圖中的Properties,會(huì)出現(xiàn)下圖 左側(cè)很多選項(xiàng)卡,所以可以更改的東西很多,大家可以視需要而定制,這沒(méi)必要贅述。大家可以點(diǎn)擊上圖中的Assembly Information 按鈕,添加項(xiàng)目出品公司信息,如下圖所示:
5、本來(lái)這應(yīng)該講添加安裝部署項(xiàng)目了,但是對(duì)于在Windows7上開(kāi)發(fā)的朋友們,還需要加上額外的一部,那就是關(guān)于程序安裝后的權(quán)限問(wèn)題。大家知道,從Vista開(kāi)始Windows操作系統(tǒng)便加入了UAC機(jī)制,所以問(wèn)題就出現(xiàn)了:如果我們制作的程序被安裝到了系統(tǒng)盤了會(huì)怎樣?有心的會(huì)發(fā)現(xiàn),當(dāng)程序進(jìn)行一些諸如IO操作的時(shí)候,這些都會(huì)被操作系統(tǒng)要求以管理員權(quán)限運(yùn)行,否則所有的操作會(huì)被系統(tǒng)拒絕。 如果直接進(jìn)入安裝部署項(xiàng)目的操作的話,這樣打包出來(lái)的安裝包即便你以管理員權(quán)限運(yùn)行安裝了。但是,出現(xiàn)在桌面上的圖標(biāo)快捷鍵右鍵時(shí)候卻沒(méi)有“以管理員權(quán)限運(yùn)行這一選項(xiàng)”,除非你直接切換到安裝目錄,右鍵exe文件以管理員權(quán)限啟動(dòng)~ 解決方法是,右鍵SetupForm項(xiàng)目,添加一個(gè)應(yīng)用程序描述文件,如下圖: 直接點(diǎn)擊添加即可,這時(shí)候打開(kāi)文件會(huì)出現(xiàn)以下內(nèi)容: 想必不用多說(shuō)了吧,把 level="asInvoker" 按調(diào)用者權(quán)限 改成 level="requireAdministrator"管理員權(quán)限就OK啦。 建議將該文件拖入Properties目錄下,如下所示:
6、添加安裝部署項(xiàng)目,右鍵解決方案后Add->New Project->Other Project Types->Setup and Deployment,輸入MySetup后確定,結(jié)果如下:
7、右鍵上圖中的MySetup->View->File System,確定后如下圖 解釋下上圖中幾個(gè)文件夾的意義: Application Folder——所有的項(xiàng)目的Release文件夾或Debug文件夾下的資源文件、可執(zhí)行程序以及描述性文件等都需要放到這 User‘s Desktop——用戶桌面,在這下添加快桌面捷鍵,安裝完了會(huì)在用戶桌面產(chǎn)生快捷鍵 User's Programs Menu——用戶開(kāi)始菜單,也是添加快捷鍵的地方,不過(guò)是在用戶開(kāi)始菜單,多個(gè)項(xiàng)目打包在一塊的話,最好在該文件夾下建個(gè)文件夾 好了,一步步來(lái) 1)Application Folder 先是右鍵Application Folder->Add ->Project output,出現(xiàn)以下的窗口: 由于只有一個(gè)項(xiàng)目,所以上面的下拉菜單中只有SetupForm一個(gè)選項(xiàng),這兒我們選擇Primary output,即可。 當(dāng)然,如果項(xiàng)目中的文件種類比較多,你也可以右鍵Application Folder->Add->File,然后瀏覽到項(xiàng)目的目錄,將項(xiàng)目的Release或Debug文件夾里面的東西一股腦兒的添加進(jìn)來(lái)~ 2)User's Desktop 在右側(cè)分割的窗口中右鍵->Create New Shortcut,在出現(xiàn)的窗口中雙擊Application Folder,選中剛剛添加那個(gè)Project Output文件即可。這時(shí)候安裝到桌面時(shí)候快捷鍵圖標(biāo)還是默認(rèn)圖標(biāo),如果定制自己的圖標(biāo)的話,則需要在右鍵剛剛建立的快捷鍵,到屬性窗口有個(gè)Icon屬性,單擊瀏覽,如下所示: 單擊Browse Icon選擇窗體
雙擊Application Folder,如果在第 1)步驟中你添加了Icon文件的話,可以看到這些圖標(biāo)并可以選擇,沒(méi)有的話那就回到步驟1)添加唄~
3)User's Programs Menu 步驟同上,不過(guò)需要提醒的是多個(gè)項(xiàng)目打成一個(gè)安裝包的時(shí)候,這下面最好先建個(gè)文件夾然后再添加那幾個(gè)快捷鍵~
8、到這一步,便可以右鍵MySetup后Build下,然后找到MySetup目錄下的Release或者Debug文件下,便會(huì)有安裝包啦~
9、沒(méi)完呢,要想添加個(gè)卸載程序怎么辦呢? 方法:在7中的第1)步驟,給Application Folder還得添加個(gè)東西,右鍵Application Folder->Add->File,然后在你的系統(tǒng)盤下的Windows/System32目錄下添加 msiexec.exe,該文件是什么想必不用多說(shuō)了把~添加了后,關(guān)鍵是在開(kāi)始菜單下添加個(gè)刪除的快捷鍵~于是,在7中的第3)步驟中添加的文件夾下,再創(chuàng)建一個(gè)快捷鍵,命名為Uninstall,如下:
右鍵Uninstall快捷鍵,打開(kāi)其屬性窗口,有個(gè)Arguments屬性,如下所示: 輸入 /x 安裝包的Productcode,這個(gè)ProductCode怎么獲得呢,方法是左鍵單擊MySetup安裝包項(xiàng)目,然后點(diǎn)擊屬性窗口,會(huì)在該窗口找到Product code 屬性,將該code復(fù)制到/x 后面即可,下圖: 這時(shí)候卸載功能已經(jīng)添加進(jìn)去了~
10、還沒(méi)完呢,如果想要安裝程序在安裝時(shí)候或者卸載的時(shí)候打開(kāi)瀏覽器定位到指定的網(wǎng)址怎么辦? 這個(gè)問(wèn)題本人只在XP系統(tǒng)下解決了,win7系統(tǒng)下貌似不起作用,囧~期待園友的解決方案 說(shuō)說(shuō)在XP下怎么解決的把: 大家右鍵部署項(xiàng)目MySetup->View->Custom Actions 選項(xiàng),如下所示: 出現(xiàn)Custom Actions編輯界面: 以上是程序安裝部署到卸載的四個(gè)階段,每個(gè)階段都可以添加執(zhí)行exe、dll或者vbs類型的命令,由此看來(lái)至少可以有三種方法實(shí)現(xiàn)~下面我便用后兩種分別完成這個(gè)功能~ 1)VBS腳本 新建個(gè)腳本,內(nèi)容如下: Set openWeb=CreateObject("Wscript.shell") openWeb.run("www.cnblogs.com/royenhome") 保存為Internet.vbs,然后將該腳本添加到Application Folder,在Custom Actions編輯界面的相應(yīng)階段將該腳本添加進(jìn)去~添加方法,呵呵,不用多說(shuō)了把~ 2)dll方法 在解決方案下新建個(gè)類庫(kù)項(xiàng)目,取名為OpenWebDll,如圖: 刪除class1.cs,然后給類庫(kù)添加個(gè)Intaller類,如下所示: 該類繼承了Installer類,我們打開(kāi)添加的類文件,在文件中override相應(yīng)的方法,如希望在卸載時(shí)候打開(kāi)網(wǎng)址,如下所示: Build下該類庫(kù),然后在MySetup的Application Folder文件夾下添加該項(xiàng)目的Project Output,然后切換到Custom Actions編輯界面的Uninstall添加該Output,同時(shí)確保Install下也添加該Output文件,否則安裝會(huì)提示找不到xxx.installstate文件~具體操作見(jiàn)下圖: Build下就OK了
11、至此,本文真的完了~ |
|
來(lái)自: orion360doc > 《Programming》