為Pocket PC應(yīng)用程序生成CAB 文件

2010-08-28 10:50:01來源:西部e網(wǎng)作者:

演練:為設(shè)備項目生成自定義 CAB 文件

在本演練中,您將生成一個為滿足用戶的特殊需要而自定義的壓縮文件 (CAB)。本演練通過指導(dǎo)您完成下列任務(wù),提供了一個點(diǎn)對點(diǎn)方案:

  • 使用 Visual Basic .NET 或 Visual C# 創(chuàng)建一個簡單的 Pocket PC 應(yīng)用程序
  • 自動生成一個 CAB 文件以提供 CAB 模板
  • 修改自動生成的信息文件 (.inf)。
  • 用修改過的 .inf 文件生成自定義 CAB 文件
  • 在模擬器或物理設(shè)備上安裝自定義 CAB 文件

為了盡量減少路徑問題,本演練使用 Visual Studio .NET 為其項目指定的默認(rèn)路徑:My Documents\Visual Studio Projects。如果希望為您的項目文件選擇其他位置,請在演練說明中做相應(yīng)的更改。

本演練還假定物理設(shè)備上沒有安裝 .NET Framework 精簡版。如果已安裝,則可以跳過安裝過程。

選擇目標(biāo)設(shè)備

您可以針對模擬器或物理設(shè)備執(zhí)行本演練。甚至可以在演練期間來回切換。為了確保每次部署解決方案時系統(tǒng)提示您選擇設(shè)備,請完成以下過程。

在部署時提示選擇設(shè)備

  1. 在“工具”菜單上,單擊“選項”,然后單擊“設(shè)備工具”。
  2. 選中“部署設(shè)備項目前顯示設(shè)備選項”復(fù)選框。

創(chuàng)建應(yīng)用程序

首先生成一個簡單的 Windows 窗體應(yīng)用程序,然后使用 Pocket PC 模擬器測試它。以后需要使用該應(yīng)用程序生成和自定義要分發(fā)的 CAB 文件。

這部分包括五個主要任務(wù):

  • 創(chuàng)建使用 Windows 窗體的設(shè)備項目
  • 向窗體添加控件
  • 向控件添加事件處理
  • 選擇模擬器作為運(yùn)行項目的設(shè)備
  • 生成應(yīng)用程序并將其部署到模擬器

創(chuàng)建使用 Windows 窗體的設(shè)備項目

  1. 在 Visual Studio .NET 的“文件”菜單上,指向“新建”,然后單擊“項目”。
  2. 在“新建項目”對話框的“項目類型”下,單擊“Visual Basic 項目”或“Visual C# 項目”。

    可以使用這兩種語言中的任何一種進(jìn)行本演練。

  3. 在“名稱”框中鍵入 CustomCABSample
  4. 在“模板”下,雙擊“智能設(shè)備應(yīng)用程序”。
  5. 在智能設(shè)備應(yīng)用程序向?qū)е校瑔螕羯厦娲案裰械摹癙ocket PC”和下面窗格中的“Windows 應(yīng)用程序”。

向窗體添加控件

  1. 如果沒有顯示 Windows 窗體設(shè)計器,在“視圖”菜單上單擊“設(shè)計器”。
  2. 從“工具箱”中,將一個 Button 控件拖動到窗體上。
  3. 右擊 Button 控件,然后單擊“屬性”。
  4. 在“屬性”窗口中,鍵入 Say Hello,然后按 ENTER 鍵設(shè)置 Text 屬性。

為 Button 控件添加事件處理

  1. 雙擊窗體上的按鈕。

    隨即打開代碼編輯器,并且插入點(diǎn)位于事件處理程序中。

  2. 插入以下 Visual Basic 代碼:
    MessageBox.Show ("Hello, World!")

    - 或 -

    插入以下 C# 代碼:

    MessageBox.Show ("Hello, World!");

