在vs2008工程中制作cab包


內容轉自MSDN

 

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!

 

還請大家指點問題的所在


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM