日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Visual C .NET編程講座之八

 dazuo0312 2006-09-09
程序的安裝和部署

  摘要

  本文先來介紹安裝和部署前的準(zhǔn)備,然后用向?qū)?chuàng)建一個(gè)安裝和部署項(xiàng)目,并修改項(xiàng)目的屬性,最后討論如何使用自己的標(biāo)題圖像、添加"序列號(hào)"對(duì)話框及生成程序菜單項(xiàng)和桌面圖標(biāo)。

  安裝和部署前的準(zhǔn)備

  一旦應(yīng)用程序項(xiàng)目開發(fā)好了之后,就要?jiǎng)?chuàng)建一個(gè)安裝程序供用戶進(jìn)行安裝。早期的安裝程序大多數(shù)是使用InstallShield來制作的,InstallShield一個(gè)最大的特點(diǎn)是可以使用其內(nèi)嵌的腳本語言InstallScript來定制自己的安裝過程和安裝界面。不過,現(xiàn)在我們還有一個(gè)更簡(jiǎn)便的選擇,那就是使用Visual Studio .net來創(chuàng)建程序安裝和部署項(xiàng)目。

  在將程序發(fā)布之前,我們需要將應(yīng)用程序項(xiàng)目生成進(jìn)行重新配置,即將原來默認(rèn)的Debug(調(diào)試)版本變成了Release(發(fā)布)版本。具體步驟如下:

  (1) 啟動(dòng)Visual Studio .NET,打開上一講的單文檔應(yīng)用程序項(xiàng)目Viewer。

  (2) 打開"生成"菜單,單擊"配置管理器",彈出對(duì)話框。

  (3) 在"活動(dòng)的解決方案配置"中選擇"Release",結(jié)果如圖1所示。


圖1 "配置管理器"對(duì)話框

  (4) 單擊"關(guān)閉"按鈕。打開"生成"菜單,單擊"生成解決方案"。生成完后,關(guān)閉該解決方案。

  需要說明的是,在用MFC應(yīng)用程序向?qū)?chuàng)建的項(xiàng)目中,可以有Win32 Debug和Win32 Release兩個(gè)版本。這兩個(gè)版本的區(qū)別是:Debug版本的運(yùn)行程序有相應(yīng)的調(diào)試信息代碼,而Release版本的運(yùn)行程序則沒有,但Release版本的運(yùn)行程序經(jīng)過代碼的優(yōu)化,其程序的運(yùn)行速度被最大加速。因此一般來說,當(dāng)用戶在將開發(fā)的應(yīng)用程序發(fā)布給用戶之前,應(yīng)將項(xiàng)目調(diào)試后將其編譯成Win32 Release版本。編譯和生成后的有關(guān)文件被放置在項(xiàng)目名文件夾下的Release子文件夾中。對(duì)于Debug版本,其編譯和生成后的有關(guān)文件被放置在Debug子文件夾中。
創(chuàng)建一個(gè)安裝和部署的項(xiàng)目

  Visual Studio.net不僅提供了創(chuàng)建基于Windows 或基于Web的應(yīng)用程序和組件的安裝程序的工具,也提供了創(chuàng)建用于下載的.Cab 文件的工具。與InstallShield不同的是,Visual Studio.NET使用Microsoft Windows Installer來提供程序安裝和配置的功能。

  Visual Studio.NET為用戶安裝和部署項(xiàng)目提供四種類型的模板:合并模塊項(xiàng)目、安裝項(xiàng)目、Web 安裝項(xiàng)目和 Cab 項(xiàng)目。此外還提供了兩個(gè)安裝程序向?qū)?,可幫助我們完成?chuàng)建部署項(xiàng)目的過程。下面我們使用安裝向?qū)韯?chuàng)建一個(gè)安裝項(xiàng)目。

  (1) 打開"文件"菜單,選擇"新建"->"項(xiàng)目",彈出"新建項(xiàng)目"對(duì)話框。

  (2) 單擊左側(cè)的項(xiàng)目類型"安裝和部署項(xiàng)目",選擇右側(cè)的"安裝向?qū)?模板,輸入項(xiàng)目名稱"ViewerSetup",指定一個(gè)項(xiàng)目位置,如圖2所示。


