亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

VS2012 程序打包部署圖文詳解

2020-01-24 00:52:20
字體:
來源:轉載
供稿:網友

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

一、.NET程序部署機制    

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

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

二、InstallShield程序打包圖解   

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

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


  2、發布程序

    在繼續往下操作前一定要選擇發布,在啟動項目的屬性內設置發布文件夾默認路徑設置為安裝系統的文件夾。

  3、設置程序安裝信息

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

  4、添加程序文件

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

  5、添加程序的資源文件

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


  6、設置安裝注冊文件

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


  7、設計程序的打開方式

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

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

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

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

    根據自己的需要進行設計即可。


   
  10、打包環境

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

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

11、發布程序

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


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


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

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人黄色生活片| 亚洲精品成人久久| 国产精品久久av| 亚洲石原莉奈一区二区在线观看| 亚洲视频在线观看视频| 色妞色视频一区二区三区四区| 欧美午夜无遮挡| 国产日韩av高清| 欧美黑人xxx| 高清视频欧美一级| 日韩av在线免费观看一区| 亚洲男人的天堂网站| 日韩美女视频免费在线观看| 中文字幕在线精品| 久久久久久国产精品久久| 国产精品免费视频久久久| 日韩欧美高清视频| 成人国产亚洲精品a区天堂华泰| 成人乱色短篇合集| 欧美激情在线播放| 日本欧美一二三区| 精品国产一区久久久| 黑人巨大精品欧美一区二区一视频| 一区二区av在线| 精品无人区乱码1区2区3区在线| 亚洲91精品在线| 日韩av电影手机在线| 色阁综合伊人av| 黑人精品xxx一区| 日本伊人精品一区二区三区介绍| 亚洲2020天天堂在线观看| 中文字幕日韩欧美| 欧美裸体xxxxx| 欧美理论电影在线播放| 国产精欧美一区二区三区| 色噜噜狠狠狠综合曰曰曰| 久久影视电视剧免费网站清宫辞电视| 精品无人区太爽高潮在线播放| 欧美与黑人午夜性猛交久久久| 国产精品91久久| 69久久夜色精品国产69| 96精品久久久久中文字幕| 亚洲色图激情小说| 国产亚洲精品久久久久久777| 亚洲va久久久噜噜噜| 国内精品久久久久久久| 亚洲成人激情小说| 日韩精品中文字幕视频在线| 九色精品免费永久在线| 亚洲少妇激情视频| 亚洲aⅴ日韩av电影在线观看| 亚洲欧美日本另类| 精品久久中文字幕| 欧美一级片久久久久久久| 亚洲女人天堂成人av在线| 中文字幕在线看视频国产欧美在线看完整| 91精品国产乱码久久久久久蜜臀| 26uuu日韩精品一区二区| 国产精品18久久久久久麻辣| 久久久久久久久综合| 亚洲精品国偷自产在线99热| www.欧美三级电影.com| 精品久久久久久久大神国产| www日韩中文字幕在线看| 色99之美女主播在线视频| 91av福利视频| 在线视频欧美日韩精品| 欧美激情videos| 亚洲国产欧美在线成人app| 日韩中文字幕欧美| 午夜精品一区二区三区在线播放| 久久激情五月丁香伊人| 成人免费在线视频网址| 国产成人午夜视频网址| 国产精品aaaa| 日韩精品久久久久久福利| 日韩一区二区在线视频| 久久av资源网站| 91丝袜美腿美女视频网站| 日本高清视频一区| 91国产高清在线| 狠狠躁夜夜躁人人爽超碰91| 一本色道久久88亚洲综合88| 国产日韩欧美黄色| 日韩成人在线视频| 色综合91久久精品中文字幕| 欧美日韩综合视频| 国产欧美日韩视频| 国产精品草莓在线免费观看| 成人xxxx视频| 精品福利视频导航| 日韩免费观看av| 色999日韩欧美国产| 亚州欧美日韩中文视频| 亚洲成人激情视频| 不卡av电影院| 亚洲一区二区三区视频播放| 色婷婷综合久久久久| 欧美另类69精品久久久久9999| 亚洲视频在线播放| 日韩欧美高清视频| 欧美日韩国产黄| 日韩精品在线免费观看| 日本精品视频在线播放| 日韩电影中文 亚洲精品乱码| 亚洲欧美国产精品专区久久| 91国产中文字幕| 欧美在线视频网站| 性视频1819p久久| 欧美性xxxxx极品娇小| 亚洲a级在线播放观看| 久久天堂av综合合色| 97人人模人人爽人人喊中文字| 亚洲精品suv精品一区二区| 亚洲一级一级97网| 亚洲最大av网站| 美女久久久久久久| 国产亚洲精品激情久久| 欧美一乱一性一交一视频| 尤物tv国产一区| 不卡在线观看电视剧完整版| 亚洲成人网av| 日本高清不卡的在线| 91久久中文字幕| 欧美成年人视频网站欧美| 色阁综合伊人av| 欧洲亚洲免费视频| 亚洲成人久久电影| 午夜免费在线观看精品视频| 亚洲伊人一本大道中文字幕| 日韩成人xxxx| 7m第一福利500精品视频| 日本不卡免费高清视频| 久久中文精品视频| 久久久久久久久久久成人| 久久久久久久久久久成人| 国产精品久久久久久久久粉嫩av| 欧美日本黄视频| 欧美洲成人男女午夜视频| 精品国产乱码久久久久酒店| 欧美另类69精品久久久久9999| 亚洲欧美国产日韩天堂区| 国产精品视频久久久久| 91av视频导航| 久久久久久久久久亚洲| 日本国产欧美一区二区三区| 国产精品女主播视频| 欧美高跟鞋交xxxxxhd| 高清欧美一区二区三区| 久久久91精品国产一区不卡| 亚洲欧美综合v| 欧美性受xxxx白人性爽| 亚洲欧美日韩高清| 久久97久久97精品免视看| 中文字幕亚洲无线码在线一区| 日韩精品视频免费在线观看| 亚洲国产日韩欧美综合久久| 精品国产鲁一鲁一区二区张丽| 91精品视频在线| 国产精品91视频| 55夜色66夜色国产精品视频| 欧美一二三视频| 欧洲一区二区视频| 中文字幕一区电影|