生成并測試應(yīng)用程序

  1. 在“調(diào)試”菜單上單擊“啟動”。
  2. 在“部署”對話框中,選擇“Pocket PC 模擬器”,然后單擊“部署”。
    注意   如果已選擇了目標(biāo)設(shè)備并清除了“顯示選項”復(fù)選框,則“部署”對話框不會打開。在本演練中應(yīng)該選擇“顯示選項”復(fù)選框。

    輸出窗口、狀態(tài)欄和模擬器屏幕上顯示進(jìn)度消息。

  3. 當(dāng)應(yīng)用程序在模擬器上運(yùn)行時,點(diǎn)擊 Say Hello 按鈕以確保顯示“Hello, World!”,然后關(guān)閉應(yīng)用程序。
  4. 在進(jìn)入本演練的下一部分之前關(guān)閉模擬器。
  5. 響應(yīng)模擬器“關(guān)閉”對話框中的提示時,選擇“關(guān)閉模擬器”,然后在指出已失去遠(yuǎn)程連接的消息框中單擊“確定”。

生成自動 CAB 文件作為模板

每次打開智能設(shè)備項目時,Visual Studio .NET 都提供一個生成 CAB 文件的菜單命令。您不必創(chuàng)建單獨(dú)的 Visual Studio 部署項目。在這部分,您將使用 Visual Studio 提供的默認(rèn)值生成 CAB 文件,然后關(guān)閉解決方案以準(zhǔn)備自定義由 CAB 向?qū)?(Cabwiz.exe) 使用的 .inf 文件。

生成解決方案的 CAB 文件

  1. 項目打開時,單擊“生成”菜單上的“生成 Cab 文件”(或者單擊“設(shè)備”工具欄上的“生成 Cab 文件”按鈕)。

    輸出窗口顯示過程信息,包括生成消息、存儲 CAB 文件的目錄和所有相關(guān)的 CAB 文件及其位置。

  2. 關(guān)閉 CustomCABSample 解決方案。

修改 .inf 文件

現(xiàn)在找到并修改 .inf 文件,Cabwiz.exe 用它來生成解決方案的默認(rèn) CAB 文件。后面會使用在這部分中自定義的 .inf 文件再次運(yùn)行 Cabwiz.exe。您對 .inf 文件的改動較小,但它們演示了如何在分發(fā)的 CAB 文件中進(jìn)行更重要的更改。有關(guān)詳細(xì)的參考信息,請參見用于設(shè)備的自定義 CAB 文件。

可以在任何文本編輯器中編輯 .inf 文件。本演練中使用的是 Visual Studio 集成開發(fā)環(huán)境 (IDE) 中的代碼和文本編輯器。

修改 .inf 文件

  1. 在“文件”菜單中,指向“打開”,然后單擊“文件”。
  2. 在“打開文件”對話框中,定位到 \My Documents\Visual Studio Projects\CustomCABSample\obj\Debug。
  3. 打開文件 CustomCABSample_PPC.inf。

    .inf 文件在 Visual Studio 代碼和文本編輯器中打開。

  4. 在最后一節(jié)(標(biāo)為 [Shortcuts])中,將第一個參數(shù) (CustomCABSample) 更改為 Woodgrove Bank。

    這是將出現(xiàn)設(shè)備上的“程序”之下的字符串。

    現(xiàn)在這節(jié)的內(nèi)容是

    [Shortcuts]
    Woodgrove Bank,0,CustomCABSample.exe
  5. 用新名稱保存修改后的文件,方法是在“文件”菜單上單擊“保存 CustomCABSample_PPC.inf 為”,并在“文件另存為”對話框中將新文件命名為 WoodgroveBank_PPC.inf。

    為容易識別,在標(biāo)識 Pocket PC 平臺的信息文件時通常追加 _PPC。

  6. 在“文件”菜單上,單擊“關(guān)閉”關(guān)閉 WoodgroveBank_PPC.inf 文件。

    好的做法是備份創(chuàng)建的所有自定義 .inf 文件,但在本演練中不需要這樣做。

