我有一个由 C# 开发并由 .net 4.0 构建的程序。该程序是一个 Windows 客户端,它将从条形码阅读器(通过 com 端口)读取条形码,然后通过 WCF 将条形码发送到后端服务器。客户在客户端操作系统中有一个脚本,它将重新启动操作系统并每天自动启动我的程序。操作系统是 Windows XP Embedded。
现在的问题是,有时当系统重新启动时,我的程序无法启动,并且会弹出一个错误消息框询问是否将此错误报告发送给微软。最奇怪的是,如果我的同事将程序文件夹复制并粘贴为“...的副本”在与原始文件夹相同的文件夹中,“...的副本”下的exe可以毫无问题地运行。但原来的还是不行。
我的猜测是,当系统被迫重新启动时,程序可能正在写入日志和其他记录文件。并且文件获得未释放的读/写锁。
我已将错误屏幕截图上传到 flickr。请点击这里链接访问。