Domanda

Nel processo di scrittura di un servizio che ho

        //# Service Account Information
        serviceProcessInstaller.Account = ServiceAccount.LocalSystem;

nel programma di installazione per questo.

Stavo avendo problemi a scrivere un registro

    static string USERS_HOME_DIR = Environment.GetEnvironmentVariable("HOMEDRIVE") + Environment.GetEnvironmentVariable("HOMEPATH");

Da quando il servizio era in esecuzione (installato "come amministratore") il logger dell'evento stava segnalando

Il servizio non può essere avviato. System.io.DirectoryNotFoundException: Impossibile trovare una parte del percorso 'C: Documents Cartella di interesse'

Ho bisogno dei sentieri degli utenti di Local_PC, qualche idea su come ottenerli?

AGGIORNARE

In realtà sarebbe meglio ottenere il percorso per l'utente attualmente registrato, poiché la loro sessione e il servizio iniziano. Il mio sevice non è rientrante ma un utente è migliore di nessuno.

È stato utile?

Soluzione

Se capisco correttamente la tua domanda, quello che stai cercando sono il Enumerazioni di cartelle speciali.

Con qualcosa di simile:

String PersonalFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);

Se si desidera eseguire il servizio come account LocalSystem, esiste una serie separata di standard per la memorizzazione dei dati. Vedere Questa risposta su Serverfault.

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