在vs2008工程中製作cab包

1.首先,製作自己的智能設備工程

2.添加cab工程:

 

爲解決方案添加智能設備 CAB 項目

  1. 打開現有的智能設備項目,並確保“解決方案資源管理器”可見。

  2. “文件”菜單上指向“添加”,然後單擊“新建項目”

    出現“添加新項目”對話框。

  3. “項目類型”窗格中,展開“其他項目類型”,再單擊“安裝和部署”

  4. “模板”窗格中單擊“智能設備 CAB 項目”

    這是唯一可用於智能設備的 CAB 項目類型。其他項目類型僅用於桌面解決方案。

  5. “名稱”框中,鍵入 CABProject,然後單擊“確定”

    該 CAB 項目隨即添加到解決方案中,並顯示在“解決方案資源管理器”中。現在顯示“文件系統編輯器”的兩個窗格。

 

更改產品名稱和其他項目屬性

  1. “解決方案資源管理器”中單擊“CABProject”(如果尚未選定)。

  2. “視圖”菜單上單擊“屬性窗口”,或打開“屬性”窗口。

  3. 在屬性網格的“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 文件的名稱並添加身份驗證

  1. “解決方案資源管理器”中右擊“CABProject”,然後單擊“屬性”

    出現 CAB 項目的“屬性頁”對話框。在“輸出文件名”框中,將 CAB 文件的名稱和路徑更改爲 Debug/MyApp.cab,然後單擊“確定”

  2. 還可以使用此屬性頁爲項目添加身份驗證。身份驗證對於 Smartphone 解決方案是必需的,但是在基於 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解決方案上,身份驗證不受支持。

爲 CAB 項目添加設備項目應用程序

  1. “文件系統編輯器”的左窗格中,單擊“應用程序文件夾”,以指定在後續步驟中選擇的文件將安裝到目標設備上的此文件夾中。

    如果看不到“文件系統編輯器”,請在“解決方案資源管理器”中右擊 CAB 項目名稱,單擊“視圖”,再單擊“文件系統”

  2. 在 Visual Studio 中的“操作”菜單上指向“添加”,然後單擊“項目輸出”

  3. “添加項目輸出組”對話框中,從“項目”下拉列表中選擇您的智能設備項目。

  4. 從輸出列表中選擇“主輸出”,然後單擊“確定”

爲設備項目應用程序創建快捷方式

  1. “文件系統編輯器”的右窗格中,選擇“<應用程序項目名稱> 的主輸出”

  2. “操作”菜單上單擊“創建 <應用程序項目名稱> 的主輸出的快捷方式”

    此命令將在“輸出”項下面添加一個“快捷方式”項。

  3. 右擊該“快捷方式”項,單擊“重命名”,然後將該快捷方式重命名爲適合於快捷方式的名稱。

將此快捷方式移動到“開始”菜單或 Programs 文件夾中

  1. “文件系統編輯器”的左窗格中,右擊“目標計算機上的文件系統”,指向“添加特殊文件夾”,然後單擊“Start Menu 文件夾”“Programs 文件夾”

  2. 將此快捷方式從“應用程序文件夾”拖動到“Start Menu 文件夾”“Programs 文件夾”

添加註冊表項

  1. “解決方案資源管理器”中單擊 CAB 項目。

  2. “視圖”菜單上指向“編輯器”,然後單擊“註冊表”

  3. “註冊表編輯器”中,右擊 HKEY_CURRENT_USER,然後單擊“新建項”

  4. “註冊表編輯器”中顯示“新建項”項時,將其重命名爲“SOFTWARE”

  5. 右擊此新項,指向“新建”,然後單擊“項”

  6. “註冊表編輯器”中顯示“新建項”項時,將其重命名爲“MyCompany”

  7. 右擊“MyCompany”項,然後單擊“屬性窗口”

    “名稱”值已更改爲“MyCompany”

生成 CAB 文件

  1. “生成”菜單上單擊“生成 CABProject”

    - 或 -

    “解決方案資源管理器”中右擊“CABProject”,再單擊“生成”

  2. “文件”菜單上單擊“全部保存”

    Smartphone 解決方案的 CAB 文件在部署到最終用戶的設備上之前必須進行數字簽名。基於 Windows Mobile 2003 SE 及更低版本的 Pocket PC 解決方案不支持數字簽名。

將 CAB 文件部署到設備上

  1. “Windows 資源管理器”中定位到存儲此解決方案的文件夾。可以在解決方案的“CABProject/Release”文件夾中找到此 CAB 文件。

  2. 將 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!

 

還請大家指點問題的所在


發佈了11 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章