時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
?? 現(xiàn)在存在著的一個明顯事實是,所有的基于.NET技術(shù)的應(yīng)用程序或者產(chǎn)品都需要.NET的運(yùn)行庫支持,因為.NET在程序部署和分發(fā)方面有些類似,它需要.NET Framework SDK的支持(JAVA應(yīng)用程序需要JDK的支持才可以運(yùn)行),不幸的是,目前的Win9x系列以及WinNT/2000系列均沒有內(nèi)置.NET SDK(不難理解,因為.NET技術(shù)的推出的時間晚于上面提到的各種操作系統(tǒng)的發(fā)布時間),甚至連即將發(fā)布的WindowsXP都不會內(nèi)置.NET SDK。
?? 雖然,沒有了.NET SDK的支持,就連一個簡單的在屏幕上面打印"Hello,World!"的應(yīng)用程序都無法運(yùn)行,那我們也不可能要求用戶必須手工安裝將近120M的.NET SDK后才能運(yùn)行我們自己開發(fā)的應(yīng)用程序!有沒有更為簡便的發(fā)布.NET應(yīng)用程序的方法呢?答案是肯定的,下面我們就提供兩種可以正確部署和發(fā)布.NET應(yīng)用程序的方法。
?? 1.用VS.NET來部署和分發(fā).NET應(yīng)用程序
?? 無庸置疑的是,VS.NET是開發(fā).NET應(yīng)用程序的一個非常強(qiáng)大和快捷的集成開發(fā)環(huán)境(IDE),微軟歷來在配合自己的應(yīng)用技術(shù)方面都能做到盡善盡美,當(dāng)然,我想也只有微軟才能真正做到和.NET技術(shù)的無縫銜接。
?? 下面我們就詳細(xì)看看如何利用VS.NET來部署和分發(fā).NET應(yīng)用程序。為了講解的方便,我們例舉一個非常簡單的Windows應(yīng)用程序:簡單的在屏幕上面放置一個按鈕Button。
?? 我們開發(fā).NET應(yīng)用程序的測試環(huán)境是:Windows2000 Server中文版(SP2)+VS.NET Beta2中文版。
?? 第一步:在原有的項目基礎(chǔ)上,再新建立一個項目,并且選擇其中的"安裝和部署項目。
?? 尤其需要注意選擇"添入解決方案"這個選項,因為只有這樣才會將部署項目和我們自己的應(yīng)用程序放置到同一個"解決方案"當(dāng)中,這一點千萬要注意了!
?? 第二步:點擊"確定"按鈕之后,會出現(xiàn)安裝向?qū)А?/p>
?? 因為我們的.NET測試程序是一個Windows應(yīng)用程序,所以我們在上圖中選擇"創(chuàng)建用于Windows應(yīng)用程序的安裝程序(S)"。
?
?? 點擊"下一步(N)",我們將會看到需要選擇的畫面。
?? 圖中的各個選擇項目的含義相信大家可以從中文名稱中直觀的理解到,我們就不再多費(fèi)口舌了。一路點擊"下一步"直到最終安裝向?qū)У耐瓿蓵枰?步,最終會在當(dāng)前的解決方案中添加一個名稱為"Setup1"的安裝項目。
?? 在這里我們稍微提一下在VS.NET中的"解決方案"這個概念,其實在VS.NET中的所謂"解決方案"就類似于以前VB中的"項目組"概念,也就是將多個項目集成到一起而已,只不過VS.NET中的"解決方案"這個概念的覆蓋范圍更廣泛而已罷了,這個我們知道一下就可以了。
?? 第三步:在完成上面的兩個步驟之后,我們就會發(fā)現(xiàn),VS.NET的安裝向?qū)б呀?jīng)將我們的應(yīng)用程序中所用到的各種程序集、系統(tǒng)DLL文件、資源文件等等依賴文件找到了,并且我們還可以方便的繼續(xù)添加額外的我們需要的其他相關(guān)文件,在這方面做的有些類似于InstallShield了,不過不需要編寫安裝Script腳本。
?? 這樣,我們選擇VS.NET的菜單"生成(B)"—〉"生成解決方案",即可立即生成我們的安裝文件Setup1.msi,這個安裝文件你可以在你的應(yīng)用程序解決方案所在的目錄中找到。
?? 找到了這個安裝文件你就會大吃一驚了,即使我們的應(yīng)用程序只有簡單的一句話,打包之后就會有17M之大!不過沒有辦法,VS.NET會生成一個簡潔的.NET SDK放在我們剛才生成的那個安裝文件當(dāng)中。
?? 剩下來的事情,就是直接在沒有安裝.NET環(huán)境的Windows9x/NT/2000/XP中運(yùn)行我們的這個Setup1.msi文件就可以了!
?
?? 2.手工部署和分發(fā).NET應(yīng)用程序
?? 在上面的第一種方法中,我們可以感受到VS.NET來做.NET應(yīng)用程序的方便和快捷,但是并不是所有的人都是使用VS.NET集成開發(fā)環(huán)境來開發(fā).NET應(yīng)用程序的,對于一些小的應(yīng)用程序,根本不需要安裝龐大的VS.NET開發(fā)環(huán)境也可以方便的開發(fā),比如使用UtraEdit軟件來編寫小巧玲瓏的.NET應(yīng)用程序也是一個不錯的選擇。
?? 在這里我們就說說如何不使用VS.NET來自己手工的部署和分發(fā)我們的.NET應(yīng)用程序。首先分兩類:
?? 第一類:基于Web的.NET應(yīng)用程序
?? 對于這一類應(yīng)用程序,可以說在部署和分發(fā)方面是最為簡單的了,我們只需要將.NET運(yùn)行環(huán)境安裝到我們自己的服務(wù)器上面就可以了,用戶端需要的僅僅是兼容IE4.0以上的任何瀏覽器就可以了。
?? 第二類:基于Windows的.NET應(yīng)用程序
?? 對于這一類,應(yīng)用程序,我們可以使用InstallShield安裝軟件來手工打包。首先,先在我們的.NET Frameword SDK光盤中找到目錄dotNet,在這個目錄里面我們可以發(fā)現(xiàn)一個大小大約15M的一個安裝文件,這個就是我們的.Net 的運(yùn)行時刻文件,類似于JAVA的JRE(JAVA運(yùn)行時環(huán)境)。這個文件的體積也是比較大的,但是相對于.NET SDK文件的龐大的120M可以算是要好許多了。
?? 至于InstallShield的詳細(xì)使用方法我在這里也無法透徹講解,不過使用起來是非常方便的,我只提出需要注意的地方:
?? (1)在使用InstallShield中,可以稍微編寫一段腳本來監(jiān)測目標(biāo)機(jī)器時候已經(jīng)存在了.NET的運(yùn)行環(huán)境,如果有了,就不必安裝.NET運(yùn)行時文件了。
?? (2)所有我們自己的DLL文件不在需要注冊,只需要簡單的將他們拷貝到我們應(yīng)用程序所在的目錄即可!
?? 我們在這里例舉的是使用InstallShield來制作安裝程序,當(dāng)然還可以使用其它的任何第三方安裝制作軟件來部署和分發(fā)我們的.NET應(yīng)用程序,比如Windows Installer等等。
?? 好了,最終我們比較這兩種部署和分發(fā).NET應(yīng)用程序的方法,我們可以看到,使用第二種方法能夠帶來的一個潛在好處是,我們可以將.NET運(yùn)行時環(huán)境文件和自己的應(yīng)用程序分離開來,從而在某些情況下可以大大減少部署安裝應(yīng)用程序的文件大??;而第一種方法就不可以了,他將始終將.NET運(yùn)行時環(huán)境文件打包進(jìn)入安裝文件。但是第一種方法的優(yōu)點也是顯而易見的,就是比較智能化,需要人干預(yù)的地方很少,并且如果需要部署和分發(fā)的.NET應(yīng)用程序是比較大型的軟件的話,我們推薦使用第一種方法!
?? 相信在微軟正式發(fā)布.NET以及VS.NET之后,部署和分發(fā).NET應(yīng)用程序?qū)兊酶雍唵魏涂旖荩亲詈玫姆绞绞窍M④浽谙乱话姹镜牟僮飨到y(tǒng)中能夠內(nèi)置.NET運(yùn)行時環(huán)境就好了,那樣的話,我們就不必時刻"隨身攜帶"體積不算小的.NET運(yùn)行時環(huán)境文件了,讓我們拭目以待吧。
關(guān)鍵詞標(biāo)簽:.NET
相關(guān)閱讀
熱門文章 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 鐘離圣遺物推薦-原神鐘離圣遺物詞條 解決方法:應(yīng)用程序“DEFAULT WEB SITE”中的服務(wù)器錯誤 使用aspnet_regiis.exe 重新注冊.NET Framework
人氣排行 誅仙3飛升任務(wù)怎么做-誅仙3飛升任務(wù)流程最新2022 asp.net表單提交方法GET\POST 在ASP.NET中如何判斷用戶IE瀏覽器的版本 Asp.net中messagebox的實現(xiàn)方法 Asp.net中的web.config配置 在ASP.NET MVC中實現(xiàn)大文件異步上傳 asp.net獲取URL和IP地址 FileUpload上傳多文件出現(xiàn)錯誤的解決方法