演練:為設備項目生成自定義 CAB 文件
在本演練中,您將生成一個為滿足用戶的特殊需要而自定義的壓縮文件 (CAB)。本演練通過指導您完成下列任務,提供了一個點對點方案:
- 使用 Visual Basic .NET 或 Visual C# 創建一個簡單的 Pocket PC 應用程序
- 自動生成一個 CAB 文件以提供 CAB 模板
- 修改自動生成的信息文件 (.inf)。
- 用修改過的 .inf 文件生成自定義 CAB 文件
- 在模擬器或物理設備上安裝自定義 CAB 文件
為了盡量減少路徑問題,本演練使用 Visual Studio .NET 為其項目指定的默認路徑:My Documents\Visual Studio Projects。如果希望為您的項目文件選擇其他位置,請在演練說明中做相應的更改。
本演練還假定物理設備上沒有安裝 .NET Framework 精簡版。如果已安裝,則可以跳過安裝過程。
選擇目標設備
您可以針對模擬器或物理設備執行本演練。甚至可以在演練期間來回切換。為了確保每次部署解決方案時系統提示您選擇設備,請完成以下過程。
在部署時提示選擇設備
- 在“工具”菜單上,單擊“選項”,然后單擊“設備工具”。
- 選中“部署設備項目前顯示設備選項”復選框。
創建應用程序
首先生成一個簡單的 Windows 窗體應用程序,然后使用 Pocket PC 模擬器測試它。以后需要使用該應用程序生成和自定義要分發的 CAB 文件。
這部分包括五個主要任務:
- 創建使用 Windows 窗體的設備項目
- 向窗體添加控件
- 向控件添加事件處理
- 選擇模擬器作為運行項目的設備
- 生成應用程序并將其部署到模擬器
創建使用 Windows 窗體的設備項目
- 在 Visual Studio .NET 的“文件”菜單上,指向“新建”,然后單擊“項目”。
- 在“新建項目”對話框的“項目類型”下,單擊“Visual Basic 項目”或“Visual C# 項目”。
可以使用這兩種語言中的任何一種進行本演練。
- 在“名稱”框中鍵入 CustomCABSample。
- 在“模板”下,雙擊“智能設備應用程序”。
- 在智能設備應用程序向導中,單擊上面窗格中的“Pocket PC”和下面窗格中的“Windows 應用程序”。
向窗體添加控件
- 如果沒有顯示 Windows 窗體設計器,在“視圖”菜單上單擊“設計器”。
- 從“工具箱”中,將一個 Button 控件拖動到窗體上。
- 右擊 Button 控件,然后單擊“屬性”。
- 在“屬性”窗口中,鍵入 Say Hello,然后按 ENTER 鍵設置 Text 屬性。
為 Button 控件添加事件處理
- 雙擊窗體上的按鈕。
隨即打開代碼編輯器,并且插入點位于事件處理程序中。
- 插入以下 Visual Basic 代碼:
MessageBox.Show ("Hello, World!")- 或 -
插入以下 C# 代碼:
MessageBox.Show ("Hello, World!");
生成并測試應用程序
- 在“調試”菜單上單擊“啟動”。
- 在“部署”對話框中,選擇“Pocket PC 模擬器”,然后單擊“部署”。
注意 如果已選擇了目標設備并清除了“顯示選項”復選框,則“部署”對話框不會打開。在本演練中應該選擇“顯示選項”復選框。
輸出窗口、狀態欄和模擬器屏幕上顯示進度消息。
- 當應用程序在模擬器上運行時,點擊 Say Hello 按鈕以確保顯示“Hello, World!”,然后關閉應用程序。
- 在進入本演練的下一部分之前關閉模擬器。
- 響應模擬器“關閉”對話框中的提示時,選擇“關閉模擬器”,然后在指出已失去遠程連接的消息框中單擊“確定”。
生成自動 CAB 文件作為模板
每次打開智能設備項目時,Visual Studio .NET 都提供一個生成 CAB 文件的菜單命令。您不必創建單獨的 Visual Studio 部署項目。在這部分,您將使用 Visual Studio 提供的默認值生成 CAB 文件,然后關閉解決方案以準備自定義由 CAB 向導 (Cabwiz.exe) 使用的 .inf 文件。
生成解決方案的 CAB 文件
- 項目打開時,單擊“生成”菜單上的“生成 Cab 文件”(或者單擊“設備”工具欄上的“生成 Cab 文件”按鈕)。
輸出窗口顯示過程信息,包括生成消息、存儲 CAB 文件的目錄和所有相關的 CAB 文件及其位置。
- 關閉 CustomCABSample 解決方案。
修改 .inf 文件
現在找到并修改 .inf 文件,Cabwiz.exe 用它來生成解決方案的默認 CAB 文件。后面會使用在這部分中自定義的 .inf 文件再次運行 Cabwiz.exe。您對 .inf 文件的改動較小,但它們演示了如何在分發的 CAB 文件中進行更重要的更改。有關詳細的參考信息,請參見用于設備的自定義 CAB 文件。
可以在任何文本編輯器中編輯 .inf 文件。本演練中使用的是 Visual Studio 集成開發環境 (IDE) 中的代碼和文本編輯器。
修改 .inf 文件
- 在“文件”菜單中,指向“打開”,然后單擊“文件”。
- 在“打開文件”對話框中,定位到 \My Documents\Visual Studio Projects\CustomCABSample\obj\Debug。
- 打開文件 CustomCABSample_PPC.inf。
.inf 文件在 Visual Studio 代碼和文本編輯器中打開。
- 在最后一節(標為
[Shortcuts])中,將第一個參數 (CustomCABSample) 更改為 Woodgrove Bank。這是將出現設備上的“程序”之下的字符串。
現在這節的內容是
[Shortcuts] Woodgrove Bank,0,CustomCABSample.exe - 用新名稱保存修改后的文件,方法是在“文件”菜單上單擊“保存 CustomCABSample_PPC.inf 為”,并在“文件另存為”對話框中將新文件命名為 WoodgroveBank_PPC.inf。
為容易識別,在標識 Pocket PC 平臺的信息文件時通常追加 _PPC。
- 在“文件”菜單上,單擊“關閉”關閉 WoodgroveBank_PPC.inf 文件。
好的做法是備份創建的所有自定義 .inf 文件,但在本演練中不需要這樣做。
生成修改后的 CAB 文件
現在可以從 Windows 命令行運行 Cabwiz.exe,使用您創建的修改后的 .inf 文件生成自定義 CAB 文件(為支持的每個處理器生成一個單獨的 CAB 文件)。您不是在命令行中鍵入命令,而是復制、修改然后運行 Visual Studio 用來生成自動 CAB 文件的批處理文件。有關 Cabwiz.exe 語法的詳細參考信息,請參見用于設備的 Cabwiz.exe。
修改批處理文件
- 在“文件”菜單中,指向“打開”,然后單擊“文件”。
- 在“打開文件”對話框中,定位到 \My Documents\Visual Studio Projects\CustomCABSample\obj\Debug。
- 打開文件 BuildCab.bat。
批處理文件在 Visual Studio 代碼和文本編輯器中打開。
- 在指定要使用的 .inf 文件的命令行參數中,將 .inf 文件名由 CustomCABSample_PPC.inf 改為 WoodgroveBank_PPC.inf。
- 用新名稱保存修改后的文件,方法是單擊“文件”菜單上的“保存 BuildCab.bat 為”并在“文件另存為”對話框中將新文件命名為 BuildWoodgroveBankCab.bat。
- 在“文件”菜單上,單擊“關閉”關閉 BuildWoodroveBankCab.bat 文件。
- 在 Windows 資源管理器中,定位到 My Documents\Visual Studio Projects\CustomCABSample\obj\debug。
- 雙擊 BuildWoodgroveBankCAB.bat。
在 My Documents\Visual Studio Projects\CustomCABSample\cab\debug 中出現幾個處理器的 WoodgroveBank_PPC CAB 文件。
在目標設備上安裝 CAB 文件
不論目標設備是模擬器還是物理設備,安裝應用程序的任務順序都是一樣的。下表概括了整個過程:
- 如果沒有安裝 .NET Framework 精簡版,在目標設備上安裝它。
- 將應用程序 CAB 文件復制到目標設備。
模擬器和物理設備的文件復制方法不同,本節后面對此有詳細介紹。
- 打開 CAB 文件,這會使 CAB 文件將內容解壓縮到各自 .inf 文件中指定的存儲區域。
- 打開應用程序。
以下過程指導您完成模擬器或物理設備上的安裝過程。
- 要通過在物理設備上安裝 CAB 文件完成本演練,必須知道處理器的類型,因為您選擇的 CAB 文件是為該處理器生成的。本演練使用 SH3 處理器的 CAB 文件作為示例。如果您的設備是在 MIPS 或 ARM 處理器上運行的,請在繼續本演練的過程中進行相應的選擇。
如果無法確定設備的處理器類型,通?梢詮脑O備中檢索該信息。此過程可能因制造商而異。在 Pocket PC 上可以使用以下過程。在“開始”菜單上,點擊“設置”。在“系統”選項卡上點擊“關于”。在“版本”選項卡上,查看提供的信息。
- 要通過在模擬器上安裝完成本演練,請參見本節后面的“將文件復制到模擬器”。
將文件復制到物理設備
現在可以將您生成的自定義 CAB 文件復制到掛接到開發計算機上的設備。該設備必須使用 ActiveSync 與開發計算機相連。如果設備上尚未安裝 .NET Framework 精簡版,可以復制 CAB 文件以安裝它。
將所需文件復制到物理設備
- 使用 Windows 資源管理器將 WoodgroveBank_PPC.SH3.CAB 文件(或適合您的設備的 CAB 文件)從 My Documents\Visual Studio Projects\CustomCABSample\cab\Debug 復制到 Mobile Device\My Pocket PC\Temp 下。如果設備處理器不是 SH3,選擇正確的備用 CAB 文件。
- 如果 ActiveSync 中出現有關文件轉換的消息,請單擊“確定”。
- 如果設備上尚未安裝 .NET Framework 精簡版,請將 Compact FrameworkSDK\V1.0.5000\Windows CE\wce300\sh3\netcf.core.ppc3.sh3.cab 從 Visual Studio 安裝目錄復制到 Mobile Device\Pocket PC\Temp 下。如果設備處理器不是 SH3,請從 \wce300 下的文件夾中選擇正確的備用 CAB 文件。
解壓縮 CAB 文件的內容并安裝應用程序
- 在設備的“開始”菜單上,點擊“程序”,然后點擊“文件資源管理器”。
- 在頂部的設備菜單欄上,定位到“My Device\Temp”。
應出現 WoodgroveBank_PPC.X86 和 Netcf.core.ppc3.x86 CAB 文件
為方便起見,本演練使用設備的 Temp 文件夾下載 CAB 文件,但是實際上可以使用任何文件夾。CAB 文件將其內容解壓縮到 .inf 文件已指定的存儲區域,并在完成解壓縮過程后自動移除它們。
- 點擊 Netcf.core.ppc3.x86.cab 文件以安裝 .NET Framework 精簡版。
在解壓縮您的應用程序之前必須先執行此解壓縮。如果您的設備上安裝了 .NET Framework 精簡版,可以跳過這一步。
出現進度消息,指出正在安裝 Framework。
- 點擊 WoodgroveBank_PPC.X86 CAB 文件以安裝您的應用程序。
隨即出現類似的進度消息。
- 在設備上的“程序”之下,點擊 Woodgrove Bank 以驗證該應用程序已正確安裝。
將文件復制到模擬器
現在可以將自定義 CAB 文件和包含 .NET Framework 精簡版的 CAB 文件復制到模擬器。由于模擬器只存在于內存中,所以將 CAB 文件復制到模擬器沒有將文件復制到物理設備那樣簡單。
開發應用程序時,實際上是通過直接部署應用程序將其安裝在模擬器上,而不是使用 CAB 文件。但是,在將 CAB 文件分發到客戶端之前,通過生成 CAB 文件并將其復制到模擬器,可以使用模擬器測試對 CAB 文件所做的任何自定義。
設置開發計算機進行復制
- 創建一個名為 WoodgroveBankTest 的共享文件夾。
- 將自定義的 CAB 文件 (My Documents\Visual Studio Projects\CustomCABSample\cab\Debug\WoodgroveBank_PPC.X86.CAB) 復制到此共享文件夾。
- 將適當的 .NET Framework 精簡版 CAB 文件 (CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\x86\netcf.core.ppc3.x86.cab) 復制到此共享文件夾。
將 CAB 文件復制到模擬器
- 在“工具”菜單上,單擊“連接到設備”。
- 選擇“Pocket PC 模擬器”,然后單擊“連接”打開模擬器。
- 在模擬器的“開始”菜單上,點擊“程序”,然后點擊“資源管理器”。
- 單擊模擬器屏幕底部的“網絡共享”圖標。
- 在“打開”對話框中,鍵入開發計算機的名稱,然后點擊“確定”。
出現一條消息,指出模擬器正在連接到服務器。
注意 如果出現消息報告網絡中已存在同名設備,必須更改模擬器的設備 ID。在模擬器的“開始”菜單上點擊“設置”。在“系統”選項卡上點擊“關于”。在“設備 ID”選項卡上,更改設備名稱并嘗試再次連接到共享的文件夾。
- 在“網絡登錄”框中,鍵入您的用戶名、密碼和計算機的域(如果適用),然后點擊“確定”。
- 點擊 WoodgroveBankTest 共享文件夾。
- 點擊 WoodgroveBank_PPC.X86 文件,然后按住 CTRL 鍵并點擊 Netcf.core.ppc3.x86 文件,以便同時選定這兩個文件。
- 在所選區域上單擊并按住鼠標按鈕,直到紅點動畫完成后出現一個菜單,然后點擊“復制”。
將 CAB 文件粘貼到設備的 Temp 目錄中
- 點擊模擬器屏幕頂部的“我的設備”圖標。
- 在頂部的設備菜單欄上,定位到“我的設備\Temp”。
- 在“編輯”菜單上,點擊“粘貼”。
現在 Temp 文件夾中應出現 WoodgroveBank_PPC.X86 和 Netcf.core.ppc3.x86 CAB 文件。
本演練使用 Temp 文件夾下載 CAB 文件,但實際上可以使用任何文件夾。CAB 文件將其內容解壓縮到 .inf 文件已指定的目標位置,并在完成解壓縮過程后自動移除它們。
解壓縮 CAB 文件的內容
- 點擊 Netcf.core.ppc3.x86.cab 文件以安裝 .NET Framework 精簡版。在解壓縮您的應用程序之前必須先執行此解壓縮。
出現進度消息,指出正在安裝 .NET Framework 精簡版。
- 點擊 WoodgroveBank_PPC.X86 CAB 文件以安裝您的應用程序。
隨即出現類似的進度消息。
- 在設備上的“程序”之下,點擊 Woodgrove Bank 以驗證該應用程序已正確安裝。
請參見
分發設備應用程序 | 自動生成 CAB 文件 | 用于設備的 .inf 文件 | 智能設備演練 | 將文件復制到目標設備 | 設備上的應用程序安裝

