1.首先,製作自己的智能設備工程
2.添加cab工程:
爲解決方案添加智能設備 CAB 項目
-
打開現有的智能設備項目,並確保“解決方案資源管理器”可見。
-
在“文件”菜單上指向“添加”,然後單擊“新建項目”。
出現“添加新項目”對話框。
-
在“項目類型”窗格中,展開“其他項目類型”,再單擊“安裝和部署”。
-
在“模板”窗格中單擊“智能設備 CAB 項目”。
這是唯一可用於智能設備的 CAB 項目類型。其他項目類型僅用於桌面解決方案。
-
在“名稱”框中,鍵入 CABProject,然後單擊“確定”。
該 CAB 項目隨即添加到解決方案中,並顯示在“解決方案資源管理器”中。現在顯示“文件系統編輯器”的兩個窗格。
更改產品名稱和其他項目屬性
-
在“解決方案資源管理器”中單擊“CABProject”(如果尚未選定)。
-
在“視圖”菜單上單擊“屬性窗口”,或打開“屬性”窗口。
-
在屬性網格的“ProductName”字段中,將值更改爲“MyProduct”。
“ProductName”屬性的值決定了在文件夾名稱和“添加或刪除程序”對話框中爲應用程序顯示的名稱。
-
還可以使用此窗口更改製造商的名稱,以及指定操作系統的最低和最高版本。
-
可以將“OSVersionMin”屬性設置爲 4.21,以指示您的 Pocket PC 應用程序具有屏幕方向感知功能。但是,將此屬性設置爲 4.21 會阻止應用程序安裝到基於 Windows Mobile 2003 或更早版本的 Pocket PC 上。若要允許在此類設備上進行安裝,並通知較新的設備該程序具有屏幕方向感知功能,則必須手動修改 .inf 文件,將“BuildMax”屬性設置爲下列值之一:
0xA0000000,指示應用程序支持方形屏幕(240x240 像素)
0xC0000000,指示應用程序支持屏幕旋轉
- 或 -
0xE0000000,指示應用程序支持方形屏幕和屏幕旋轉。
有關更多信息,請參見位於 MSDN 上的文章 Developing Screen Orientation-Aware Applications(開發識別屏幕方向的應用程序)。
-
對於基於 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解決方案,“Compress”屬性和“NoUninstall Device Deployment”屬性必須爲 false。請注意,對於配備了 Compact Framework 2.0 的設備,此選項可以設置爲 true。
-
如果您使用的是 Windows CE 安裝程序 DLL,使用此屬性網格可以指定文件名和位置。有關 Windows CE 安裝程序 DLL 的更多信息,請參見 Pocket PC 或 Smartphone SDK 文檔。
-
更改 CAB 文件的名稱並添加身份驗證
-
在“解決方案資源管理器”中右擊“CABProject”,然後單擊“屬性”。
出現 CAB 項目的“屬性頁”對話框。在“輸出文件名”框中,將 CAB 文件的名稱和路徑更改爲 Debug/MyApp.cab,然後單擊“確定”。
-
還可以使用此屬性頁爲項目添加身份驗證。身份驗證對於 Smartphone 解決方案是必需的,但是在基於 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解決方案上,身份驗證不受支持。
爲 CAB 項目添加設備項目應用程序
-
在“文件系統編輯器”的左窗格中,單擊“應用程序文件夾”,以指定在後續步驟中選擇的文件將安裝到目標設備上的此文件夾中。
如果看不到“文件系統編輯器”,請在“解決方案資源管理器”中右擊 CAB 項目名稱,單擊“視圖”,再單擊“文件系統”。
-
在 Visual Studio 中的“操作”菜單上指向“添加”,然後單擊“項目輸出”。
-
在“添加項目輸出組”對話框中,從“項目”下拉列表中選擇您的智能設備項目。
-
從輸出列表中選擇“主輸出”,然後單擊“確定”。
爲設備項目應用程序創建快捷方式
-
在“文件系統編輯器”的右窗格中,選擇“<應用程序項目名稱> 的主輸出”。
-
在“操作”菜單上單擊“創建 <應用程序項目名稱> 的主輸出的快捷方式”。
此命令將在“輸出”項下面添加一個“快捷方式”項。
-
右擊該“快捷方式”項,單擊“重命名”,然後將該快捷方式重命名爲適合於快捷方式的名稱。
將此快捷方式移動到“開始”菜單或 Programs 文件夾中
-
在“文件系統編輯器”的左窗格中,右擊“目標計算機上的文件系統”,指向“添加特殊文件夾”,然後單擊“Start Menu 文件夾”或“Programs 文件夾”。
-
將此快捷方式從“應用程序文件夾”拖動到“Start Menu 文件夾”或“Programs 文件夾”。
添加註冊表項
-
在“解決方案資源管理器”中單擊 CAB 項目。
-
在“視圖”菜單上指向“編輯器”,然後單擊“註冊表”。
-
在“註冊表編輯器”中,右擊 HKEY_CURRENT_USER,然後單擊“新建項”。
-
當“註冊表編輯器”中顯示“新建項”項時,將其重命名爲“SOFTWARE”。
-
右擊此新項,指向“新建”,然後單擊“項”。
-
當“註冊表編輯器”中顯示“新建項”項時,將其重命名爲“MyCompany”。
-
右擊“MyCompany”項,然後單擊“屬性窗口”。
“名稱”值已更改爲“MyCompany”。
生成 CAB 文件
-
在“生成”菜單上單擊“生成 CABProject”。
- 或 -
在“解決方案資源管理器”中右擊“CABProject”,再單擊“生成”。
-
在“文件”菜單上單擊“全部保存”。
Smartphone 解決方案的 CAB 文件在部署到最終用戶的設備上之前必須進行數字簽名。基於 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解決方案不支持數字簽名。
將 CAB 文件部署到設備上
-
在“Windows 資源管理器”中定位到存儲此解決方案的文件夾。可以在解決方案的“CABProject/Release”文件夾中找到此 CAB 文件。
-
將 CAB 文件複製到使用 ActiveSync 4.0 或更高版本進行連接的設備上。
當用戶在設備上的“資源管理器”中點擊此 CAB 文件名時,Windows CE 將解開該 CAB,並將應用程序安裝到設備上。
有關更多信息,請參見 Smartphone 和 Pocket PC SDK 文檔。
在使用中發現一些問題如下:
1.用VS2008打包CAB布支持中文字符
比如我定義 Default字符串值爲 URL:zd協議,就報錯;去掉中文就OK
錯誤如下
Error: The INF file contains Unicode characters that could not be converted correctly to ANSI
2.不支持帶空格參數的值
比如我定義 Default字符串值爲 "/Program Files/xxx/xxx.exe" "%1",報錯如下
Error: Line 44 - unsupported DirID 0
Error: File d:/systmp/cwinltmp/wiz231.inf contains DirIDs, which are not supported
臨時解決辦法:
我用VS2008做出CAB後,用wince cab manager 3.0打開
繼續編輯,修正上面的值爲我要的,保存,OK!
還請大家指點問題的所在