O programa executado a partir de uma pasta onde uma pasta pai não está acessível não poderá usar a camada tcp

O programa executado a partir de uma pasta onde uma pasta pai não está acessível não poderá usar a camada tcp

Esse problema levou muitas horas para ser identificado por mim e pelo departamento de TI de nossa empresa.

O problema aparece apenas no Windows server 2008, windows 7 e windows 8. No Windows XP ou Windows server 2003 não temos problemas.

Estamos tendo um programa que desenvolvemos internamente em nossa empresa. O programa funciona bem e o problema não é específico deste programa.

O programa usa localhost para se comunicar com outros programas em execução no computador usando webservices. O problema em questão é que esta comunicação não funciona se o programa estiver localizado na pasta Home do usuário.

Depois de passar muitas horas descobrindo por que isso acontece, percebemos recentemente que o problema desaparece se o usuário tiver acesso a todas as pastas pai no caminho UNC para o arquivo executável.

Portanto, se a unidade inicial estiver montada em H: = \SomeServer\hdrive$\SomeUser e o usuário não tiver acesso a \SomeServer\hdrive$ então nosso programa receberá erros de TCP e os serviços da web não funcionarão.

Se o usuário obtiver apenas a permissão "Listar conteúdo da pasta" nesse caminho, os serviços da web funcionarão.

Caso contrário, o programa funciona bem. Verificamos se todos os arquivos DLL foram vinculados com sucesso e se nenhum outro erro ocorreu.

Isso parece ser algo que o sistema operacional está fazendo. Alguém sabe por que isso acontece?

Responder1

No Windows 7 e superior, determinadas pastas são protegidas por padrão. Meu entendimento é que isso é por razões de segurança. ou seja. Torna mais difícil para o programa A modificar secretamente uma dll usada pelo programa B.

Freqüentemente, descobri que, se clicar com o botão direito do mouse no programa em questão e executar "como administrador", ele funcionará perfeitamente. Não tenho certeza se isso funcionaria no seu caso.

informação relacionada