圖2 "新建項(xiàng)目"對(duì)話框

  (3) 單擊"確定"按鈕,出現(xiàn)如圖3所示的對(duì)話框。


圖3 向?qū)?第1步"對(duì)話框

  (4) 單擊"下一步"按鈕,出現(xiàn)如圖4所示的對(duì)話框。這里,可以選擇安裝項(xiàng)目類型以及重新發(fā)布的打包類型。


圖4 向?qū)?第2步"對(duì)話框

  (5) 保留默認(rèn)的選項(xiàng),單擊"下一步"按鈕,出現(xiàn)向?qū)?第3步"對(duì)話框。單擊"添加"按鈕,在彈出的"添加文件"對(duì)話框中,將前面的Viewer應(yīng)用程序可執(zhí)行文件添加進(jìn)來,結(jié)果如圖5所示。


圖5 向?qū)?第3步"對(duì)話框

  (6) 單擊"下一步"按鈕,出現(xiàn)如圖6所示的對(duì)話框,顯示出我們?cè)谇懊鎺讉€(gè)步驟中作出的選擇內(nèi)容。


圖6 向?qū)?第4步"對(duì)話框

  (7) 單擊"完成"按鈕,系統(tǒng)開始創(chuàng)建。需要說明的是,單擊"上一步"按鈕可對(duì)前面的操作進(jìn)行修改。

  (8) 打開"項(xiàng)目",選擇"添加"->"合并模塊",選定用于MFC應(yīng)用程序本地化支持的兩個(gè)模塊,一個(gè)是MFC_Loc_FE.msm(東南亞地方)和VC_MFC.msm(MFC的支持),單擊"打開"按鈕。


  生成和測(cè)試

  (1) 打開"生成"菜單,單擊"生成解決方案",系統(tǒng)就會(huì)在指定項(xiàng)目位置下的"ViewerSetup\Debug"中為該安裝項(xiàng)目生成一個(gè)ViewerSetup.msi安裝文件。

  (2) 在解決方案資源管理器中,右擊頂層節(jié)點(diǎn)"ViewerSetup",從彈出的快捷菜單中單擊"安裝",啟動(dòng)Windows Installer,進(jìn)行應(yīng)用程序的安裝過程。開始出現(xiàn)的是安裝"歡迎"對(duì)話框,如圖7所示。


圖7 "歡迎"對(duì)話框

  (3) 單擊"下一步"按鈕,進(jìn)入"選擇安裝文件夾"對(duì)話框,如圖8所示。


圖8 "選擇安裝文件夾"對(duì)話框

  (4) 單擊"下一步"按鈕,進(jìn)入"確認(rèn)安裝"對(duì)話框,如圖9所示。


圖9 "確認(rèn)安裝"對(duì)話框

  (5) 單擊"下一步"按鈕,系統(tǒng)開始安裝,并顯示安裝進(jìn)度,最后顯示安裝完成對(duì)話框,如圖10所示。


圖10 "安裝完成"對(duì)話框

  (6) 單擊"關(guān)閉"按鈕,退出安裝。這就是ViewerSetup默認(rèn)的安裝過程。
修改項(xiàng)目屬性

  (1) 在解決方案資源管理器中,單擊頂層目錄的"ViewerSetup"。在屬性窗口中出現(xiàn)如圖11所示的屬性。


圖11 項(xiàng)目屬性

  具體屬性含義可參見MSDN中的說明,需要注意的是:

  1、為保證UpgradeCode、PackageCode和ProductCode三種屬性值的唯一性,最好保留其默認(rèn)值。

  2、在Windows資源管理器中選定某安裝程序文件(.msi),右擊鼠標(biāo),從彈出的快捷菜單中選擇"屬性"命令,則Author、Description、Keywords和Subject等屬性顯示在其屬性對(duì)話框的"摘要"標(biāo)簽頁上。而在應(yīng)用程序安裝后,屬性Author、Description、Manufacturer、ManufacturerUrl、SupportPhone和SupportUrl顯示在"支持信息"對(duì)話框中,如圖12所示,該內(nèi)容可從系統(tǒng)的"添加/刪除程序"對(duì)話框中相應(yīng)程序的"查看支持信息"得到。


