我在几年前为Symbol MC3xxx系列条码扫描器移动计算机设备编写了一个Compact Framework 2.0 C#应用程序。当时,设备运行的是CE 5.0。然后新的一个来了,它运行CE 6.0,事情仍然没问题。我正在使用和调试Visual Studio 2005没有任何问题。
但是现在......在摩托罗拉和Zebra接手之后,我得到了一个我们将使用的新设备,称为MC32N0,但它运行的是Windows Embedded Compact 7。 多年来,我没有深入了解微软嵌入式设备的错误,我发现当我们尝试安装我们的应用程序时,我们在设备上收到“不支持的系统版本”的错误消息,该应用程序太旧了设备上的操作系统。
(旁注,有趣的是“新”MC32N0正在运行已经很老的操作系统,但你去了。)
如何摆脱错误信息?
答案 0 :(得分:3)
我尝试了一些事情,然后是一些事情。
我做的第一件事是使用Compact Framework 3.5在VS2008上重新编译所有内容。但我仍然收到错误消息“不支持的系统版本”。
经过更多的研究,我发现是的,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,它工作正常! 当我尝试安装应用程序时,错误消息消失了。
希望这有助于其他嵌入式条码扫描器开发人员。
答案 1 :(得分:2)
MC32N0需要最新版本的EMDK(2.9),MS升级以允许VS与Win CE 7.0一起运行,以及来自Zebra的平台文件32N0c70BenPS020000.exe。如果在未安装最新的symbol.all.arm.cab文件的情况下安装软件包,则会正确收到错误消息,因为它位于不同的硬件驱动程序版本级别。如果您没有安装平台文件并直接为#34; Symbol MC3200c70"编译代码,那么您也无法使用VS(我使用的是2008)来调试托管/本机代码。作为目标设备。