亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

VS2012 程序打包部署圖文詳解

 更新時(shí)間:2016年12月20日 23:15:35   作者:張信秀  
VS2012雖然沒有集成打包工具,但它為我們提供了下載的端口,需要我們手動(dòng)安裝一個(gè)插件InstallShield。網(wǎng)上有很多第三方的打包工具,但為什么偏要使用微軟提供的呢

程序編寫測(cè)試完成后接下來我們要做的是打包部署程序,但VS2012讓人心痛的是沒有了打包工具。不知道出于什么原因微軟沒有將打包工具集成在開發(fā)環(huán)境中,但是我知道總會(huì)有解決辦法的。
    經(jīng)過翻閱資料發(fā)現(xiàn),VS2012雖然沒有集成打包工具,但它為我們提供了下載的端口,需要我們手動(dòng)安裝一個(gè)插件InstallShield。網(wǎng)上有很多第三方的打包工具,但為什么偏要使用微軟提供的呢?因?yàn)樽钤嫉囊彩亲罡呒?jí)的,萬變不離其宗。

一、.NET程序部署機(jī)制    

上篇博客稍微總結(jié)了下.NET程序的編譯機(jī)制,下面了解些有關(guān)程序部署的一些機(jī)制。在.NET程序包下有三個(gè)文件夾分別是bin文件、obj文件、My Project文件,他們分別封存著程序的組成部分。
    bin目錄用來存放程序的編譯結(jié)果,它有Debug和Release兩個(gè)版本,分別對(duì)應(yīng)的文件夾為bin/Debug和bin/Release,這個(gè)文件夾是默認(rèn)的輸出路徑,在編譯后生成的程序文件會(huì)存放在該目錄下。當(dāng)然我們也可以手動(dòng)修改程序的輸出路徑,修改方法:項(xiàng)目屬性—>配置屬性—>輸出路徑來修改。

    obj目錄是用來保存每個(gè)模塊的編譯結(jié)果,用來放置程序生成時(shí)的中間文件。程序不會(huì)直接生成出可用的文件,而是由源程序生成中間文件,再編譯中間文件生成可執(zhí)行文件的。在.NET中,編譯是分模塊進(jìn)行的,編譯整個(gè)完成后會(huì)合并為一個(gè).DLL或.EXE保存到bin目錄下。因?yàn)槊看尉幾g時(shí)默認(rèn)都是采用增量編譯,即只重新編譯改變了的模塊,obj保存每個(gè)模塊的編譯結(jié)果,用來加快編譯速度。是否采用增量編譯,可以通過:項(xiàng)目屬性—>配置屬性—>高級(jí)—>增量編譯來設(shè)置。
    My Project目錄定義你程序集的屬性,被稱為項(xiàng)目屬性文件夾。目錄下的AssemblyInfo類文件,用于保存程序集的信息,如名稱,版本等,這些信息一般與項(xiàng)目屬性面板中的數(shù)據(jù)對(duì)應(yīng),不需要手動(dòng)編寫。
    在程序編譯生成后,程序的源文件就不在重要了,重要的是DLL、EXE、Config等的程序的組件,有了程序的組件程序就能夠正常運(yùn)行。所以在發(fā)布制作安裝程序時(shí)我們只需要將程序的組件打包即可。

二、InstallShield程序打包圖解   