圖12 "支持信息"對(duì)話框

  (2) 在屬性窗口中,將Author屬性內(nèi)容改為"丁有和"。Author用來指定應(yīng)用程序或組件的作者名或聯(lián)系人。

  (3) 將Manufacturer屬性內(nèi)容改為"計(jì)算機(jī)編程維護(hù)與技巧 雜志社"。Manufacturer用來指定應(yīng)用程序或組件的開發(fā)公司或發(fā)行商。

  (4) 將ManufacturerUrl屬性內(nèi)容改為"www.comprg.com.cn",ManufacturerUrl用來指定Manufacturer的網(wǎng)址。

  (5) 將ProductName屬性內(nèi)容改為" 文本瀏覽器 "(注意文本前后要留有空格)。ProductName用來指定在目標(biāo)計(jì)算機(jī)上安裝應(yīng)用程序或組件時(shí)用于描述該應(yīng)用程序或組件的公共名稱。默認(rèn)為部署項(xiàng)目的名稱。

  (6) 將Subject屬性內(nèi)容設(shè)為"文本瀏覽器"。Subject用來指定在目標(biāo)計(jì)算機(jī)上安裝應(yīng)用程序或組件時(shí)用于描述該應(yīng)用程序或組件的其他信息。

  (7) 將Title屬性內(nèi)容改為"文本瀏覽器"。Title用來指定安裝程序的標(biāo)題。默認(rèn)情況下,Title屬性與部署項(xiàng)目的名稱相同。

  (8) 右擊解決方案管理器頂層目錄ViewerSetup,從彈出的快捷菜單中選擇"重命名",鍵入"文本瀏覽器 安裝"后按Enter鍵。

  (9) 打開"生成"菜單,單擊"重新生成解決方案"。

  (10) 打開"項(xiàng)目"菜單,單擊"安裝",看看出現(xiàn)的界面的變化。

 使用自己的標(biāo)題圖像

  "標(biāo)題圖像"是用來顯示在安裝對(duì)話框中的位于標(biāo)題欄下方的圖像,它是寬度為 500 像素、高度為 70 像素的位圖。下面就來改變對(duì)話框中的安裝標(biāo)題圖像。

  (1) 打開Windows中的"畫圖"工具,并將其圖像大小設(shè)置為500 x 70。

  (2) 在最右側(cè)添加一個(gè)用于產(chǎn)品標(biāo)識(shí)的圖像(自己構(gòu)造),結(jié)果如圖13所示,將該位圖保存到Banner.bmp文件中。


圖13 制作標(biāo)題位圖

  (3) 在Visual Studio .net中,打開"項(xiàng)目"菜單,選擇"添加"->"文件",將剛才創(chuàng)建的Banner.bmp文件添加當(dāng)前安裝項(xiàng)目中。

  (4) 打開"視圖"菜單,選擇"編輯器"->"用戶界面",在窗口中顯示出"用戶界面"編輯器,如圖14所示。


圖14 "用戶界面"編輯器

  在"用戶界面"編輯器中,安裝過程中所出現(xiàn)的對(duì)話框均在這里以"樹視圖"形式顯示出來。用戶界面分為"一般安裝"和"管理員安裝"兩大類。"一般安裝"用于最終用戶運(yùn)行安裝程序時(shí)將顯示的對(duì)話框,"管理員安裝"部分用于系統(tǒng)管理員將安裝程序上載到網(wǎng)絡(luò)位置時(shí)將顯示的對(duì)話框。

  (5) 單擊"歡迎使用",將在屬性窗口中出現(xiàn)這個(gè)對(duì)話框的屬性,其中BannerBitmap屬性用來指定對(duì)話框的標(biāo)題圖像的。

  (6) 在屬性窗口中,單擊BannerBitmap屬性欄右側(cè)的下拉按鈕,從彈出的列表中選擇"(瀏覽…)",出現(xiàn)如圖15所示的對(duì)話框。


