Назад | Перейти на главную страницу

Клиенты Windows 7 блокируют файлы

С момента появления Windows 7 у нас возникла странная проблема с заблокированными файлами.

У нас есть программа VB6, хранящаяся на сервере. Клиенты открывают программу из общего ресурса и работают с ней весь день. Когда у нас были обновления, мы просто переименовали файл и скопировали новый. У нас это работает более 10 лет с NT, W2K и XP. С момента появления Win 7 это больше не работает.

Если я открываю «Управление компьютером» на сервере и смотрю на открытые файлы, все они находятся в «открытом режиме» для чтения. Если я использую Гиену, она выглядит немного иначе. Клиенты XP находятся в «открытом режиме» Execute, а клиенты Win 7 - в «открытом режиме» Read. Если я попытаюсь переименовать файл, я получаю НАРУШЕНИЕ ОБЩЕНИЯ:

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 Share Permissions - это чтение / запись. NTFS - это List / Read / Execute.

Любая помощь будет принята с благодарностью.

Спасибо.

Это известная проблема с подсистемой буферизации перенаправленных драйверов в 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, она доступна в этом исправлении:

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