乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Visual C .NET編程講座之八

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

        摘要

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

        安裝和部署前的準備

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

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

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

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

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


      圖1 "配置管理器"對話框

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

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

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

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

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

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


      圖2 "新建項目"對話框

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


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

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


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

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


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

        (6) 單擊"下一步"按鈕,出現(xiàn)如圖6所示的對話框,顯示出我們在前面幾個步驟中作出的選擇內(nèi)容。


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

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

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


        生成和測試

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

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


      圖7 "歡迎"對話框

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


      圖8 "選擇安裝文件夾"對話框

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


      圖9 "確認安裝"對話框

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


      圖10 "安裝完成"對話框

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

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


      圖11 項目屬性

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

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

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


      圖12 "支持信息"對話框

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

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

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

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

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

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

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

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

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

       使用自己的標題圖像

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

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

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


      圖13 制作標題位圖

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

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


      圖14 "用戶界面"編輯器

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

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

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


      圖15 "選擇項目中的項"對話框

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

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


      圖16 定制后的"歡迎使用"對話框

      添加"序列號"驗證對話框

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

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


      圖17 "添加對話框"

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

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

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

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


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

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


      圖19 "客戶信息"對話框

        需要說明的是,若自己驗證序列號,也就是說序列號等于某個字符串,則需要進行自定義操作。由于自定義操作需要更多的底層代碼,因此這里不作討論。
       生成程序菜單項和桌面圖標

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

        1. 生成程序菜單項

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

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

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

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

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

        (6) 單擊Viewer.ico,再單擊"確定"按鈕。此時"圖標"對話框如圖20所示。


      圖20 "圖標"對話框

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


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

        需要說明的是:

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

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

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

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

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

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

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


      圖22 安裝后的程序菜單項

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

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

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

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

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

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

        (6) 重新生成并安裝。

        結(jié)束語

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

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多