Сбой MSTSC + при автоматическом переподключении

У нас есть приложение, которое используется как RemoteApp. Пользователи получают доступ к RemoteApp через шлюз.

Мы испытываем сбои с пользователями, использующими MSTSC v.6.3 на Win64 (протестировано с Windows 7 и Windows 8) каждый раз, когда происходит аварийное отключение (сбой подключения).

Типичный сбой - нарушение доступа внутри MSTSC с сообщением об ошибке "Подключение к удаленному рабочему столу перестало работать". но иногда MSTSC просто замерзают. В средстве просмотра событий отображается "Ошибка приложения", идентификатор события 1000, код исключения 0xC0000005 (== нарушение доступа).

MSTSC v.6.2 или более ранней версии на Win64 или MSTSC (любой версии) на Win32 работает нормально.

Не происходит сбоев, если мы разрешаем пользователям доступ непосредственно к серверам TS, минуя сервер шлюза. В этом случае после сбоя подключения автоматическое переподключение MSTSC будет успешным.

Кто-нибудь знает рабочую среду или исправить эту проблему? Любая помощь приветствуется.


Дополнительная информация от Event Viewer:

Неверное имя приложения: mstsc.exe, версия: 6.3.9600.16415, отметка времени: 0x524b5b3d
Неверное имя модуля: mstscax.dll, версия: 6.3.9600.16503, отметка времени: 0x52c5f878
Код исключения: 0xc0000005
Смещение ошибки: 0x0000000000439b7a
Идентификатор ошибочного процесса: 0x1658
Время запуска ошибочного приложения: 0x01cf84a3cfff7048
Неверный путь к приложению: C:\Windows\system32\mstsc.exe
Неверный путь к модулю: C:\Windows\system32\mstscax.dll

Трассировка стека от отладчика Visual Studio Express 2012:

mstscax.dll! CClientProxyTransport:: SetErrorStatus (длинный)
mstscax.dll!CClientProxyTransport::GetErrorStatus(long, класс CClientProxyTransport *)
mstscax.dll!CProxyClientSendPacket::OnComplete(long,unsigned long)
mstscax.dll!CAAAsyncSend::OnComplete(длинный)
mstscax.dll!CAARpcClientChannel::Shutdown(без знака long, класс IAAAsyncOperation *)
mstscax.dll!CAAAsyncDisconnectChannel::Invoke(длинный без знака, класс CAAChannel *, класс IAATransportChannel *)
mstscax.dll!CAAChannel::DisconnectInternal(интермедиат, длинный)
mstscax.dll!CAARpcClientChannel::HandleReceiveComplete(struct _RPC_ASYNC_STATE *)
mstscax.dll!CAARpcClientChannel::HandleIOCompletion(struct _OVERLAPPED *,unsigned long)
mstscax.dll!CAagIO::AAGIoThreadFunc(void *)
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()

1 ответ

Мы обнаружили, что это связано с сообщением для входа на шлюз. Если вы отключите сообщение входа в систему на шлюзе, оно будет работать!

Я не знаю, почему это происходит. Но это быстрое решение. И мы надеемся, что Microsoft исправит эту ошибку.

Другие вопросы по тегам