Descobrimos que isso é relacionado à mensagem de login no gateway. Se você desativar a mensagem de login no Gateway, isso funcionará!
Agora não sei por que isso acontece. Mas é uma solução rápida. E esperamos que a microsoft corrija esse bug.
Temos um aplicativo que é usado como um RemoteApp. Os usuários acessam o RemoteApp via gateway.
Estamos enfrentando falhas com usuários que executam o MSTSC v.6.3 no Win64 (testado com o Windows 7 e o Windows 8) toda vez que uma desconexão anormal acontece (falha de conectividade).
Falha típica é uma violação de acesso dentro do MSTSC com a mensagem de erro "A Conexão de Área de Trabalho Remota parou de funcionar". mas às vezes o MSTSC apenas congela. Visualizador de eventos mostra "Erro de aplicativo", identificação de evento 1000, código de exceção 0xC0000005 (= = violação de acesso).
MSTSC v.6.2 ou anterior no Win64 ou MSTSC (qualquer versão) no Win32 funciona bem.
Não há falhas se permitirmos que os usuários acessem diretamente os servidores de TS, ignorando o servidor de gateway. Nesse caso, após uma falha de conectividade, a reconexão automática do MSTSC é bem-sucedida.
Alguém conhece um workround ou conserta este problema? Qualquer ajuda é bem vinda.
Informações adicionais do Visualizador de Eventos:
Faulting application name: mstsc.exe, version: 6.3.9600.16415, timestamp: 0x524b5b3d Faulting module name: mstscax.dll, version: 6.3.9600.16503, timestamp: 0x52c5f878 Exception code: 0xc0000005 Fault offset: 0x0000000000439b7a Faulting process id: 0x1658 Faulting application start time: 0x01cf84a3cfff7048 Faulting application path: C:\Windows\system32\mstsc.exe Faulting module path: C:\Windows\system32\mstscax.dll
Rastreamento de pilha do depurador do Visual Studio Express 2012:
mstscax.dll!CClientProxyTransport::SetErrorStatus(long) mstscax.dll!CClientProxyTransport::GetErrorStatus(long,class CClientProxyTransport *) mstscax.dll!CProxyClientSendPacket::OnComplete(long,unsigned long) mstscax.dll!CAAAsyncSend::OnComplete(long) mstscax.dll!CAARpcClientChannel::Shutdown(unsigned long,class IAAAsyncOperation *) mstscax.dll!CAAAsyncDisconnectChannel::Invoke(unsigned long,class CAAChannel *,class IAATransportChannel *) mstscax.dll!CAAChannel::DisconnectInternal(int,long) 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()
Descobrimos que isso é relacionado à mensagem de login no gateway. Se você desativar a mensagem de login no Gateway, isso funcionará!
Agora não sei por que isso acontece. Mas é uma solução rápida. E esperamos que a microsoft corrija esse bug.
Tags remote-desktop rdp gateway mstsc