如何使用 Visual Studio 2005 将应用程序及其资源打包到一个 CAB 文件中

原创 2009年08月28日 11:24:00

本演练演示如何使用 Visual Studio 2005 将应用程序及其资源打包到一个 CAB 文件中,以便可以将它部署到最终用户的智能设备上。

注意
显示的对话框和菜单命令可能会与帮助中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。


在本演练中,您可以从任何用 Visual Basic 2005、Visual C# 2005 或 Visual C++ 2005 编写的智能设备解决方案开始。有关更多信息,请参见演练:创建简单应用程序。

本演练演示如何执行下列操作:

将一个 CAB 项目添加到解决方案中。

更改产品名称。

更改输出路径。

用应用程序的主输出填充 CAB 文件。

在必要时添加依赖项。

创建应用程序的快捷方式。

编辑注册表项。

先决条件
一个现有的智能设备解决方案。对于本打包演练,可以考虑创建并生成一个简单的项目,例如,演练:创建用于设备的 Windows 窗体应用程序中介绍的项目。

注意
显示的对话框和菜单命令可能会与帮助中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。


安装 CAB 项目
为解决方案添加智能设备 CAB 项目
打开现有的智能设备项目,并确保“解决方案资源管理器”可见。

在“文件”菜单上指向“添加”,然后单击“新建项目”。

出现“添加新项目”对话框。

在左侧的“项目类型”窗格中展开“其他项目类型”节点,再单击“安装和部署”。

在右侧的“模板”窗格下选择“智能设备 CAB 项目”。

这是唯一可用于智能设备的 CAB 项目类型。其他项目类型仅用于桌面解决方案。

在“名称”框中,键入 CABProject,然后单击“确定”。

此 CAB 项目即会添加到您的解决方案,并显示在“解决方案资源管理器”中。现在显示“文件系统编辑器”的两个窗格。

自定义 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 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 文件的名称并添加身份验证
在“解决方案资源管理器”中右击“CABProject”,然后单击“属性”。

出现 CAB 项目的“属性页”对话框。在“输出文件名”框中,将 CAB 文件的名称和路径更改为 Debug/MyApp.cab,然后单击“确定”。

还可以使用此属性页为项目添加身份验证。身份验证对于 Smartphone 解决方案是必需的,但是在基于 Windows Mobile 2003 SE 和更早版本的 Pocket PC 解决方案上,身份验证不受支持。有关更多信息,请参见设备项目中的安全性。

为 CAB 项目添加设备项目应用程序
在“文件系统编辑器”的左窗格中,选择“应用程序文件夹”节点,以指定下列步骤中选择的文件将安装到目标设备上的此文件夹中。

如果“文件系统”编辑器不可见,请在“解决方案资源管理器”中右击 CAB 项目名称,选择“视图”,再单击“文件系统”。

在 Visual Studio 中的“操作”菜单上指向“添加”,然后单击“项目输出”。

在“添加项目输出组”对话框中,从“项目”下拉列表中选择您的智能设备项目。

从输出列表中选择“主输出”,然后单击“确定”。

注意
为使用 C++ 编写的应用程序创建智能设备 CAB 项目时,如果要动态链接到 DLL,必须手动向 CAB 项目添加所有依赖项,如 atl80.dll、mfc80U.dll 和/或 msvcrt.dll。但是,为了减少 MFC/ATL DLL 的依赖项,强烈建议您使用静态链接。如果采用的是静态链接,则无需随同应用程序一起重新发布 DLL。如果采用的是动态链接,并需要在 CAB 中重新发布 DLL,请不要将 DLL 安装到设备上的系统目录(如 /windows)中,而应将 DLL 安装到本地应用程序目录中。如果重新发布一个应用程序套件,而套件中的所有应用程序都动态地链接到 ATL/MFC 运行库,建议您将所有应用程序和运行库 DLL 安装到一个单独的应用程序目录中,并为可以放置在其自己的文件夹中的应用程序提供快捷方式。这样可以避免发生系统目录中的 DLL 在以后被替换,从而破坏动态链接到这些 DLL 的任何应用程序的危险,同时还可以节省一些空间。


向 CAB 项目中添加依赖项(仅限 C++ 项目)
在“解决方案资源管理器”中右击 CAB 项目的名称,指向“添加”,再单击“文件”。

导航至 <Visual Studio 安装文件夹>/VC/ce/dll/armv4。

选择要添加的文件。

