支持将设备应用程序打包的 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”项目。