圖15 "選擇項(xiàng)目中的項(xiàng)"對(duì)話框

  (7) 雙擊"應(yīng)用程序文件夾",出現(xiàn)前面添加的標(biāo)題圖像文件Banner.bmp,選中它,單擊"確定"按鈕。這樣,該對(duì)話框的標(biāo)題圖像就設(shè)置好了。類似的,還可以為其他所有的對(duì)話框進(jìn)行設(shè)置。

  (8) 重新生成并安裝,結(jié)果出現(xiàn)的"歡迎使用"對(duì)話框如圖16所示。


圖16 定制后的"歡迎使用"對(duì)話框

添加"序列號(hào)"驗(yàn)證對(duì)話框

  程序安裝時(shí)往往需要序列號(hào)為限制非法安裝,下面就來實(shí)現(xiàn)。

  (1) 在"用戶界面"編輯器中,右擊"安裝"下的"啟動(dòng)"節(jié)點(diǎn),從彈出的快捷菜單中選擇"添加對(duì)話框",出現(xiàn)如圖17所示的對(duì)話框。


圖17 "添加對(duì)話框"

  (2) 由于"序列號(hào)"是產(chǎn)品的一種客戶信息,因此我們單擊"客戶信息",然后單擊"確定"按鈕。

  (3) 在"用戶界面"編輯器中,將"客戶信息"節(jié)點(diǎn)拖放到"歡迎使用"與"安裝文件夾"之間。

  (4) 在"客戶信息"屬性窗口中,將BannerBitmap屬性修改為"Banner.bmp"。

  (5) 將SerialNumberTemplate屬性修改成"<?????-?????>"。SerialNumberTemplate屬性決定文本框在對(duì)話框中的顯示方式,并確定是僅對(duì)序列號(hào)的格式進(jìn)行驗(yàn)證,還是按照 Windows 安裝程序算法對(duì)序列號(hào)進(jìn)行驗(yàn)證。SerialNumberTemplate屬性的有效可編輯字符可以是"#?%^<>",其中#表示要求輸入一個(gè)數(shù)字,該數(shù)字將不包括在驗(yàn)證算法中。%表示要求輸入一個(gè)數(shù)字,該數(shù)字將包括在驗(yàn)證算法中。?表示要求輸入一個(gè)字母數(shù)字字符,該字符將不包括在驗(yàn)證算法中。^表示要求輸入一個(gè)大寫字母或一個(gè)數(shù)字。<和>表示該字符左邊或右邊的所有字符在對(duì)話框中都不可見。
  (6) 將ShowSerialNumber屬性設(shè)置為True,結(jié)果如圖18所示。


圖18 修改的"客戶信息"屬性

  (7) 這樣,重新生成安裝后,出現(xiàn)如圖19所示的"客戶信息"對(duì)話框。


圖19 "客戶信息"對(duì)話框

  需要說明的是,若自己驗(yàn)證序列號(hào),也就是說序列號(hào)等于某個(gè)字符串,則需要進(jìn)行自定義操作。由于自定義操作需要更多的底層代碼,因此這里不作討論。
 生成程序菜單項(xiàng)和桌面圖標(biāo)

  在Windows中運(yùn)行程序的最常用快捷方式是在程序中創(chuàng)建菜單項(xiàng)或在桌面中創(chuàng)建快捷圖標(biāo)。下面就來創(chuàng)建。

  1. 生成程序菜單項(xiàng)

  (1) 在"文件系統(tǒng)"編輯器中,右擊"用戶的‘程序‘菜單",彈出快捷菜單,將鼠標(biāo)指針指向菜單中的"添加",彈出子菜單,單擊子菜單中的"文件夾"。將該文件夾名稱改為"文本瀏覽器"。

  (2) 單擊"文本瀏覽器",在右側(cè)列表視圖窗口處右擊鼠標(biāo),彈出快捷菜單,單擊"創(chuàng)建新的快捷方式"。彈出如前面的圖15所示的"選擇項(xiàng)目中的項(xiàng)"對(duì)話框。

  (3) 在對(duì)話框中,雙擊"應(yīng)用程序文件夾",然后單擊"Viewer.exe",單擊"確定"按鈕。

  (4) 單擊創(chuàng)建的快捷方式"Viewer.exe 的快捷方式",在屬性窗口中將Name屬性改成"運(yùn)行 文本瀏覽器"。

  (5) 在屬性窗口中,單擊Icon屬性右則的下拉按鈕,從中選擇"(瀏覽…)",在彈出的"圖標(biāo)"對(duì)話框中,單擊"瀏覽"按鈕,在"選擇項(xiàng)目中的項(xiàng)"對(duì)話框中,選中"應(yīng)用程序文件夾"后,單擊右側(cè)的"添加文件",將Viewer項(xiàng)目文件夾中的Viewer.ico文件添加。

  (6) 單擊Viewer.ico,再單擊"確定"按鈕。此時(shí)"圖標(biāo)"對(duì)話框如圖20所示。


