c#美味:NTFS中文件被锁定导致Process.Start失败

上周工作中遇到一个奇怪的问题,解决之后想想还是写出来和大家分享一下。

故障描述:

在A程序中使用Process.Start方法调用一个B.exe的文件时,程序总会自动退出。

系统描述:Windows XP Pro SP3

尝试过的解决办法

  1. b.exe文件是存在的
  2. 手动执行b.exe是没有任何问题的。
  3. a程序调用一个c.exe也是没有问题的。

到此,我基本确认问题出在b.exe上面。 不过由于单独执行b.exe是没有问题的,所以找了半天,一直没解决这个问题。

 

突然间,我注意到手动执行b.exe时会弹出一个安全的对话框,需要点击确定 后才能执行,而我执行c.exe时并没有这个现象:

image

 

看到这里,想起我前段时间遇到的ppt文件总是需要修复的问题,我马上看了下文件属性:

image

 

果然,该文件被锁定了。 解除锁定后,故障得到解决。A程序可以顺利的调用b.exe了。

后来想了想,我更新这个文件的时候是通过一个im传过来的,可能是那个时候文件被锁定了。

posted @ 2010-07-31 18:00  林杰的博客  阅读(1535)  评论(0编辑  收藏  举报