演練:為設(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è)備
- 在“工具”菜單上,單擊“選項”,然后單擊“設(shè)備工具”。
- 選中“部署設(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è)備項目
- 在 Visual Studio .NET 的“文件”菜單上,指向“新建”,然后單擊“項目”。
- 在“新建項目”對話框的“項目類型”下,單擊“Visual Basic 項目”或“Visual C# 項目”。
可以使用這兩種語言中的任何一種進(jìn)行本演練。
- 在“名稱”框中鍵入 CustomCABSample。
- 在“模板”下,雙擊“智能設(shè)備應(yīng)用程序”。
- 在智能設(shè)備應(yīng)用程序向?qū)е校瑔螕羯厦娲案裰械摹癙ocket PC”和下面窗格中的“Windows 應(yīng)用程序”。
向窗體添加控件
- 如果沒有顯示 Windows 窗體設(shè)計器,在“視圖”菜單上單擊“設(shè)計器”。
- 從“工具箱”中,將一個 Button 控件拖動到窗體上。
- 右擊 Button 控件,然后單擊“屬性”。
- 在“屬性”窗口中,鍵入 Say Hello,然后按 ENTER 鍵設(shè)置 Text 屬性。
為 Button 控件添加事件處理
- 雙擊窗體上的按鈕。
隨即打開代碼編輯器,并且插入點(diǎn)位于事件處理程序中。
- 插入以下 Visual Basic 代碼:
MessageBox.Show ("Hello, World!")
- 或 -
插入以下 C# 代碼:
MessageBox.Show ("Hello, World!");
生成并測試應(yīng)用程序
- 在“調(diào)試”菜單上單擊“啟動”。
- 在“部署”對話框中,選擇“Pocket PC 模擬器”,然后單擊“部署”。
注意 如果已選擇了目標(biāo)設(shè)備并清除了“顯示選項”復(fù)選框,則“部署”對話框不會打開。在本演練中應(yīng)該選擇“顯示選項”復(fù)選框。
輸出窗口、狀態(tài)欄和模擬器屏幕上顯示進(jìn)度消息。
- 當(dāng)應(yīng)用程序在模擬器上運(yùn)行時,點(diǎn)擊 Say Hello 按鈕以確保顯示“Hello, World!”,然后關(guān)閉應(yīng)用程序。
- 在進(jìn)入本演練的下一部分之前關(guān)閉模擬器。
- 響應(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 文件
- 項目打開時,單擊“生成”菜單上的“生成 Cab 文件”(或者單擊“設(shè)備”工具欄上的“生成 Cab 文件”按鈕)。
輸出窗口顯示過程信息,包括生成消息、存儲 CAB 文件的目錄和所有相關(guān)的 CAB 文件及其位置。
- 關(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 文件
- 在“文件”菜單中,指向“打開”,然后單擊“文件”。
- 在“打開文件”對話框中,定位到 \My Documents\Visual Studio Projects\CustomCABSample\obj\Debug。
- 打開文件 CustomCABSample_PPC.inf。
.inf 文件在 Visual Studio 代碼和文本編輯器中打開。
- 在最后一節(jié)(標(biāo)為
[Shortcuts]
)中,將第一個參數(shù) (CustomCABSample) 更改為 Woodgrove Bank。這是將出現(xiàn)設(shè)備上的“程序”之下的字符串。
現(xiàn)在這節(jié)的內(nèi)容是
[Shortcuts] Woodgrove Bank,0,CustomCABSample.exe
- 用新名稱保存修改后的文件,方法是在“文件”菜單上單擊“保存 CustomCABSample_PPC.inf 為”,并在“文件另存為”對話框中將新文件命名為 WoodgroveBank_PPC.inf。
為容易識別,在標(biāo)識 Pocket PC 平臺的信息文件時通常追加 _PPC。
- 在“文件”菜單上,單擊“關(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。
修改批處理文件
- 在“文件”菜單中,指向“打開”,然后單擊“文件”。
- 在“打開文件”對話框中,定位到 \My Documents\Visual Studio Projects\CustomCABSample\obj\Debug。
- 打開文件 BuildCab.bat。
批處理文件在 Visual Studio 代碼和文本編輯器中打開。
- 在指定要使用的 .inf 文件的命令行參數(shù)中,將 .inf 文件名由 CustomCABSample_PPC.inf 改為 WoodgroveBank_PPC.inf。
- 用新名稱保存修改后的文件,方法是單擊“文件”菜單上的“保存 BuildCab.bat 為”并在“文件另存為”對話框中將新文件命名為 BuildWoodgroveBankCab.bat。
- 在“文件”菜單上,單擊“關(guān)閉”關(guān)閉 BuildWoodroveBankCab.bat 文件。
- 在 Windows 資源管理器中,定位到 My Documents\Visual Studio Projects\CustomCABSample\obj\debug。
- 雙擊 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ù)順序都是一樣的。下表概括了整個過程:
- 如果沒有安裝 .NET Framework 精簡版,在目標(biāo)設(shè)備上安裝它。
- 將應(yīng)用程序 CAB 文件復(fù)制到目標(biāo)設(shè)備。
模擬器和物理設(shè)備的文件復(fù)制方法不同,本節(jié)后面對此有詳細(xì)介紹。
- 打開 CAB 文件,這會使 CAB 文件將內(nèi)容解壓縮到各自 .inf 文件中指定的存儲區(qū)域。
- 打開應(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è)備
- 使用 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 文件。
- 如果 ActiveSync 中出現(xiàn)有關(guān)文件轉(zhuǎn)換的消息,請單擊“確定”。
- 如果設(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)用程序
- 在設(shè)備的“開始”菜單上,點(diǎn)擊“程序”,然后點(diǎn)擊“文件資源管理器”。
- 在頂部的設(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ū)域,并在完成解壓縮過程后自動移除它們。
- 點(diǎn)擊 Netcf.core.ppc3.x86.cab 文件以安裝 .NET Framework 精簡版。
在解壓縮您的應(yīng)用程序之前必須先執(zhí)行此解壓縮。如果您的設(shè)備上安裝了 .NET Framework 精簡版,可以跳過這一步。
出現(xiàn)進(jìn)度消息,指出正在安裝 Framework。
- 點(diǎn)擊 WoodgroveBank_PPC.X86 CAB 文件以安裝您的應(yīng)用程序。
隨即出現(xiàn)類似的進(jìn)度消息。
- 在設(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ù)制
- 創(chuàng)建一個名為 WoodgroveBankTest 的共享文件夾。
- 將自定義的 CAB 文件 (My Documents\Visual Studio Projects\CustomCABSample\cab\Debug\WoodgroveBank_PPC.X86.CAB) 復(fù)制到此共享文件夾。
- 將適當(dāng)?shù)?.NET Framework 精簡版 CAB 文件 (CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\x86\netcf.core.ppc3.x86.cab) 復(fù)制到此共享文件夾。
將 CAB 文件復(fù)制到模擬器
- 在“工具”菜單上,單擊“連接到設(shè)備”。
- 選擇“Pocket PC 模擬器”,然后單擊“連接”打開模擬器。
- 在模擬器的“開始”菜單上,點(diǎn)擊“程序”,然后點(diǎn)擊“資源管理器”。
- 單擊模擬器屏幕底部的“網(wǎng)絡(luò)共享”圖標(biāo)。
- 在“打開”對話框中,鍵入開發(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è)備名稱并嘗試再次連接到共享的文件夾。
- 在“網(wǎng)絡(luò)登錄”框中,鍵入您的用戶名、密碼和計算機(jī)的域(如果適用),然后點(diǎn)擊“確定”。
- 點(diǎn)擊 WoodgroveBankTest 共享文件夾。
- 點(diǎn)擊 WoodgroveBank_PPC.X86 文件,然后按住 CTRL 鍵并點(diǎn)擊 Netcf.core.ppc3.x86 文件,以便同時選定這兩個文件。
- 在所選區(qū)域上單擊并按住鼠標(biāo)按鈕,直到紅點(diǎn)動畫完成后出現(xiàn)一個菜單,然后點(diǎn)擊“復(fù)制”。
將 CAB 文件粘貼到設(shè)備的 Temp 目錄中
- 點(diǎn)擊模擬器屏幕頂部的“我的設(shè)備”圖標(biāo)。
- 在頂部的設(shè)備菜單欄上,定位到“我的設(shè)備\Temp”。
- 在“編輯”菜單上,點(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)容
- 點(diǎn)擊 Netcf.core.ppc3.x86.cab 文件以安裝 .NET Framework 精簡版。在解壓縮您的應(yīng)用程序之前必須先執(zhí)行此解壓縮。
出現(xiàn)進(jìn)度消息,指出正在安裝 .NET Framework 精簡版。
- 點(diǎn)擊 WoodgroveBank_PPC.X86 CAB 文件以安裝您的應(yīng)用程序。
隨即出現(xiàn)類似的進(jìn)度消息。
- 在設(shè)備上的“程序”之下,點(diǎn)擊 Woodgrove Bank 以驗證該應(yīng)用程序已正確安裝。
請參見
分發(fā)設(shè)備應(yīng)用程序 | 自動生成 CAB 文件 | 用于設(shè)備的 .inf 文件 | 智能設(shè)備演練 | 將文件復(fù)制到目標(biāo)設(shè)備 | 設(shè)備上的應(yīng)用程序安裝