圖20 "圖標(biāo)"對(duì)話框

  (7) 單擊"當(dāng)前圖標(biāo)"中的圖標(biāo),然后單擊"確定"按鈕,這里屬性窗口中的屬性變成如圖21所示的內(nèi)容。


圖21 修改后的程序快捷方式屬性

  需要說明的是:

   Arguments屬性用來為所選的自定義操作指定命令行參數(shù)。僅適用于.exe自定義操作。

   ShowCmd屬性用來為通過快捷方式啟動(dòng)的應(yīng)用程序指定窗口狀態(tài)(正常vsdscNormal、最小化vsdscMinimized或最大化vsdscMaximized)。

   Target屬性用來指定目標(biāo)計(jì)算機(jī)上由快捷方式啟動(dòng)的應(yīng)用程序的路徑和文件名。

   Transitive屬性用來確定在目標(biāo)計(jì)算機(jī)上安裝或重新安裝應(yīng)用程序或組件時(shí),安裝程序是否重新計(jì)算選定的文件夾、文件、注冊(cè)表鍵或注冊(cè)表值的Condition屬性。此屬性是一項(xiàng)高級(jí)功能,應(yīng)謹(jǐn)慎使用,一般使用其默認(rèn)值False。

   WorkingFolder屬性用來指定文件夾的名稱,在目標(biāo)計(jì)算機(jī)上的該文件夾中安裝選定快捷方式的目標(biāo)應(yīng)用程序。

  (8) 在左側(cè)單擊"文本瀏覽器",將其AlwaysCreate屬性設(shè)為True。

  (9) 重新生成安裝后,在"開始"菜單中的"所有程序中"中出現(xiàn)如圖22所示的程序菜單。


圖22 安裝后的程序菜單項(xiàng)

  2. 創(chuàng)建桌面圖標(biāo)

  (1) 在"文件系統(tǒng)"編輯器中,單擊"用戶桌面",將其AlwaysCreate屬性設(shè)為True。

  (2) 在編輯器的右側(cè)窗口處,右擊鼠標(biāo),從彈出快捷菜單中選擇"創(chuàng)建新的快捷方式"。彈出如前面的圖15所示的"選擇項(xiàng)目中的項(xiàng)"對(duì)話框。

  (3) 在對(duì)話框中,雙擊"應(yīng)用程序文件夾",然后單擊"Viewer.exe",單擊"確定"按鈕。

  (4) 單擊創(chuàng)建的快捷方式"Viewer.exe 的快捷方式",在屬性窗口中將Name屬性改成"文本瀏覽器"。

  (5) 單擊"文本瀏覽器"。在屬性窗口中,將Icon屬性設(shè)為Viewer.ico文件中的圖標(biāo)。

  (6) 重新生成并安裝。

  結(jié)束語

  本講重點(diǎn)討論了程序的安裝和部署,一旦安裝項(xiàng)目制作好以后就可以在項(xiàng)目文件夾下Debug中的文件制成安裝盤。在本講座中,我們領(lǐng)略了用Visual C++ .net進(jìn)行應(yīng)用程序開發(fā)的一般過程,從中可以發(fā)現(xiàn)其功能的強(qiáng)大,當(dāng)然要想更加深入地使用該工具,還應(yīng)在實(shí)踐中不斷磨練。不過,這里還有強(qiáng)調(diào)的是,一定要用Visual C++ .NET做一個(gè)項(xiàng)目。(全文完)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多