支持将设备应用程序打包的 IDE 功能

更新:2007 年 11 月

若要对解决方案进行打包以便部署到智能设备,可使用与桌面解决方案相同或类似的 Visual Studio 集成开发环境 (IDE) 功能。下表描述了这些功能。

功能

如何查找

备注

智能设备 CAB 项目模板

在“文件”菜单上指向“添加”,单击“新建项目”,然后单击“其他项目类型”,再单击“安装和部署”。

单击图标可将新的 CAB 项目添加到现有解决方案。请注意,这是此对话框中唯一可用于智能设备的项目类型。为 CAB 项目选择名称之后,单击“确定”,该项目即添加到解决方案,并显示在“解决方案资源管理器”中。

文件系统编辑器

在“解决方案资源管理器”中右击 CAB 项目名称,单击“视图”,再单击“文件系统”。

使用此编辑器可以指定要添加到 CAB 中的文件,以及这些文件应安装到的设备文件夹。

注册表编辑器

在“解决方案资源管理器”中右击 CAB 项目名称,单击“视图”,再单击“注册表”。

使用此编辑器可以指定应用程序所需的全部特殊注册表项。

CAB 项目的属性窗口

在“解决方案资源管理器”中单击 CAB 项目,再单击“视图”菜单上的“属性窗口”。

使用此窗口可以指定 CE 安装程序 DLL(如果有)的名称、应用程序的制造商名称、可运行此应用程序的最低和最高 Windows CE 版本,以及其他选项。

项目属性页

在“解决方案资源管理器”中右击 CAB 项目名称,再单击“属性”。

使用此对话框可以指定配置(例如,调试)、输出文件名和安全证书。

说明:

由于这些编辑器同样也用于桌面安装项目,因此对于智能设备 CAB 项目,某些选项可能会禁用。

在某些情况下,您可能会编写仅设计用于运行在特定平台(如 Windows Mobile 2003 SE 和更高版本)上的应用程序。在这些情况下,可以防止 CAB 文件安装到指定的不受支持的平台上。但是,必须使用命令行工具手动修改 INF 文件并重新打包 CAB。如果使用 Visual Studio 重新打包 CAB,将会覆盖您所做的更改。

Pocket PC 与 Smartphone 的对比

在 Windows Mobile 2003 SE 和更早版本上,用于 Pocket PC 的 CAB 文件与用于 Smartphones 的 CAB 文件之间的主要区别在于,Pocket PC 不支持压缩或签名的 CAB 文件。Smartphone CAB 文件必须进行压缩,并且 .exe 或 .dll 文件以及 CAB 文件本身在安装到设备上之前,必须先进行数字签名。有关更多信息,请参见设备项目中的安全性

本机应用程序与托管应用程序的对比

既可以为使用 C++ 编写的应用程序创建智能设备 CAB 项目,也可以为使用 Visual C# 或 Visual Basic 编写的应用程序创建智能设备 CAB 项目,两者之间的唯一区别是,对于本机应用程序,必须手动将系统依赖项 atl80.dll、mfc80U[d].dll 和/或 msvcrt[d].dll 添加到 CAB 项目。对于托管应用程序,则无需将任何 .NET Compact Framework DLL 添加到 CAB 文件。但是,应用程序必须确定设备上是否安装了正确的 .NET Compact Framework 版本。检查目标设备上的 Version 即可确认版本是否正确。如果正确的版本不存在,则必须将相应的 .NET Compact Framework 安装 CAB 文件(驱动器:\Program Files\Microsoft.NET\SDK\CompactFramework\版本\WindowsCE)复制并安装到设备上。

警告:

如果重新发布动态链接到 MFC/ATL 的本机应用程序,并将 MFC/ATL 运行时 DLL 部署到应用程序目录,应用程序可能不会链接到该目录中的 DLL。在 Windows CE 上,如果两个 DLL 具有相同的文件名和不同的路径,则只加载具有该文件名的第一个 DLL。而不会加载后面具有相同文件名的 DLL。实际上,应用程序将链接至之前已被另一个应用程序加载的具有该文件名的 DLL。若要确保应用程序链接到其目录中的 DLL,请确保没有其他应用程序正在使用相同文件名的 DLL。

智能设备部署与桌面部署的对比

在“新建项目”对话框中,通过单击“其他项目类型”,再单击“安装和部署”,可以同时访问桌面安装项目和设备安装项目。部署桌面应用程序时,可以从“安装项目”、“合并模块项目”、“CAB 项目”、“Web 安装项目”和“安装向导”中进行选择。上述所有项目类型都不可用于设备应用程序。智能设备不支持 ClickOnce 部署。若要创建可部署到任何基于 Windows CE 的设备(包括 Smartphone 和 Pocket PC)的 CAB 文件,必须使用“智能设备 CAB”项目。

请参见

任务

演练:打包智能设备解决方案以便进行部署

概念

设备解决方案打包概述