Сбой 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 исправит эту ошибку.