将智能设备连接到开发计算机上
http://msdn2.microsoft.com/zh-cn/library/bb513828.aspx
本节中的主题讨论如何在开发计算机和目标设备(无论是实际设备还是仿真程序)之间建立安全可靠的连接。 Visual Studio 使用该连接在设备或仿真程序上部署文件和调试应用程序。
说明: |
在 Windows Vista 中,Windows Mobile 设备中心 (WMDC) 取代了 ActiveSync。 Windows Vista 用户必须安装 WMDC 而不是 ActiveSync。 |
本节内容
介绍各种连接方法。
介绍如何更改默认连接设置。
如何:在不使用 ActiveSync 的情况下连接到 Windows CE 设备
介绍 ActiveSync 不可用于支持连接时进行连接的步骤。
介绍建立蓝牙连接的步骤。
介绍建立红外 (IR) 连接的步骤。
演示如何将开发计算机连接到在 Virtual PC 会话中运行的仿真程序。
介绍访问 Smartphone 仿真程序的文件系统的步骤,该仿真程序没有文件资源管理器。
介绍如何使用共享文件夹在仿真程序和开发计算机之间移动文件。
介绍干扰正确连接的问题,以及如何解决这些问题。
相关章节
提供有关智能设备开发的信息,并且包含指向附加信息的链接。
Mobile Developer Center(移动开发人员中心)
包含有关移动开发的资源。
智能设备开发
连接方法选择
在开发过程中,您必须在智能设备和开发计算机之间建立快速、可靠的连接。尽管可以在大多数开发阶段使用智能设备仿真程序,但是在实际硬件设备上测试应用程序是开发周期的重要组成部分。
最常用的连接选项如下:
· 通过使用 DMA 传输连接到设备仿真程序。
此传输可消除与网络相关的连接问题,并且通常作为默认传输提供。除非出于某种重要的原因需要使用其他传输,否则请总是使用 DMA 传输连接到设备仿真程序。
· 通过使用 ActiveSync 4.x 或 Windows Mobile 设备中心以及 USB 端口连接到物理设备。
可以从 Visual Studio 的“工具”菜单中访问上述选项及其他选项。有关更多信息,请参见 如何:设置连接选项(设备)。
说明: |
在 Windows Vista 中,Windows Mobile 设备中心 (WMDC) 取代了 ActiveSync。Windows Vista 用户必须安装 WMDC 而不是 ActiveSync。 |
ActiveSync 4.x
ActiveSync 4.x 通过使用电缆、底座、蓝牙或红外连接,在开发计算机与设备之间提供连接。它还提供了一种工具,通过该工具可将必需的核心连接性连接和安全文件自动下载到设 备。将设备插入底座时,ActiveSync 会关闭其他所有网卡。此时可以确定该设备只与开发计算机进行通信。ActiveSync 是开发设备应用程序时的标准连结机制。
如果您的设备不支持 ActiveSync,请参见 如何:在不使用 ActiveSync 的情况下连接到 Windows CE 设备。
连接选项
Pocket PC、Smartphone 以及其他基于 Windows CE 的硬件提供链接设备和计算机的多种方式。在这一部分中,将讨论各种连接选项及其优缺点。
根据涉及到的硬件设备,可以使用下列一种或多种连接方法。
USB 连接
最 简单的连接形式,所有 Pocket PC 和 Smartphone 设备都支持 USB 连接。尽管在速度上不像以太网连接或无线 802.11b/g 连接那样快,但 USB 连接使用简单,是最常用的连接选项。许多设备还使用 USB 端口来供电,从而为您带来更多的便利。
有线以太网
默认情况下,如果不使用附加硬件,Pocket PC 和 Smartphone 设备不支持以太网连接。但是,由于此连接标准具有更高的速度,使其成为执行调试和其他数据密集型操作的首选方式。
无线 802.11b/g 网络
Pocket PC 可以使用无线网卡,目前一些型号的 Pocket PC 集成了无线网络功能。无线网络具有与有线以太网连接同样快的速度。
蓝牙
许 多 Pocket PC 和 Smartphone 设备都提供蓝牙无线联网功能。完成配对后,只要智能设备位于桌面计算机的信号覆盖范围内,它就可以通过 ActiveSync 与桌面计算机进行连接。因为蓝牙不如 802.11b/g 无线网络快,所以应避免使用它进行调试。
串行连接
如果没有可用的 USB、有线或无线网络选项,则可以采用串行端口将智能设备连接到开发计算机。虽然其速度较慢,但可以接受。
红外连接
红外连接无需使用附加缆线,Pocket PC 和 Smartphone 设备的标准配置都带有 IrDA 端口。然而,红外连接需要位于可视范围内才能可靠地工作,即使这样在性能上也无法满足调试要求。但是,IrDA 可以作为向设备复制文件的最后技术手段。
请参见
概念
如何:设置连接选项(设备)
Visual Studio 提供了用于将开发计算机连接到设备的很多选项。使用“设备属性”对话框可管理这些连接。
Visual Studio 包含默认使用 DMA 传输的仿真程序连接以及默认使用 TCP/IP 的物理设备。
说明: |
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。 |
设置连接选项
1. 在 Visual Studio 的“工具”菜单上,单击“选项”。
2. 展开“设备工具”,单击“设备”,选择一个设备或仿真程序,然后单击“属性”。
使用关联的对话框选择和配置连接。
请参见
概念
如何:在不使用 ActiveSync 的情况下连接到 Windows CE 设备
当 ActiveSync 不可用时,Visual Studio 不会将所需的连接文件自动复制到设备。应使用下面的步骤将这些文件安装到设备上,修改 Visual Studio 连接配置,并建立设备安全。
前两个步骤,即准备设备和 Visual Studio,只能执行一次。最后一组步骤,即设置安全和建立连接,在每次要从 Visual Studio 的新实例连接时都必须重复执行。
说明: |
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。 |
准备设备进行连接
1. 使用可用连接将以下文件复制到设备上的 驱动器:"Windows" 文件夹中。默认情况下,这些文件位于开发计算机上的 驱动器:"Program Files"Common Files"Microsoft Shared"CoreCon"1.0"Target"wce400"<CPU> 下。
o Clientshutdown.exe
o ConmanClient2.exe
o CMaccept.exe
o eDbgTL.dll
o TcpConnectionA.dll
2. 从设备的命令提示处,运行 conmanclient2.exe。
3. 确定设备的 IP 地址。
准备 Visual Studio 进行连接
1. 在 Visual Studio 的“工具”菜单上,单击“选项”,展开“设备工具”,再单击“设备”。
2. 选择“Windows CE 设备”,再单击“属性”。
3. 在“传输”框的右侧单击“配置”。
4. 在“配置 TCP/IP 传输”对话框中选择“使用特定 IP 地址”,再键入设备 IP 地址。
5. 关闭对话框。
如果消息框提示重置设备,则进行软重置即可。
设置安全和建立连接
1. 在设备上的命令提示符处,运行 cMaccept.exe。
2. 在三分钟内连接到设备。
如果在三分钟内建立首个连接,那么只要使用同一个 Visual Studio 实例,即可无限期地继续部署和调试。如果必须从另一个 Visual Studio 实例进行连接,则必须再次执行这些安全步骤。
安全说明: |
您可以通过禁用设备安全,来消除 cMaccept 步骤。为此,请使用远程注册表编辑器设置 HLKM"System"CoreConOverrideSecurity = 1 DWORD 值。禁用安全将使设备暴露在恶意攻击的威胁之下,除非已经提供了适当的安全保护措施,否则禁用安全不是明智的做法。 |
请参见
概念
如何:使用蓝牙连接
以下步骤描述了如何使用蓝牙将设备连接到开发计算机。若要完成此过程,必须安装 ActiveSync 4.0 或更高版本。
使用蓝牙进行连接
1. 在开发计算机上,确保已正确插入并安装蓝牙天线。
2. 在开发计算机上的“蓝牙属性”对话框中,将“可发现”更改为“开”。
3. 在设备上,点击蓝牙图标,再点击“打开蓝牙”。
4. 点击“蓝牙管理器”。
5. 在蓝牙窗口菜单上,单击“新建”启动对启用蓝牙的设备的搜索。
6. 选择要使用 ActiveSync 连接的开发计算机。
7. 提示时,请键入一个临时配对码,然后立即在开发计算机上键入同一配对码。
现在已与您的设备建立蓝牙连接。若要设置 ActiveSync,必须为该蓝牙连接创建一个虚拟 COM 端口。请使用以下步骤。
设置 ActiveSync
1. 在桌面计算机上转入蓝牙配置,并为蓝牙连接添加一个传入 COM 端口。
2. 在 ActiveSync 中打开“连接设置”对话框,然后选择“允许连接下列之一”。
3. 选择蓝牙设备的 COM 端口,再单击“确定”。
4. 在设备上启动 ActiveSync。
5. 在 ActiveSync 菜单上,点击“通过蓝牙连接”。
现在已建立 ActiveSync 连接。
请参见
概念
如何:使用 IR 进行连接
下列步骤描述了如何使用红外端口 (IR) 将设备连接到您的开发计算机。若要完成此过程,必须安装 ActiveSync 4.0 或更高版本。
设置开发计算机
1. 在开发计算机上打开 Microsoft ActiveSync。
2. 在 ActiveSync 的“文件”菜单上单击“连接设置”。
3. 选择“允许连接到下列端口之一”。
4. 选择“红外端口 (IR)”,并单击“确定”。
设置设备
1. 确保将设备 IR 端口在有效范围内指向开发计算机 IR 端口。
2. 在设备上打开 ActiveSync。
3. 在 ActiveSync“工具”菜单上点击“通过 IR 连接”。
连接已建立。
请参见
概念
如何:从虚拟 PC 会话连接到设备仿真程序
在虚拟 PC (VPC) 会话中无法使用 TCP/IP 连接到设备仿真程序,因为 VPC 不支持虚拟网络交换机驱动程序。仿真程序需要此驱动程序以建立 TCP/IP 连接。请使用下面的步骤来代替。
说明: |
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 |
在虚拟 PC 会话中连接到仿真程序
1. 在虚拟 PC 映像中安装 Microsoft ActiveSync 4.x。
2. 在 ActiveSync 中的“文件”菜单上,单击“连接设置”。
3. 在“连接设置”对话框中,将连接传输更改为“DMA”。
4. 启动仿真程序。
5. 在 Visual Studio 的“工具”菜单上,单击“设备仿真程序管理器”。
6. 在“可用的仿真程序”框中,右击所需的仿真程序,然后在快捷菜单中单击“插入底座”。
7. 按照 ActiveSync 向导中的说明建立业务合作关系。
请参见
概念
如何:访问 Smartphone 仿真程序文件系统
Smartphone 仿真程序没有资源管理器。使用以下技术来访问 Smartphone 文件系统。若要完成此过程,必须安装 ActiveSync 4.0 或更高版本。
在试图将 ActiveSync 与仿真程序一起使用之前,请确保您的桌面计算机上未连接任何设备,并且 ActiveSync 中已禁用 USB 连接。
说明: |
完成下列步骤以后,如果关闭设备仿真程序管理器或关闭仿真程序,则 ActiveSync 连接也会关闭。 |
访问 Smartphone 仿真程序文件系统
1. 在 Visual Studio 的“工具”菜单上,单击“设备仿真程序管理器”。
2. 在“可用的仿真程序”框中,选择要访问其文件系统的仿真程序。
3. 在设备仿真程序管理器的“操作”菜单上,单击“连接”。
在选定的仿真程序旁会出现一个图标,指示已进行了连接。
4. 右击选定的仿真程序,然后单击“插入底座”。
图标更改,显示仿真程序已插入底座。
5. 打开 ActiveSync。
6. 在 ActiveSync 的“文件”菜单上单击“连接设置”。
7. 选择“允许连接到下列端口之一”复选框。
8. 从端口列表中选择“DMA”,然后单击“确定”。
ActiveSync 将立即使用仿真程序启动伙伴关系。请按“新建伙伴关系向导”提供的说明操作。
说明: |
如果伙伴关系未能自动启动,请单击“连接设置”对话框中的“连接”,然后按“建立连接向导”中的提示操作。 |
9. 完成 ActiveSync 伙伴关系步骤之后,请单击 ActiveSync 工具栏上的“浏览”以访问 Smartphone 仿真程序文件系统。
说明: |
每当您要通过 ActiveSync 使用与 Visual Studio 连接的仿真程序时,请使用相应平台的设备目标,而不是仿真程序目标。 |
请参见
概念
如何:从仿真程序访问开发计算机文件
下面的步骤演示如何使用共享文件夹从设备仿真程序访问开发计算机上的文件。
由于 Smartphone 仿真程序通常没有文件查看器,因此下面的 Smartphone 测试步骤中使用了远程文件查看器。有关更多信息,请参见远程文件查看器。
说明: |
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。 |
设置共享文件夹
1. 在开发计算机上,创建一个在开发计算机和设备仿真程序之间共享的文件夹。
2. 在设备仿真程序的“文件”菜单上单击“配置”。
3. 在“常规”选项卡的“共享文件夹”框中,键入或定位到开发计算机上的共享文件夹。
4. 单击“确定”。
测试 Pocket PC 仿真程序上的共享文件夹
1. 在 Pocket PC 仿真程序中打开“资源管理器”。
2. 点击并选择“我的设备”。
“存储卡”项就是共享文件夹。
测试 Smartphone 仿真程序上的共享文件夹
1. 在 Windows“开始”菜单上依次指向“所有程序”、“Microsoft Visual Studio 2008”和“Visual Studio 远程工具”,然后单击“远程文件查看器”。
2. 在“选择 Windows CE 设备”中选择 Smartphone 仿真程序,然后单击“确定”打开“Windows CE 远程文件查看器”窗口。
“存储卡”项就是共享文件夹。
请参见
概念
如何:从仿真程序访问开发计算机文件
下面的步骤演示如何使用共享文件夹从设备仿真程序访问开发计算机上的文件。
由于 Smartphone 仿真程序通常没有文件查看器,因此下面的 Smartphone 测试步骤中使用了远程文件查看器。有关更多信息,请参见远程文件查看器。
说明: |
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。 |
设置共享文件夹
1. 在开发计算机上,创建一个在开发计算机和设备仿真程序之间共享的文件夹。
2. 在设备仿真程序的“文件”菜单上单击“配置”。
3. 在“常规”选项卡的“共享文件夹”框中,键入或定位到开发计算机上的共享文件夹。
4. 单击“确定”。
测试 Pocket PC 仿真程序上的共享文件夹
1. 在 Pocket PC 仿真程序中打开“资源管理器”。
2. 点击并选择“我的设备”。
“存储卡”项就是共享文件夹。
测试 Smartphone 仿真程序上的共享文件夹
1. 在 Windows“开始”菜单上依次指向“所有程序”、“Microsoft Visual Studio 2008”和“Visual Studio 远程工具”,然后单击“远程文件查看器”。
2. 在“选择 Windows CE 设备”中选择 Smartphone 仿真程序,然后单击“确定”打开“Windows CE 远程文件查看器”窗口。
“存储卡”项就是共享文件夹。
请参见
概念
连接疑难解答(设备)
开发计算机与设备之间的大多数连接问题都是由安全或网络问题引起的。以下几节将帮助您识别并解决一些较常见的连接问题,并提供建立可靠、安全的连接所需的步骤。
连接到设备仿真程序
连接到设备仿真程序时,请使用 Visual Studio 提供的直接内存访问 (DMA) 传输。此传输可以消除开发计算机与仿真程序之间的大部分连接问题。
重要说明: |
只有当您具有特定的原因时才可使用 TCP/IP 传输。若要解决仿真程序使用 TCP/IP 而引发的问题,请查看以下步骤。有关更多信息,请参见“Mobile Developer Center”(移动开发人员中心)。 |
未能打开虚拟交换驱动程序
如果尝试使用仿真的 NE2000 或 CS8900 卡将设备仿真程序连接到网络,则需要虚拟交换机驱动程序。您可以从“Mobile Developer Center”(移动开发人员中心)下载驱动程序。
打开驱动程序时发生错误的原因有多种:
· 缺少驱动程序。
· 开发计算机上的网卡没有安装驱动程序。
· 安装驱动程序的过程中出现问题。
· 驱动程序处于禁用状态。
· 开发计算机没有网卡。
使用下列步骤诊断确切原因。
诊断故障的确切原因
1. 查看“仿真程序属性”对话框的“网络”选项卡。
如果启用了 NE2000 和/或 CS8900 卡,请验证它们绑定到的网卡是否存在并且已连接。若要打开“仿真程序属性”对话框,请在设备仿真程序的“文件”菜单上单击“配置”。
2. 查看适配器的网络属性以验证“虚拟机网络服务”项存在、已启用并且版本正确(即 2.6.465.224 或更高版本)。
3. 如果这些步骤未能解决问题,请重新安装驱动程序。
部署到仿真程序错误
如果开发计算机具有无线网络连接并且您使用的是 TCP 传输,则可能需要执行其他步骤(例如安装 Microsoft 环回适配器)。有关更多信息,请参见“Mobile Developer Center”(移动开发人员中心)。
说明: |
除非您具有特定的原因而要使用 TCP 传输,否则请使用 DMA 传输以避免网络问题。 |
切换传输后无法调试
您可以更改仿真程序的传输,但仿真程序在您对设备进行软重置之前不会绑定到新的传输。
说明: |
DMA 传输是设备仿真程序的首选传输。只有当您由于某些特定的原因而需要使用 TCP/IP 传输时,才应使用它。 |
切换传输
1. 在 Visual Studio 的“工具”菜单上,依次单击“选项”、“设备工具”和“设备”。
2. 选择一个仿真程序,再单击“属性”。
3. 在“传输”框中选择一个不同的传输。
如果要切换到 TCP/IP,请单击“配置”以设置附加选项。
4. 单击“确定”关闭对话框。
在虚拟 PC 会话中运行时无法连接到仿真程序
通过对仿真程序使用 DMA 传输可以避免此连接问题。有关更多信息,请参见如何:从虚拟 PC 会话连接到设备仿真程序。
修复设备仿真程序的安装
指示未能连接到设备仿真程序的错误通常不是安装错误。但是,您可以按照下列步骤来修复设备仿真程序安装。要做到这一点,您需要原始安装媒体。修复 Visual Studio 安装并不会修复设备仿真程序安装。
修复设备仿真程序安装
1. 定位到原始 Visual Studio 安装媒体上的 wcu"ARM。
此文件夹的位置(例如磁盘 1、磁盘 2 等)随 Visual Studio 版本的不同而不同。
2. 双击“vs_emulator.exe”打开“设备仿真程序设置向导”,然后按照说明进行操作。
附加提示
设备仿真程序独立的“帮助”系统提供附加提示。有关更多信息,请单击设备仿真程序“帮助”菜单并在“目录”或“索引”选项卡中查找“连接问题疑难解答”。
连接到物理设备
设备上缺少正确的证书
出于安全原因,某些设备(包括 Smartphone 2003 及更高版本)要求在设备上安装适当的证书。Visual Studio 中包含了用于日常开发工作的证书以及一个证书安装工具。
安装所需证书
1. 使用任何可用的连接机制连接到设备。
2. 将 VSDCerts.cab 从开发计算机复制到设备。
默认情况下,VSDCERTS.cab 位于 驱动器:"Program Files"Microsoft Visual Studio 9.0"SmartDevices"SDK"SDKTools 下。
3. 在设备上,解压缩 VSDCerts.cab 以安装证书。
缺少预备 Windows CE 5.0 设备
不带 ActiveSync 支持的 Windows CE 5.0 设备需要执行一些准备步骤,才能与 Visual Studio 实例建立连接。有关更多信息,请参见如何:在不使用 ActiveSync 的情况下连接到 Windows CE 设备。
部署期间的意外行为
如 果开发计算机通过 ActiveSync 连接到一台设备,然后试图与另外一台设备(例如 Windows CE 设备)建立 TCP/IP 连接,并且发生连接错误,那么开发计算机将与通过 ActiveSync 连接的设备相连接,并且不会发出 TCP/IP 连接失败的警告。
在设备上接受提示后连接失败
该 问题最常发生在具有双层提示安全配置的 Smartphone 或 Windows Mobile 6 Standard 设备上。当 Visual Studio 连接到物理设备时,它必须在该设备上部署和执行核心连接文件。在这种情况下,如果设备没有安装 VSDCerts 证书,则会提示用户是否允许执行 Visual Studio 核心连接文件。即使您接受了安全提示,连接也会失败,这是因为双层设备会授予常规执行权限,而 Visual Studio 核心连接文件必须使用特权才能执行。
若要解决该问题,可以安装所需的 Visual Studio SDK 证书,也可以将设备更改为单层安全模型。
安装 Visual Studio 2008 后,Visual Studio 2005 无法连接到设备
安 装 Visual Studio 2008 时,将用具有新证书签名的核心连接的较新版本覆盖其 Visual Studio 2005 版本,即使在卸载 Visual Studio 2008 后,该版本也会保留在桌面计算机上。由于 Visual Studio 2005 使用核心连接来连接到设备,因此设备必须同时安装有 Visual Studio 2008 证书(驱动器:"Program Files"Microsoft Visual Studio 9.0"SmartDevices"SDK"SDKTools"VSDCerts.cab)和 Visual Studio 2005 证书(驱动器:"Program Files"Microsoft Visual Studio 8"SmartDevices"SDK"SDKTools"sdkcerts.cab)。若要安装这些证书,请将 CAB 文件复制到设备上,然后通过从资源管理器中选择它们来对其进行解压缩。
无线连接
虽然 Visual Studio 支持使用无线技术连接到设备,但是无线技术会引入其他一些因素,这些因素会对连接的成功性和可维护性造成不利影响。这些因素包括 IR 端口未对准、RF 连接中的信号受阻或衰减等。
请参见