Symbol MC32N0 从 CE 6.0 升级到 WEC7:"Unsupported System Version"

Symbol MC32N0 upgrade from CE 6.0 to WEC7: "Unsupported System Version"

几年前,我为 Symbol MC3xxx 系列条码扫描器移动计算机设备编写了一个 Compact Framework 2.0 C# 应用程序。当时,该设备是 运行 CE 5.0。然后新的来了 运行 CE 6.0,一切都还好。我在 Visual Studio 2005 上使用和调试没有任何问题。

但是现在...在摩托罗拉和 Zebra 接管之后,我得到了我们将要使用的新设备,称为 MC32N0,但它运行 Windows Embedded Compact 7。 无需深入了解多年来 Microsoft 嵌入式设备失误的历史,我发现当我们尝试安装我们的应用程序时,我们在设备上收到一条错误消息,内容为 "Unsupported System Version",该应用程序太旧,无法安装OS 在设备上。

(旁注,有趣的是,"new" MC32N0 是 运行 一个已经很旧的 OS,但就这样。)

如何摆脱错误信息?

我尝试了一些东西,然后又尝试了一些。

我做的第一件事是使用 Compact Framework 3.5 在 VS2008 上重新编译所有内容。但我仍然收到错误消息,"Unsupported System Version"。

经过更多研究,我发现是的,Windows Embedded Compact 7 确实随 CF 3.5 一起提供,所以我在那里很好,它必须是其他东西。

对于这个项目,我创建了一个带有 CAB 文件的安装程序,因此应用程序可以安装在设备上。在 CAB 的项目文件中,在我的例子中它被命名为 "SmartDeviceCab1.vddproj",我使用 Notepad++ 打开该文件,发现:

    "Product"
    {
    "Name" = "8:Microsoft Visual Studio"
    "ProductName" = "8:Barcoding"
    "Manufacturer" = "8:DIS Corporation"
    "OSVersionMin" = "8:4.0"
    "OSVersionMax" = "8:6.99"
    "NoUninstall" = "11:FALSE"
    "Compress" = "11:FALSE"
    "CESetupDLL" = "8:"
    }

看到问题了吗? OSVersionMax 设置为 6.99,但我试图在 Compact 7 上 运行。所以我将 OSVersionMax 更改为 7.01,它成功了! 当我尝试安装应用程序时,错误消息消失了。

希望这对其他嵌入式条码扫描仪开发人员有所帮助。

MC32N0 需要最新版本的 EMDK (2.9),MS 升级以允许 VS 运行 使用 Win CE 7.0,以及来自 Zebra 的平台文件 32N0c70BenPS020000.exe。如果您在安装软件包时没有安装最新的 symbol.all.arm.cab 文件,您将正确地收到一条错误消息,因为它处于不同的硬件驱动程序版本级别。如果您不安装平台文件并直接为 "Symbol MC3200c70" 作为目标设备编译代码,您也将无法使用 VS(我使用的是 2008)调试 managed/native 代码。