VS2012中打包工具被看做程序集,在使用時(shí)和程序集一樣被創(chuàng)建到程序解決方案下。需要我們做的是添加項(xiàng)目即可。但是對(duì)于初次使用的朋友來說,我們需要根據(jù)提示一步步的先下載安裝該打包工具。具體的安裝方法不再詳述,網(wǎng)上資料很多 。
  1、設(shè)置安裝程序集

    InstallShield安裝完成后,執(zhí)行以下步驟右鍵解決方案-->添加-->新建項(xiàng)目-->其他項(xiàng)目類型-->安裝和部署,具體操作如下圖:


  2、發(fā)布程序

    在繼續(xù)往下操作前一定要選擇發(fā)布,在啟動(dòng)項(xiàng)目的屬性內(nèi)設(shè)置發(fā)布文件夾默認(rèn)路徑設(shè)置為安裝系統(tǒng)的文件夾。

  3、設(shè)置程序安裝信息

    Application Information主要設(shè)置程序在安裝時(shí)顯示的有關(guān)程序的一些信息,如:程序的開發(fā)者、程序開發(fā)公司,程序安裝圖標(biāo)和程序簡(jiǎn)介等。

  4、添加程序文件

    在下圖中的第四步中添加程序文件時(shí)會(huì)有主輸出、源文件等多個(gè)選項(xiàng)框,其實(shí)它的生成機(jī)制和.NET程序的編譯機(jī)制是相同的。下圖中的第五部顯示出的UI.主輸出,在生成安裝文件后程序包中包含了與UI層進(jìn)行交互引用的其它層的引用文件,但不會(huì)生成和UI層(啟動(dòng)層)沒有相連的組件,我們只能通過手動(dòng)添加。

  5、添加程序的資源文件

    程序源文件是程序運(yùn)行的資源文件,也包含了程序的源碼文件。如果不需要打包源文件的話,這步可以省略。


  6、設(shè)置安裝注冊(cè)文件

           如果開發(fā)的程序中使用了第三方控件,這時(shí)在安裝時(shí)往往需要注冊(cè)到目標(biāo)系統(tǒng)中,同樣Install也為用戶提供了此功能。Install能夠通過設(shè)置dll文件或OCX文件的注冊(cè),首先要添加注冊(cè)的文件,然后通過設(shè)置文件的安裝屬性來指定注冊(cè)與否,設(shè)置如下圖。


  7、設(shè)計(jì)程序的打開方式

    Application Shortcuts 程序快捷打開方式,Install為用戶提供了兩種顯示形式,分別是Win菜單和桌面。下圖顯示了設(shè)置的一些注意項(xiàng),此階段也可以設(shè)置程序的顯示圖標(biāo)。

  8、設(shè)置程序安裝注冊(cè)表項(xiàng)

   一般的應(yīng)用程序在安裝時(shí)不需要考慮程序的注冊(cè)表項(xiàng),此步驟可以不用設(shè)置。

  9、設(shè)置程序安裝時(shí)的安裝視圖

    根據(jù)自己的需要進(jìn)行設(shè)計(jì)即可。


   
  10、打包環(huán)境

    設(shè)置完上面的步驟后,我們的打包程序基本設(shè)置完成,但是在一些情況下我們往往要打包.net環(huán)境或者其它程序運(yùn)行所需要的Windows環(huán)境,Install也為我們很好的設(shè)計(jì)了環(huán)境的打包。

    在選擇需要打包的環(huán)境時(shí)一定要注意文件的名稱,一般往往是需要直接將環(huán)境安裝包放到安裝exe中這時(shí)我們要選擇名稱為Client的文件,如我想要將.NET Framework 4.0的完成安裝包集成到exe中,這時(shí)我要選中Microsoft .NET Framework 4.0 Clinet然后等待Vs將該環(huán)境的安裝包下載到程序集文件夾中即可。另外一定要注意名稱后面的(Web Download)括號(hào)的內(nèi)容說明文件只是一個(gè)鏈接,在安裝時(shí)需要網(wǎng)絡(luò)下載才可以實(shí)現(xiàn)完成安裝。

