Windows-7
Windows 7 客戶端正在鎖定文件
自從引入 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 的更新版本,可以在此修補程序中找到它: