Клиенты Windows 7 блокируют файлы
С момента появления Windows 7 у нас возникла странная проблема с заблокированными файлами.
У нас есть программа VB6, хранящаяся на сервере. Клиенты открывают программу из общего ресурса и работают с ней весь день. Когда у нас были обновления, мы просто переименовывали файл и копировали новый. Это работает для нас более 10 лет с NT, W2K и XP. С введением 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: просмотр, чтение, выполнение.
Любая помощь будет принята с благодарностью.
Благодарю.
1 ответ
Это известная проблема с подсистемой буферизации перенаправленного драйвера в 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) в отношении использования новых блокировок и способа обработки ссылок на удаленные исполняемые файлы".
Если вы предпочитаете более свежую версию rdbss.sys, она доступна в этом исправлении: