環(huán)境: OS:Windows Xp sp3 IDE: Microsoft Visual Studio 2008 版本 9.0.30729.1 SP Microsoft .NET Framework 版本 3.5 SP1 說明: 本篇文檔的目的,是為了簡要說明,如何使用VS2008制作智能設(shè)備的CAB安裝包(Wince測試可以使用;Mobile是否可用,未測試)。 第一步:創(chuàng)建Cab工程。 打開VS2008后,建立工程。 菜單 ”新建“ --> “項目”,打開“新建項目”對話框,選擇“智能設(shè)備CAB項目”,如下圖: 輸入完名稱,選擇好位置后,點擊確定,工程建立完畢。如下圖:
第二步:添加要打包的程序: 直接將程序的目錄拖到應用程序文件夾,直接拖的原因是添加文件速度快。也可以右鍵添加文件。
文件拖放完畢后,視圖內(nèi)已經(jīng)有文件(紅框內(nèi)標注),左側(cè)資源管理器,也有內(nèi)容了:
第三步,編譯: 菜單“生成”-->“生成解決方案”,完成編譯。 不過,添加文件后,就去編譯,有可能出錯的: ------ 正在啟動項目“SmartDeviceCab1”的預生成驗證 ------ ------ 已完成項目“SmartDeviceCab1”的預生成驗證 ------ ------ 已啟動生成: 項目: SmartDeviceCab1, 配置: Debug ------ 正在生成文件“D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.cab”... "c:\Program Files\Microsoft Visual Studio 9.0\smartdevices\sdk\sdktools\cabwiz.exe" "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.inf" /dest "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\" /err CabWiz.log Windows CE CAB Wizard Warning: Section [RegKeys] has no data Warning: Section [DefaultInstall] key "AddReg" - there are no section entries to process Warning: Section [Shortcuts] has no data Error: The INF file contains Unicode characters that could not be converted correctly to ANSI 錯誤: Windows CE CAB 向?qū)в龅搅隋e誤。有關(guān)更多信息,請參閱輸出窗口。 ========== 生成: 成功或最新 0 個,失敗 1 個,跳過 0 個 ========== 出錯的原因是:注冊表/文件/目錄/工程的屬性值中出現(xiàn)了中文;在使用過程中,屬性值中沒有使用漢字,就沒有出現(xiàn)這樣的錯誤。我這里出現(xiàn)“微軟中國”。
修改后編譯成功,日志如下: ------ 正在啟動項目“SmartDeviceCab1”的預生成驗證 ------ ------ 已完成項目“SmartDeviceCab1”的預生成驗證 ------ ------ 已啟動生成: 項目: SmartDeviceCab1, 配置: Debug ------ 正在生成文件“D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.cab”... "c:\Program Files\Microsoft Visual Studio 9.0\smartdevices\sdk\sdktools\cabwiz.exe" "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\SmartDeviceCab1.inf" /dest "D:\Cab\CAB\SmartDeviceCab1\SmartDeviceCab1\Debug\" /err CabWiz.log Windows CE CAB Wizard ========== 生成: 成功或最新 1 個,失敗 0 個,跳過 0 個 ========== 附加說明:
1. 增加目錄 : 右擊“目標計算機上的文件系統(tǒng)”。
2.打開注冊表視圖: 右點工程名稱-->"視圖"-->"注冊表":
3.修改注冊表: 右點-->"新建": 特別說明:鍵值中也不能出現(xiàn)中文漢字,否則也出現(xiàn)第三步編譯中的錯誤。
4.修改CAB在Wince設(shè)備上的默認安裝目錄: 在VS2008的操作畫面中沒有找到如何設(shè)置,只能去修改*.info文件了。 到Debug目錄下找到對應的*.inf,打開后找到腳本片段: [CEStrings] AppName="SmartDeviceCab1" InstallDir=%CE1%\%AppName% 修改InstallDir的值,即可。 如安裝到根目錄:InstallDir=\%AppName% 如安裝到\Flash目錄:InstallDir=\Flash\%AppName% 指定了安裝目錄后,會影響到安裝的,如果指定的目錄不存在,會安裝失敗。 修改后保存*.inf,就該生成cab文件,在編譯日志中找到編譯命令,前邊的描述中我已經(jīng)字體藍色加粗了。 放在CMD中運行一下就行了。這里再把指令貼出來:
此時已經(jīng)我們想要的CAB安裝包已經(jīng)得到了,就在工程的Debug目錄下。 另外:不管用VS2005還是VS2008打CAB包,好像有BUG;就是被打包的文件,不同路徑但同名,同名文件,會被當做同一個文件處理。請謹慎使用。再推薦一個工具,名字叫《wince Cab manager》,版本3.0,如何使用如何下載,問問度娘吧。 文檔到此結(jié)束。還請高手們,不嗇賜教?。?/p> |
|
來自: 飛鷹飛龍飛天 > 《pocket pc》