造成这种情况的实际原因是引发错误的扫描仪缺少“符号托管类库”应用程序。已确定,当直接从 Visual Studio 部署到扫描仪时,它会自动推送并安装此应用程序,但通过 cab 安装程序部署时,它不会被安装。修复是在应用程序启动时添加一个检查,以查看是否安装了库并向用户抛出错误。
if (System.IO.Directory.Exists(@"\Windows\AppMgr\Symbol Managed Class Libraries\") == false)
{
DisplayMessage("Symbol Managed Class Libraries not detected. Please Install or contact help desk.", "Error");
}
要安装库,请在设备上运行以下 cab:从安装了 EMDK 的计算机获取 cab:C:\Program Files (x86)\Motorola EMDK for .NET\v2.8\SDK\Smart Devices\wce500\ armv4i\symbol.all.arm.cab 一旦运行并安装在设备上,相机就可以完美运行。
我研究了一种将这个驾驶室包含在我的驾驶室中的方法,但没有找到一种干净的方法来做到这一点,而无需在每次构建后都进行大量的后续工作。考虑到它是每台设备一次运行,我对错误消息很好。