部署和分發.NET應用程式的兩種方法

來源:互聯網
上載者:User
        微軟的.NET計劃是一項激動人心的浩大工程,隨著VS.NET Beta2版本的發布,.NET技術也逐漸趨於穩定和成型,越來越多的公司和技術愛好者投入到.NET的開發中來,而現在及早開始.NET的學習和相關開發正是好時機。但是,目前存在著的一個明顯事實是,所有的基於.NET技術的應用程式或者產品都需要.NET的運行庫支援,因為.NET在程式部署和分發方面有些類似,它需要.NET Framework SDK的支援(JAVA應用程式需要JDK的支援才可以運行),不幸的是,目前的Win9x系列以及WinNT/2000系列均沒有內建.NET SDK(不難理解,因為.NET技術

的推出的時間晚於上面提到的各種作業系統的發布時間),甚至連即將發布的WindowsXP都不會內建.NET SDK。

  雖然,沒有了.NET SDK的支援,就連一個簡單的在螢幕上面列印“Hello,World!”的應用程式都無法運行,那我們也不可能要求使用者必須手工安裝將近120M的.NET SDK後才能運行我們自己開發的應用程式!有沒有更為簡便的發布.NET應用程式的方法呢?答案是肯定的,下面我們就提供兩種可以正確部署和發布.NET應用程式的方法。

  一、用VS.NET來部署和分發.NET應用程式無庸置疑的是,VS.NET是開發.NET應用程式的一個非常強大和快捷的整合式開發環境(IDE),微軟曆來在配合自己的應用技術方面都能做到盡善盡美,當然,我想也只有微軟才能真正做到和.NET技術的無縫銜接。

  下面我們就詳細看看如何利用VS.NET來部署和分發.NET應用程式。為了講解的方便,我們例舉一個非常簡單的Windows應用程式:簡單的在螢幕上面放置一個按鈕Button。

  我們開發.NET應用程式的測試環境是:Windows2000 Server中文版(SP2)+VS.NET Beta2中文版。

  第一步:

  在原有的項目基礎上,再建立立一個項目,並且選擇其中的“安裝和部署項目”,如所示:

        注意中紅色標記的地方,尤其需要注意選擇“添入解決方案”這個選項,因為只有這樣才會將部署項目和我們自己的應用程式放置到同一個“解決方案”當中,這一點千萬要注意了!

  第二步:

  點擊“確定”按鈕之後,會出現安裝嚮導,如所示:

        因為我們的.NET測試程式是一個Windows應用程式,所以我們在中選擇“建立用於Windows應用程式的安裝程式(S)”。點擊“下一步(N)”,我們將會看到需要選擇的畫面,如所示:

  中的各個選擇項目的含義相信大家可以從中文名稱中直觀的理解到,我們就不再多費口舌了。一路點擊“下一步”直到最終安裝嚮導的完成會需要5步,最終會在當前的解決方案中添加一個名稱為“Setup1”的安裝項目。

  在這裡我們稍微提一下在VS.NET中的“解決方案”這個概念,其實在VS.NET中的所謂“解決方案”就類似於以前VB中的“項目組”概念,也就是將多重專案整合到一起而已,只不過VS.NET中的“解決方案”這個概念的覆蓋範圍更廣泛而已罷了,這個我們知道一下就可以了。

  第三步:

  在完成上面的兩個步驟之後,我們就會發現,VS.NET的安裝嚮導已經將我們的應用程式中所用到的各種程式集、系統DLL檔案、資源檔等等依賴檔案找到了,並且我們還可以方便的繼續添加額外的我們需要的其他相關檔案,在這方面做的有些類似於InstallShield了,不過不需要編寫安裝Script指令碼。

  這樣,我們選擇VS.NET的菜單“產生(B)”—〉“產生解決方案”,即可立即產生我們的安裝檔案Setup1.msi,這個安裝檔案你可以在你的應用程式解決方案所在的目錄中找到。

  找到了這個安裝檔案你就會大吃一驚了,即使我們的應用程式只有簡單的一句話,打包之後就會有17M之大!不過沒有辦法,VS.NET會產生一個簡潔的.NET SDK放在我們剛才產生的那個安裝檔案當中。

  剩下來的事情,就是直接在沒有安裝.NET環境的Windows9x/NT/2000/XP中運行我們的這個Setup1.msi檔案就可以了!

  二、手工部署和分發.NET應用程式在上面的第一種方法中,我們可以感受到VS.NET來做.NET應用程式的方便和快捷,但是並不是所有的人都是使用VS.NET整合式開發環境來開發.NET應用程式的,對於一些小的應用程式,根本不需要安裝龐大的VS.NET開發環境也可以方便的開發,比如使用UtraEdit軟體來編寫小巧玲瓏的.NET應用程式也是一個不錯的選擇。

  在這裡我們就說說如何不使用VS.NET來自己手工的部署和分發我們的.NET應用程式。首先分兩類:

  第一類:基於Web的.NET應用程式

  對於這一類應用程式,可以說在部署和分發方面是最為簡單的了,我們只需要將.NET運行環境安裝到我們自己的伺服器上面就可以了,使用者端需要的僅僅是相容IE4.0以上的任何瀏覽器就可以了。

  第二類:基於Windows的.NET應用程式

  對於這一類,應用程式,我們可以使用InstallShield安裝軟體來手工打包。首先,先在我們的.NET Frameword SDK光碟片中找到目錄dotNet,在這個目錄裡面我們可以發現一個大小大約15M的一個安裝檔案,這個就是我們的.Net的運行時刻檔案,類似於JAVA的JRE(JAVA運行時環境)。這個檔案的體積也是比較大的,但是相對於.NET SDK檔案的龐大的120M可以算是要好許多了。

  至於InstallShield的詳細使用方法我在這裡也無法透徹講解,不過使用起來是非常方便的,我只提出需要注意的地方:

  1、在使用InstallShield中,可以稍微編寫一段指令碼來監測目標機器時候已經存在了.NET的運行環境,如果有了,就不必安裝.NET運行時檔案了。

  2、所有我們自己的DLL檔案不在需要註冊,只需要簡單的將他們拷貝到我們應用程式所在的目錄即可!

  我們在這裡例舉的是使用InstallShield來製作安裝程式,當然還可以使用其它的任何第三方安裝製作軟體來部署和分發我們的.NET應用程式,比如Windows Installer等等。

  好了,最終我們比較這兩種部署和分發.NET應用程式的方法,我們可以看到,使用第二種方法能夠帶來的一個潛在好處是,我們可以將.NET運行時環境檔案和自己的應用程式分離開來,從而在某些情況下可以大大減少部署安裝應用程式的檔案大小;而第一種方法就不可以了,他將始終將.NET運行時環境檔案打包進入安裝檔案。但是第一種方法的優點也是顯而易見的,就是比較智能化,需要人幹預的地方很少,並且如果需要部署和分發的.NET應用程式是比較大型的軟體的話,我們推薦使用第一種方法!

  相信在微軟正式發布.NET以及VS.NET之後,部署和分發.NET應用程式將會變得更加簡單和快捷,但是最好的方式是希望微軟在下一版本的作業系統中能夠內建.NET運行時環境就好了,那樣的話,我們就不必時刻“隨身攜帶”體積不算小的.NET運行時環境檔案了,讓我們拭目以待吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.