楼主: bailuotuo

Microsoft .NET Compact Framework 开发常见问题解答

[复制链接]
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
31#
 楼主| 发表于 2006-9-5 10:11 | 只看该作者
小结

一旦您使用 CAB 文件、SETUP.INI 文件和一个 SETUP.EXE 文件来调用 CE Application Manager,您只需将这些文件放在光盘、磁盘或 ZIP 文件中,将它们分发给您的客户。理解获取这些文件的所需步骤可能会占用您第一次安装的大量时间,但以后的安装将会很快,因为您只需更改任何前面安装的源文件中的少量值即可。

3.4. 如何创建与基于 Windows Mobile 的 Pocket PC 平台无关的 CAB 文件?
您可以创建一个 .inf 文件,用它生成适合在任何基于 Windows Mobile 的 Pocket PC 设备上安装应用程序的 CAB 文件。具体做法请参见这个示例:
http://samples.gotdotnet.com/qui ... rk/doc/cabfile.aspx

3.5. 为什么每种处理器类型都有不同的 CAB 文件?
每个 CAB 都包含一个小型本机可执行文件,它在设备中执行框架依赖项检测。此实用工具特定于处理器/平台,每种处理器类型都必须有单独的 CAB。

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
32#
 楼主| 发表于 2006-9-5 10:11 | 只看该作者
3.6. 如何创建一个桌面安装程序来检测目标设备中是否存在 .NET Compact Framework,并在需要时安装它?
MSDN Library 中标题为“Creating an MSI Package that Detects and Updates the .NET Compact Framework”的文章描述了一种可能会用到的技术:
http://msdn.microsoft.com/mobili ... /html/netcfdepl.asp

3.7. 如何将 .NET Compact Framework Service Pack 部署到模拟器中?
从以下地址下载“Developer”版本的 service pack 并安装到您的桌面开发 PC 中(下载的标题如下所示:“Microsoft® .NET Compact Framework 1.0 SPx Developer Redistributable”)
http://msdn.microsoft.com/mobility/downloads/updates/default.aspx

然后将适当的 .NET Compact Framework cab 文件复制到模拟器中(按照下一段)。在模拟器中通过 File Explorer 指向 PC 中的一个共享,然后将该 cab 复制并粘贴到模拟器文件系统中的某个位置。现在从 File Explorer 启动该 cab 文件,如果询问是否覆盖所有项,则回答“是”。

模拟器 CAB 文件
Windows Mobile 2002 for Pocket PC
netcf.core.ppc3.x86.cab

Windows Mobile 2003 for Pocket PC
netcf.core.wce4.x86.cab

Windows Mobile 2003 for Smartphone
不支持 RAM 安装

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
33#
 楼主| 发表于 2006-9-5 10:12 | 只看该作者
3.8. 如何将 SQL Server CE 包含在我的应用程序安装中?
要随一个应用程序安装 SQL Server CE,只需将恰当的 SQL Server CE CAB 文件作为应用程序安装的一部分加以安装。有两组与 SQL Server CE 相关的 cab。

开发人员 CAB 包括查询分析器和错误字符串。此 CAB 不应该包括在应用程序部署中。它包含在两个实际的文件中,一个用于基于 Windows Mobile 的 Pocket PC,一个用于 Windows CE 4.x 设备:

sqlce.dev.ppc3..cabsqlce.dev.wce4..cab
SQL Server CE CAB,它包括引擎、客户端代理和托管扩展,因为利用 System.Data.SqlServerCe 组件的应用程序需要客户端代理。此 CAB 也包含在两个实际的文件中,一个用于基于 Windows Mobile 的 Pocket PC,一个用于 Windows CE 4.x 设备:

sqlce.ppc3..cabsqlce.wce4..cab
访问 SQL Server 的应用程序,也就是利用 System.Data.SqlClient 组件的应用程序应该部署该“sql”CAB。此 CAB 也包含在两个实际的文件中,一个用于基于 Windows Mobile 的 Pocket PC,一个用于 Windows CE 4.x 设备:

sql.ppc3..cabsql.wce4..cab
所有这些 CAB 都包含在 Visual Studio .NET 2003 Professional Edtion 安装中。默认位置为:

\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\...

3.9. 如何在启动时运行我的应用程序?
• 在 \Windows\Startup 中安装应用程序的快捷方式

• 在 HKLM\Init 中添加一个注册表项

• P/Invoke CeRunAppAtEvent

使用道具 举报

回复
论坛徽章:
7
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
34#
 楼主| 发表于 2006-9-5 10:12 | 只看该作者
3.10. 如何通过桌面安装程序检测 .NET Compact Framework 的版本?
请参考文章“Creating an MSI Package that Detects and Updates the .NET Compact Framework”:
http://msdn.microsoft.com/librar ... /html/netcfdepl.asp

具体为:

检测 Microsoft .NET Compact Framework您需要创建一个 .dll,它可以作为自定义操作从 MSI 文件调用。

首先使用 CeRapiInitEx 连接到设备。

使用 CeFindAllFiles 搜索设备的 Windows 目录中是否存在 GAC_mscorlib_*.dll。如果存在,则设备中已经安装了某种风格的 .NET Compact Framework。

查询设备注册表并枚举 HKLM\SOFTWARE\Microsoft\.NETCompactFramework 中的值。您应该找到表示现有 .NET Compact Framework 的内部版本的注册表项。(比如 1.0.2268.00:REG_DWORD:0)。此版本是由所有 .cab 安装创建的,并包含在以后所有 ROM 安装中。最初 ROM 安装的 RTM .NET Compact Framework 缺少这一项,所以如果您没有找到它,就假定它的值为 1.0.2268.0。

有关版本号的更多信息,请参见本 FAQ 中标题为“1.26.如何确定设备中安装的 .NET Compact Framework 的版本”的项。

使用道具 举报

回复
论坛徽章:
0
35#
发表于 2006-9-6 13:04 | 只看该作者
楼主辛苦了!!!!!!!!!!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表