【问题标题】:Why won't my program open on Pocket PC?为什么我的程序无法在 Pocket PC 上打开?
【发布时间】:2016-01-31 23:04:51
【问题描述】:

我正在为我的 Pocket PC 在 Visual Studio 2008 中制作一个程序,但我无法打开该程序。我按照说明创建了一个 cab 文件以将其安装在设备上,但是当我尝试单击该程序时,它加载了半秒钟,然后什么也没做。该程序在模拟器中运行良好。

【问题讨论】:

  • 能否包含显示此问题的代码的当前版本?
  • 代码没有任何问题。它只是一个使变量递增然后显示在文本框中的按钮。我发现如果我将解决方案直接部署到设备上,它可以正常工作,只是在通过 cab 时就不行了。
  • 没有太多关于编的信息。如果它是一个 MFC 并在共享库中使用 MFC,它将从 VS 运行,但在没有 MFC 运行时仅部署 exe 时不会。可能您可以添加更多详细信息(即项目文件和 cab inf 文件)

标签: c# visual-studio visual-studio-2008 windows-mobile pocketpc


【解决方案1】:

您真的在使用 Pocket PC 设备吗? Pocket PC 术语最后一次使用是在 2003 年。从那时起,该平台就被称为“Windows Mobile”。不要与“Windows 10 移动版”混淆。在这方面,命名并不是微软的强项。

如果您是真正为 Pocket PC 开发,则需要使用 Pocket PC SDK。

如果您的应用程序使用 MFC,那么您的程序将依赖于 MFC 库来运行。解决此问题的最简单方法是静态链接到 MFC。

  1. 进入项目设置
  2. 转到“常规”标签页。
  3. 搜索“使用 MFC”并选择“在静态库中使用 MFC”。
  4. 保存并重建项目。由于您已静态链接到 MFC,因此您的 EXE 的大小现在变大了。

如果您的应用程序使用 Compact Framework,那么您的程序还将依赖 .NET Compact Framework (CF) 库来运行。解决此问题的最简单方法是包含 Visual Studio 文件夹中的 CAB 文件。然后您可以运行 CAB 文件来安装 .NET Compact Framework。

  1. 导航到“C:\Program Files (x86)\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\wce400\armv4”文件夹。
  2. 将“NETCFv2.ppc.armv4.cab”文件复制到您的设备。
  3. 在设备上,导航到 NETCFv2.ppc.armv4.cab 文件并单击它进行安装。

您可以阅读this 了解有关该主题的更多信息。

【讨论】:

  • 是的,我正在尝试为运行“Windows Mobile 2003”的 Pocket PC 做一些事情。在 Visual Studio 2008 中,我为我的智能设备项目的目标平台选择“Pocket PC 2003”。我只是在学习如何使用视觉工作室,所以我不太明白你的选择是什么意思;你能用正常人的话说吗​​?
  • 当我将解决方案直接部署到设备时,它在设备上运行良好,但看起来它还添加了两个名为“Microsoft .NET CF 2.0”和“Microsoft .NET CF 2.0 ENU”的程序-String ..." 如果我​​尝试通过 cab 文件安装,它不会这样做。我希望它能够在出厂新设置设备上仅使用 cab 文件运行。
  • 必须安装 Microsoft .NET Compact Framework 2.0 才能运行您的应用程序。当您按 F5 时,Visual Studio 会为您执行此操作。它还为您复制 MFC/CRT DLL。这就解释了为什么它在您调试或按 F5 时对您有效。
  • 您可以按 F5 让 Visual Studio 将文件推送到设备。然后你可以在设备上抓取文件。它们通常以 MS 开头,以文件扩展名 DLL 结尾。然后只需按照此处的说明进行操作:msdn.microsoft.com/en-us/library/zcebx8f8(v=vs.90).aspx
  • 这是一个很常见的请求,但答案是否定的。如果您的目标是自动安装软件,那么您应该研究 CABWIZ 并编写一个简单的程序,使用 CABWIZ 以正确的顺序安装 CAB 文件。如果您使用的是流行的坚固设备,例如 Motorola/Symbol/Intermec/Honeywell,那么他们很可能已经安装了一个工具来处理您可以挂接的 CAB 文件安装。
猜你喜欢
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-10
  • 2021-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多