Tentando obter um serviço do Windows para executar um executável em uma unidade compartilhada
-
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?
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.
Tenha um olhar para isto: http://forums.microsoft .com / MSDN / ShowPost.aspx? PostID = 471168 & SiteID = 1
Isso deve ajudar.
Se o aplicativo na unidade compartilhada é um aplicativo .NET, verifique se ele tem confiança suficiente.