演練:打包智能設備解決方案以便進行部署

 

本演練演示如何使用 Visual Studio 2005 將應用程序及其資源打包到一個 CAB 文件中,以便可以將它部署到最終用戶的智能設備上。

Note注意

顯示的對話框和菜單命令可能會與“幫助”中描述的不同,具體取決於當前的設置或版本。若要更改設置,請在“工具”菜單上選擇“導入和導出設置”。有關更多信息,請參見 Visual Studio 設置

在本演練中,您可以從任何用 Visual Basic 2005、Visual C# 2005 或 Visual C++ 2005 編寫的智能設備解決方案開始。有關更多信息,請參見演練:創建簡單應用程序

本演練演示如何執行下列操作:

  • 將一個 CAB 項目添加到解決方案中。

  • 更改產品名稱。

  • 更改輸出路徑。

  • 用應用程序的主輸出填充 CAB 文件。

  • 在必要時添加依賴項。

  • 創建應用程序的快捷方式。

  • 編輯註冊表項。

一個現有的智能設備解決方案。對於本打包演練,可以考慮創建並生成一個簡單的項目,例如,演練:創建用於設備的 Windows 窗體應用程序中介紹的項目。

Note注意

顯示的對話框和菜單命令可能會與“幫助”中描述的不同,具體取決於當前的設置或版本。若要更改設置,請在“工具”菜單上選擇“導入和導出設置”。有關更多信息,請參見 Visual Studio 設置

爲解決方案添加智能設備 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 2003SE 和更早版本的 Pocket PC 解決方案,“Compress”屬性和“NoUninstall Device Deployment”屬性必須爲 False。請注意,對於配備了 Compact Framework 2.0 的設備,此選項可以設置爲 true。有關更多信息,請參見“智能設備 Cab 項目”->“屬性”窗口

    • 如果您使用的是 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. 從輸出列表中選擇“主輸出”,然後單擊“確定”。

Note注意

爲使用 C++ 編寫的應用程序創建智能設備 CAB 項目時,如果要動態鏈接到 DLL,必須手動向 CAB 項目添加所有依賴項,如 atl80.dll、mfc80U.dll 和/或 msvcr.dll。但是,爲了減少 MFC/ATL DLL 的依賴項,強烈建議您使用靜態鏈接。如果採用的是靜態鏈接,則無需隨同應用程序一起重新發布 DLL。如果採用的是動態鏈接,並需要在 CAB 中重新發布 DLL,請不要將 DLL 安裝到設備上的系統目錄(如 /windows)中,而應將 DLL 安裝到本地應用程序目錄中。如果重新發佈一個應用程序套件,而套件中的所有應用程序都動態地鏈接到 ATL/MFC 運行庫,建議您將所有應用程序和運行庫 DLL 安裝到一個單獨的應用程序目錄中,併爲可以放置在其自己的文件夾中的應用程序提供快捷方式。這樣可以避免發生系統目錄中的 DLL 在以後被替換,從而破壞動態鏈接到這些 DLL 的任何應用程序的危險,同時還可以節省一些空間。

向 CAB 項目中添加依賴項(僅限 C++ 項目)

  1. 在“解決方案資源管理器”中右擊 CAB 項目的名稱,指向“添加”,再單擊“文件”。

  2. 導航至 <Visual Studio 安裝文件夾>/VC/ce/dll/<平臺>。

  3. 選擇要添加的文件。

    • 對於 MFC 項目,請按 Ctrl,再單擊 MFC80U.DLL、atl80.dll 和 msvcr80.dll。如果應用程序需要特定於 MFC 語言的資源,您可能還需要單擊一個或多個特定於語言的 DLL。

    • 對於 ATL 項目,請按 Ctrl,再單擊 atl80.dll 和 msvcr80.dll。如果 ATL 解決方案支持 MFC,還需要單擊 MFC80U.DLL。

    • 對於 Win32 項目,請單擊 msvcr80.dll。

  4. 在“添加文件”對話框中單擊“打開”,將文件添加到 CAB 項目中。

  5. 在“文件系統編輯器”的左窗格中,右擊“目標計算機上的文件系統”。

  6. 單擊“添加特殊文件夾”,然後單擊“Windows 文件夾”。

  7. 在“文件系統編輯器”的左窗格中,單擊包含主輸出的文件夾。默認情況下,DLL 已添加到與主輸出相同的文件夾中。若要將這些 DLL 移動到 Windows 文件夾中,請在“文件系統編輯器”的中間窗格中選擇這些文件,然後將它們拖到“Windows 文件夾”圖標上。

  8. 使用相同的過程添加解決方案需要的其他任何依賴項。可以將依賴項添加到任何文件夾中;而不必將它們添加到“Windows”文件夾。

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

  1. 在“文件系統編輯器”的右窗格中,選擇“<your application project name> 的主輸出”。

  2. 在“操作”菜單上選擇“創建 <your application project name> 的主輸出的快捷方式”。

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

  3. 右擊該快捷方式項,單擊“重命名”,將此快捷方式重命名爲適用於快捷方式的內容。

添加註冊表項

  1. 在“解決方案資源管理器”中選擇 CAB 項目。

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

  3. 在“註冊表編輯器”中,右擊 HKEY_CURRENT_USER,然後單擊快捷菜單上的“新建項”。

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

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

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

  7. 右擊“MyCompany”項,再單擊快捷菜單上的“屬性窗口”。

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

生成 CAB 文件

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

    - 或 -

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

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

    Smartphone 解決方案的 CAB 文件在部署到最終用戶的設備上之前必須進行數字簽名。基於 Windows Mobile 2003SE 和更早版本的 Pocket PC 解決方案不支持數字簽名。有關更多信息,請參見如何:對 CAB 文件進行簽名(設備)

將 CAB 文件部署到設備上

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

  2. 將 CAB 文件複製到與 ActiveSync 4.0 或更高版本連接的設備上。

    當用戶在設備上的“資源管理器”中點擊此 CAB 文件名時,Windows CE 將解開該 CAB,並將應用程序安裝到設備上。

    有關更多信息,請參見 Smartphone 和 Pocket PC SDK 文檔。

再打完包後,發現程序名不能是中文的,提示inf裏不能爲Unicode,所以如果想打包中文的程序名,可以下載WinCab來修改,也可以直接利用這個軟件來打包CAB 格式的文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章