Windows 7客户端正在locking文件

自从推出Windows 7以来,我们对locking的文件有一个奇怪的问题。

我们有一个VB6程序存储在服务器上。 客户从共享中打开程序,并全天使用。 当我们有更新,我们只是重命名文件,并复制新的。 NT,W2K和XP已经为我们工作了10多年。 自从推出Win 7以来,这已经不再适用了。

如果我打开服务器上的计算机pipe理,并查看打开的文件,它们都处于“打开模式”读取。 如果我使用鬣狗,它看起来有点不同。 XP客户端处于“开放模式”执行,Win 7客户端处于“开放模式”读取。 如果我尝试重命名文件,我得到一个共享违规:

Desired Access: Read Attributes, Delete, Synchronize Disposition: Open Options: Complete If Oplocked, Open Reparse Point Attributes: n/a ShareMode: Read, Write, Delete AllocationSize: n/a Impersonating: xxx\yyyyyy 

如果我终止赢7连接,离开XP连接,我可以重命名文件。

这里是服务器端:Windows Server 2003 R2 x64共享权限是读/写NTFS权限是列表/读取/执行

任何帮助将不胜感激。

谢谢。

这是Windows 7/2008 R2中redirect驱动程序缓冲子系统的一个已知问题:

如果应用程序由一个或多个用户运行,则无法在Windows 7或Windows Server 2008 R2中的共享文件夹中重命名应用程序
http://support.microsoft.com/kb/2622136

“考虑以下情况:

  • 一个或多个用户正在运行共享文件夹中的应用程序。

  • 注意应用程序在运行时会打开一个句柄。 您尝试重命名运行Windows 7或Windows Server 2008 R2的计算机上的应用程序。

“在这种情况下,您不能重命名该应用程序。此外,您收到以下错误信息:

该文件正在被另一个进程使用。

笔记

  • 所有用户closures应用程序后,都可以成功执行相同的操作。
  • 运行Windows XP的计算机上不会发生此问题。

“出现此问题的原因是redirect驱动器缓冲子系统(Rdbss.sys)中有关使用新的oplocks以及处理对远程可执行文件引用的方式所做的更改。


如果您更喜欢rdbss.sys的更新版本,则在此修补程序中可用:

http://support.microsoft.com/kb/2687753