对于 MFC 项目,请按 Ctrl,再单击 MFC80U.DLL、atl80.dll 和 msvcrt80.dll。如果应用程序需要特定于 MFC 语言的资源,您可能还需要单击一个或多个特定于语言的 DLL。

对于 ATL 项目,请按 Ctrl,再单击 atl80.dll 和 msvcrt80.dll。如果 ATL 解决方案支持 MFC,还需要单击 MFC80U.DLL。

对于 Win32 项目,请单击 msvcrt80.dll。

在“添加文件”对话框中单击“打开”,将文件添加到 CAB 项目中。

在“文件系统编辑器”的左窗格中,右击“目标计算机上的文件系统”。

单击“添加特殊文件夹”,然后单击“Windows 文件夹”。

在“文件系统编辑器”的左窗格中,单击包含主输出的文件夹。默认情况下,DLL 已添加到与主输出相同的文件夹中。若要将这些 DLL 移动到 Windows 文件夹中,请在“文件系统编辑器”的中间窗格中选择这些文件,然后将它们拖到“Windows 文件夹”图标上。

使用相同的过程添加解决方案需要的其他任何依赖项。可以将依赖项添加到任何文件夹中;而不必将它们添加到“Windows”文件夹。

为设备项目应用程序创建快捷方式
在“文件系统编辑器”的右窗格中,选择“<your application project name> 的主输出”。

在“操作”菜单上选择“创建 <your application project name> 的主输出的快捷方式”。

此命令将在“输出”项的下面添加一个快捷方式项。

右击该快捷方式项,单击“重命名”,将此快捷方式重命名为适用于快捷方式的内容。

添加注册表项
在“解决方案资源管理器”中选择 CAB 项目。

在“视图”菜单上指向“编辑器”,然后单击“注册表”。

在“注册表编辑器”中,右击 HKEY_CURRENT_USER,然后单击快捷菜单上的“新建项”。

当“注册表编辑器”中显示“新建项”项时,将其重命名为“SOFTWARE”。

右击此新项,指向“新建”,然后单击“项”。

当“注册表编辑器”中显示“新建项”项时,将其重命名为“MyCompany”。

右击“MyCompany”项,再单击快捷菜单上的“属性窗口”。

“名称”值已更改为“MyCompany”。

生成和部署 CAB 文件
生成 CAB 文件
在“生成”菜单上单击“生成 CABProject”。

- 或 -

在“解决方案资源管理器”中右击“CABProject”,再单击“生成”。

在“文件”菜单上单击“全部保存”。

Smartphone 解决方案的 CAB 文件在部署到最终用户的设备上之前必须进行数字签名。基于 Windows Mobile 2003SE 和更早版本的 Pocket PC 解决方案不支持数字签名。有关更多信息,请参见如何:对 CAB 文件进行签名(设备)。

将 CAB 文件部署到设备上
在“Windows 资源管理器”中定位到存储此解决方案的文件夹。可以在解决方案的“CABProject/Release”文件夹中找到此 CAB 文件。

将 CAB 文件复制到与 ActiveSync 4.0 或更高版本连接的设备上。

当用户在设备上的“资源管理器”中点击此 CAB 文件名时,Windows CE 将解开该 CAB,并将应用程序安装到设备上。

有关更多信息,请参见 Smartphone 和 Pocket PC SDK 文档。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wang_junjie/archive/2008/10/06/3021438.aspx

相关文章推荐

用Visual studio 2005 调试基于Windows CE 5.0 的应用程序

准备工作:     1:WinCE在编译时有Platform manager特性,这样可以省去一些工,当然这个特性不只是为了vs2005调试使用的。而是为大部分的远程调试工具使用。有了这个特性,就可以...

eMbedded Visual C++ 应用程序迁移到 Visual Studio 2005

 循序渐进:将 eMbedded Visual C++ 应用程序迁移到 Visual Studio 2005 Microsoft Corporation适用于:Microsoft eMbedded V...

使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio 2005/2008/2010目标文件

版权声明:对于本博客所有原创文章,允许个人、教育和非商业目的使用,但务必保证文章的完整性且不作任何修改地以超链接形式注明原始作者、出处及本声明。     博客地址:http://blog.csd...

Visual Studio 2005 部署应用程序.pdf

  • 2008年03月16日 10:22
  • 378KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何使用 Visual Studio 2005 将应用程序及其资源打包到一个 CAB 文件中
举报原因:
原因补充:

(最多只允许输入30个字)