Windows-7

Windows 7 客戶端正在鎖定文件

  • October 8, 2012

自從引入 Windows 7 以來,我們遇到了一個奇怪的文件鎖定問題。

我們有一個儲存在伺服器上的 VB6 程序。客戶從共享中打開程序,並整天使用它。當我們有更新時,我們只是重命名了文件,然後複製了新的。這在 NT、W2K 和 XP 上已經為我們工作了 10 多年。自引入 Win 7 以來,這不再起作用。

如果我在伺服器上打開電腦管理,然後查看打開的文件,它們都處於“打開模式”讀取。如果我使用鬣狗,它看起來有點不同。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

如果我終止 Win 7 連接,離開 XP 連接,我可以重命名文件。

這是伺服器端:Windows Server 2003 R2 x64 共享權限為讀取/寫入 NTFS 權限為列表/讀取/執行

任何幫助將不勝感激。

謝謝。

這是 Windows 7/2008 R2 中重定向驅動程序緩衝子系統的一個已知問題:

如果應用程序由一個或多個使用者執行,則無法重命名 Windows 7 或 Windows Server 2008 R2 中共享文件夾中的應用程序

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

“考慮以下情況:

  • 一個或多個使用者正在執行共享文件夾中的應用程序。
  • 注意 應用程序在執行時會打開自身的句柄。您嘗試重命名執行 Windows 7 或 Windows Server 2008 R2 的電腦上的應用程序。

“在這種情況下,您無法重命名應用程序。此外,您還會收到以下錯誤消息:

該文件正被另一個程序使用。

筆記

  • 在所有使用者關閉應用程序後,您可以成功執行相同的操作。
  • 在執行 Windows XP 的電腦上不會出現此問題。

“發生此問題的原因是重定向驅動器緩衝子系統 (Rdbss.sys) 中對新 oplocks 的使用及其處理對遠端執行檔的引用的方式進行了更改。”


如果您更喜歡 rdbss.sys 的更新版本,可以在此修補程序中找到它:

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

引用自:https://serverfault.com/questions/413541