欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VS2012 程序打包部署圖文詳解

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

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

一、.NET程序部署機制    

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

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

二、InstallShield程序打包圖解   

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

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


  2、發(fā)布程序

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

  3、設置程序安裝信息

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

  4、添加程序文件

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

  5、添加程序的資源文件

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


  6、設置安裝注冊文件

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


  7、設計程序的打開方式

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

  8、設置程序安裝注冊表項

   一般的應用程序在安裝時不需要考慮程序的注冊表項,此步驟可以不用設置。

  9、設置程序安裝時的安裝視圖

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


   
  10、打包環(huán)境

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

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

11、發(fā)布程序

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


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


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

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

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

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

相關文章

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

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

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

    c#中值類型和引用類型的基礎教程

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

    基于WPF實現(xiàn)跳動的字符效果

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

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

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

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

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

    c# WPF中CheckBox樣式的使用總結

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

    WinForm的延時加載控件概述

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

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

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

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

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

    C#中關于可空類型的小知識

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

最新評論