生成修改后的 CAB 文件

現(xiàn)在可以從 Windows 命令行運(yùn)行 Cabwiz.exe,使用您創(chuàng)建的修改后的 .inf 文件生成自定義 CAB 文件(為支持的每個處理器生成一個單獨(dú)的 CAB 文件)。您不是在命令行中鍵入命令,而是復(fù)制、修改然后運(yùn)行 Visual Studio 用來生成自動 CAB 文件的批處理文件。有關(guān) Cabwiz.exe 語法的詳細(xì)參考信息,請參見用于設(shè)備的 Cabwiz.exe。

修改批處理文件

  1. 在“文件”菜單中,指向“打開”,然后單擊“文件”。
  2. 在“打開文件”對話框中,定位到 \My Documents\Visual Studio Projects\CustomCABSample\obj\Debug。
  3. 打開文件 BuildCab.bat。

    批處理文件在 Visual Studio 代碼和文本編輯器中打開。

  4. 在指定要使用的 .inf 文件的命令行參數(shù)中,將 .inf 文件名由 CustomCABSample_PPC.inf 改為 WoodgroveBank_PPC.inf。
  5. 用新名稱保存修改后的文件,方法是單擊“文件”菜單上的“保存 BuildCab.bat 為”并在“文件另存為”對話框中將新文件命名為 BuildWoodgroveBankCab.bat。
  6. 在“文件”菜單上,單擊“關(guān)閉”關(guān)閉 BuildWoodroveBankCab.bat 文件。
  7. 在 Windows 資源管理器中,定位到 My Documents\Visual Studio Projects\CustomCABSample\obj\debug。
  8. 雙擊 BuildWoodgroveBankCAB.bat。

    在 My Documents\Visual Studio Projects\CustomCABSample\cab\debug 中出現(xiàn)幾個處理器的 WoodgroveBank_PPC CAB 文件。

在目標(biāo)設(shè)備上安裝 CAB 文件

不論目標(biāo)設(shè)備是模擬器還是物理設(shè)備,安裝應(yīng)用程序的任務(wù)順序都是一樣的。下表概括了整個過程:

  1. 如果沒有安裝 .NET Framework 精簡版,在目標(biāo)設(shè)備上安裝它。
  2. 將應(yīng)用程序 CAB 文件復(fù)制到目標(biāo)設(shè)備。

    模擬器和物理設(shè)備的文件復(fù)制方法不同,本節(jié)后面對此有詳細(xì)介紹。

  3. 打開 CAB 文件,這會使 CAB 文件將內(nèi)容解壓縮到各自 .inf 文件中指定的存儲區(qū)域。
  4. 打開應(yīng)用程序。

以下過程指導(dǎo)您完成模擬器或物理設(shè)備上的安裝過程。

  • 要通過在物理設(shè)備上安裝 CAB 文件完成本演練,必須知道處理器的類型,因為您選擇的 CAB 文件是為該處理器生成的。本演練使用 SH3 處理器的 CAB 文件作為示例。如果您的設(shè)備是在 MIPS 或 ARM 處理器上運(yùn)行的,請在繼續(xù)本演練的過程中進(jìn)行相應(yīng)的選擇。

    如果無法確定設(shè)備的處理器類型,通?梢詮脑O(shè)備中檢索該信息。此過程可能因制造商而異。在 Pocket PC 上可以使用以下過程。在“開始”菜單上,點(diǎn)擊“設(shè)置”。在“系統(tǒng)”選項卡上點(diǎn)擊“關(guān)于”。在“版本”選項卡上,查看提供的信息。

  • 要通過在模擬器上安裝完成本演練,請參見本節(jié)后面的“將文件復(fù)制到模擬器”。

將文件復(fù)制到物理設(shè)備

現(xiàn)在可以將您生成的自定義 CAB 文件復(fù)制到掛接到開發(fā)計算機(jī)上的設(shè)備。該設(shè)備必須使用 ActiveSync 與開發(fā)計算機(jī)相連。如果設(shè)備上尚未安裝 .NET Framework 精簡版,可以復(fù)制 CAB 文件以安裝它。