11、發(fā)布程序

           上面的安裝步驟執(zhí)行完成后即可生成解決方案,但是生成的文件會(huì)放在DVD-5文件夾內(nèi),想要使用安裝文件的話就必須拷貝整個(gè)文件夾否則安裝會(huì)出錯(cuò),這樣內(nèi)容很繁瑣,而且給客戶的安裝體驗(yàn)度也很差,那應(yīng)該有其它的解決辦法吧,是的,如下圖所示,我們將使用SingleImage的安裝包,將所有文件集成到一個(gè)Setup.exe中,再次安裝的時(shí)候只需要一個(gè)Setup.exe即可。


           如果我們的安裝文件內(nèi)沒有打包程序運(yùn)行環(huán)境那上面的操作步驟就完全可以滿足只需要一個(gè)Setup.exe即可的要求了,但如果需要將安裝環(huán)境打包到Setup.exe中的話還必須要經(jīng)過下圖的步驟。


      好了設(shè)置完成后,接下來就是生成解決方案了或者是只生成單個(gè)程序集,這時(shí)候安裝文件就只有一個(gè)setup.exe了,如下圖。

    操作完上述步驟后,程序打包基本設(shè)置已經(jīng)完成,接下來要做的就是生成解決方案。生成解決方案后會(huì)在安裝程序集下面生成一個(gè)名為Setup的文件夾,安裝文件就保存在下面的目錄中。Install在生成安裝文件后會(huì)有Setup.exe和.msi兩中安裝文件,exe文件是安裝的引導(dǎo)文件,核心文件是msi文件,里面封存了程序的組件。在里面找到Setup.exe文件及msi文件即可進(jìn)行安裝。

    最后還要強(qiáng)調(diào)一點(diǎn),Install打包工具中并沒有繼承中文環(huán)境,在它的底層語言庫(kù)中沒有中文語言,所以解決方案、程序集名稱等涉及到與主輸出相關(guān)的文件最好不要以中文名命名,否則會(huì)出現(xiàn)如下的錯(cuò)誤:“ -7184: The FileName column of the File table includes characters that are not available on code page 1252”,該錯(cuò)誤是在說明在代碼段1252處沒有發(fā)現(xiàn)和文件名相關(guān)的語言庫(kù)。

    萬變不離其宗,微軟的Install程序打包工具雖然使用時(shí)較繁瑣,但原始的就是最高級(jí)的,其它的打包工具和它相比也差不到哪兒去。

相關(guān)文章

  • Unity shader實(shí)現(xiàn)多光源漫反射以及陰影

    Unity shader實(shí)現(xiàn)多光源漫反射以及陰影

    這篇文章主要為大家詳細(xì)介紹了shader實(shí)現(xiàn)多光源漫反射以及陰影,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • c#中值類型和引用類型的基礎(chǔ)教程

    c#中值類型和引用類型的基礎(chǔ)教程

    這篇文章主要給大家介紹了關(guān)于c#中值類型和引用類型的基礎(chǔ)教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 基于WPF實(shí)現(xiàn)跳動(dòng)的字符效果

    基于WPF實(shí)現(xiàn)跳動(dòng)的字符效果

    這篇文章主要和大家介紹一個(gè)好玩但實(shí)際作用可能不太大的動(dòng)畫效果:跳動(dòng)的字符,本文將利用WPF實(shí)現(xiàn)這一效果,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-08-08
  • C#的并發(fā)機(jī)制優(yōu)秀在哪你知道么

    C#的并發(fā)機(jī)制優(yōu)秀在哪你知道么

    這篇文章主要為大家詳細(xì)介紹了C#的并發(fā)機(jī)制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C# WinForm制作異形窗體與控件的方法

    C# WinForm制作異形窗體與控件的方法

    這篇文章主要介紹了C# WinForm制作異形窗體與控件的方法,結(jié)合實(shí)例形式分析了WinForm制作異形窗體與控件的原理、實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • c# WPF中CheckBox樣式的使用總結(jié)

    c# WPF中CheckBox樣式的使用總結(jié)

    這篇文章主要介紹了c# WPF中CheckBox樣式的使用總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • WinForm的延時(shí)加載控件概述

    WinForm的延時(shí)加載控件概述

    這篇文章主要介紹了WinForm的延時(shí)加載控件,很實(shí)用的技巧,在C#程序設(shè)計(jì)中有著比較廣泛的應(yīng)用,需要的朋友可以參考下
    2014-08-08
  • C# Onnx實(shí)現(xiàn)特征匹配DeDoDe檢測(cè)

    C# Onnx實(shí)現(xiàn)特征匹配DeDoDe檢測(cè)

    這篇文章主要為大家詳細(xì)介紹了C# Onnx如何實(shí)現(xiàn)特征匹配DeDoDe檢測(cè),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • WPF實(shí)現(xiàn)3D翻牌式倒計(jì)時(shí)特效

    WPF實(shí)現(xiàn)3D翻牌式倒計(jì)時(shí)特效

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)3D翻牌式倒計(jì)時(shí)特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C#中關(guān)于可空類型的小知識(shí)

    C#中關(guān)于可空類型的小知識(shí)

    這篇文章主要介紹了C#中關(guān)于可空類型的小知識(shí),本文講解可空類型運(yùn)算的小技巧,需要的朋友可以參考下
    2015-04-04

最新評(píng)論