Tentativo di ottenere un servizio Windows per eseguire un eseguibile su un'unità condivisa

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

  •  02-07-2019
  •  | 
  •  

Domanda

Ho c # che verrà eseguito in un servizio Windows. Sto cercando di utilizzare le classi Process e ProcessStartInfo per eseguire un eseguibile. Se l'eseguibile si trova sull'unità locale, nessun problema. Tuttavia, devo eseguire un eseguibile su un'unità condivisa. Ho provato a usare la notazione UNC (//machine_name/share_name/directory/runme.exe), ma il processo sembra bloccarsi. Il servizio e l'unità condivisa sono su Windows XP. Qualcuno ha affrontato questo problema prima?

È stato utile?

Soluzione

L'account in esecuzione sul tuo servizio probabilmente non dispone dell'autorizzazione per accedere all'unità condivisa. Prova a configurarlo per l'esecuzione come utente con l'autorizzazione alla rete tramite l'applet dei servizi. Fai clic con il pulsante destro del mouse sul servizio, scegli le proprietà e imposta l'account nella scheda di accesso.

Altri suggerimenti

Quale account esegue il servizio?

LocalSystem consentirà solo l'accesso al file system locale. Se desideri accedere a una risorsa di rete, dovrai eseguire il servizio come utente di dominio o di rete.

Se l'app sull'unità condivisa è un'app .Net, assicurarsi che abbia un'affidabilità sufficiente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top