Tentando obter um serviço do Windows para executar um executável em uma unidade compartilhada

StackOverflow https://stackoverflow.com/questions/134805

  •  02-07-2019
  •  | 
  •  

Pergunta

Eu tenho c # que será executado em um serviço do Windows. Eu estou tentando usar o processo e as classes ProcessStartInfo para executar um executável. Se o executável é na unidade local, não há problema. No entanto, eu preciso executar um arquivo executável em uma unidade compartilhada. Eu tentei usar a notação UNC (//machine_name/share_name/directory/runme.exe), mas o processo parece travar. O serviço ea unidade compartilhada estiver no Windows XP. Alguém já abordou esta questão antes?

Foi útil?

Solução

A sua conta do serviço está sendo executado como provavelmente não tem permissão para acessar a unidade compartilhada. Tente configurá-lo para ser executado como um usuário com permissão para a rede via o applet de serviços. Botão direito do mouse sobre o serviço, escolha Propriedades e definir a conta na guia login.

Outras dicas

O que conta é o serviço em execução como?

LocalSystem só vai permitir o acesso ao sistema de arquivos local. Se você quiser acessar um recurso de rede, você terá que executar o serviço como um usuário de domínio ou de rede.

Se o aplicativo na unidade compartilhada é um aplicativo .NET, verifique se ele tem confiança suficiente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top