將所需文件復(fù)制到物理設(shè)備

  1. 使用 Windows 資源管理器將 WoodgroveBank_PPC.SH3.CAB 文件(或適合您的設(shè)備的 CAB 文件)從 My Documents\Visual Studio Projects\CustomCABSample\cab\Debug 復(fù)制到 Mobile Device\My Pocket PC\Temp 下。如果設(shè)備處理器不是 SH3,選擇正確的備用 CAB 文件。
  2. 如果 ActiveSync 中出現(xiàn)有關(guān)文件轉(zhuǎn)換的消息,請單擊“確定”。
  3. 如果設(shè)備上尚未安裝 .NET Framework 精簡版,請將 Compact FrameworkSDK\V1.0.5000\Windows CE\wce300\sh3\netcf.core.ppc3.sh3.cab 從 Visual Studio 安裝目錄復(fù)制到 Mobile Device\Pocket PC\Temp 下。如果設(shè)備處理器不是 SH3,請從 \wce300 下的文件夾中選擇正確的備用 CAB 文件。

解壓縮 CAB 文件的內(nèi)容并安裝應(yīng)用程序

  1. 在設(shè)備的“開始”菜單上,點(diǎn)擊“程序”,然后點(diǎn)擊“文件資源管理器”。
  2. 在頂部的設(shè)備菜單欄上,定位到“My Device\Temp”。

    應(yīng)出現(xiàn) WoodgroveBank_PPC.X86 和 Netcf.core.ppc3.x86 CAB 文件

    為方便起見,本演練使用設(shè)備的 Temp 文件夾下載 CAB 文件,但是實(shí)際上可以使用任何文件夾。CAB 文件將其內(nèi)容解壓縮到 .inf 文件已指定的存儲區(qū)域,并在完成解壓縮過程后自動移除它們。

  3. 點(diǎn)擊 Netcf.core.ppc3.x86.cab 文件以安裝 .NET Framework 精簡版。

    在解壓縮您的應(yīng)用程序之前必須先執(zhí)行此解壓縮。如果您的設(shè)備上安裝了 .NET Framework 精簡版,可以跳過這一步。

    出現(xiàn)進(jìn)度消息,指出正在安裝 Framework。

  4. 點(diǎn)擊 WoodgroveBank_PPC.X86 CAB 文件以安裝您的應(yīng)用程序。

    隨即出現(xiàn)類似的進(jìn)度消息。

  5. 在設(shè)備上的“程序”之下,點(diǎn)擊 Woodgrove Bank 以驗證該應(yīng)用程序已正確安裝。

將文件復(fù)制到模擬器

現(xiàn)在可以將自定義 CAB 文件和包含 .NET Framework 精簡版的 CAB 文件復(fù)制到模擬器。由于模擬器只存在于內(nèi)存中,所以將 CAB 文件復(fù)制到模擬器沒有將文件復(fù)制到物理設(shè)備那樣簡單。

開發(fā)應(yīng)用程序時,實(shí)際上是通過直接部署應(yīng)用程序?qū)⑵浒惭b在模擬器上,而不是使用 CAB 文件。但是,在將 CAB 文件分發(fā)到客戶端之前,通過生成 CAB 文件并將其復(fù)制到模擬器,可以使用模擬器測試對 CAB 文件所做的任何自定義。

設(shè)置開發(fā)計算機(jī)進(jìn)行復(fù)制

  1. 創(chuàng)建一個名為 WoodgroveBankTest 的共享文件夾。
  2. 將自定義的 CAB 文件 (My Documents\Visual Studio Projects\CustomCABSample\cab\Debug\WoodgroveBank_PPC.X86.CAB) 復(fù)制到此共享文件夾。
  3. 將適當(dāng)?shù)?.NET Framework 精簡版 CAB 文件 (CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\x86\netcf.core.ppc3.x86.cab) 復(fù)制到此共享文件夾。

將 CAB 文件復(fù)制到模擬器

  1. 在“工具”菜單上,單擊“連接到設(shè)備”。
  2. 選擇“Pocket PC 模擬器”,然后單擊“連接”打開模擬器。
  3. 在模擬器的“開始”菜單上,點(diǎn)擊“程序”,然后點(diǎn)擊“資源管理器”。
  4. 單擊模擬器屏幕底部的“網(wǎng)絡(luò)共享”圖標(biāo)。
  5. 在“打開”對話框中,鍵入開發(fā)計算機(jī)的名稱,然后點(diǎn)擊“確定”。

    出現(xiàn)一條消息,指出模擬器正在連接到服務(wù)器。

    注意   如果出現(xiàn)消息報告網(wǎng)絡(luò)中已存在同名設(shè)備,必須更改模擬器的設(shè)備 ID。在模擬器的“開始”菜單上點(diǎn)擊“設(shè)置”。在“系統(tǒng)”選項卡上點(diǎn)擊“關(guān)于”。在“設(shè)備 ID”選項卡上,更改設(shè)備名稱并嘗試再次連接到共享的文件夾。
  6. 在“網(wǎng)絡(luò)登錄”框中,鍵入您的用戶名、密碼和計算機(jī)的域(如果適用),然后點(diǎn)擊“確定”。
  7. 點(diǎn)擊 WoodgroveBankTest 共享文件夾。
  8. 點(diǎn)擊 WoodgroveBank_PPC.X86 文件,然后按住 CTRL 鍵并點(diǎn)擊 Netcf.core.ppc3.x86 文件,以便同時選定這兩個文件。
  9. 在所選區(qū)域上單擊并按住鼠標(biāo)按鈕,直到紅點(diǎn)動畫完成后出現(xiàn)一個菜單,然后點(diǎn)擊“復(fù)制”。

將 CAB 文件粘貼到設(shè)備的 Temp 目錄中

  1. 點(diǎn)擊模擬器屏幕頂部的“我的設(shè)備”圖標(biāo)。
  2. 在頂部的設(shè)備菜單欄上,定位到“我的設(shè)備\Temp”。
  3. 在“編輯”菜單上,點(diǎn)擊“粘貼”。

    現(xiàn)在 Temp 文件夾中應(yīng)出現(xiàn) WoodgroveBank_PPC.X86 和 Netcf.core.ppc3.x86 CAB 文件。

    本演練使用 Temp 文件夾下載 CAB 文件,但實(shí)際上可以使用任何文件夾。CAB 文件將其內(nèi)容解壓縮到 .inf 文件已指定的目標(biāo)位置,并在完成解壓縮過程后自動移除它們。

解壓縮 CAB 文件的內(nèi)容

  1. 點(diǎn)擊 Netcf.core.ppc3.x86.cab 文件以安裝 .NET Framework 精簡版。在解壓縮您的應(yīng)用程序之前必須先執(zhí)行此解壓縮。

    出現(xiàn)進(jìn)度消息,指出正在安裝 .NET Framework 精簡版。

  2. 點(diǎn)擊 WoodgroveBank_PPC.X86 CAB 文件以安裝您的應(yīng)用程序。

    隨即出現(xiàn)類似的進(jìn)度消息。

  3. 在設(shè)備上的“程序”之下,點(diǎn)擊 Woodgrove Bank 以驗證該應(yīng)用程序已正確安裝。

請參見

分發(fā)設(shè)備應(yīng)用程序 | 自動生成 CAB 文件 | 用于設(shè)備的 .inf 文件 | 智能設(shè)備演練 | 將文件復(fù)制到目標(biāo)設(shè)備 | 設(shè)備上的應(yīng)用程序安裝

原文:http://msdn.microsoft.com/library/CHS/dv_evtuv/html/etwlkGeneratingCustomCABFilesForDeviceProjects.asp

關(guān)鍵詞:VS.NET