2012-12-28 12 views
33

Ho installato un servizio Windows C# su Windows Server 2008. L'ho installato con InstallUtil. Il servizio legge alcuni dati dal file app.config e lo sta facendo bene. Puoi dirmi dove si trova questo file dopo aver installato il servizio? Ho cercato ore ma non riesco a trovarlo.Ubicazione servizio app.config

risposta

49

è possibile verificare la posizione esatta del servizio di Windows installato seguendo la procedura di seguito:

  1. visualizzare l'elenco dei servizi Windows facendo clic sull'icona "Servizi" sotto l'icona "Strumenti di amministrazione". Puoi anche ottenere questo elenco digitando "Visualizza servizi locali" nel menu Cerca sotto il menu Start.

  2. Selezionare il servizio Windows nell'elenco dei servizi installati, fare clic con il tasto destro del mouse e selezionare Proprietà. Puoi anche fare doppio clic sulla riga che rappresenta il servizio.

  3. Individuare il valore "Percorso su eseguibile" nella finestra di dialogo Proprietà. Il valore includerà tutti i parametri della riga di comando.

  4. Aprire la cartella in cui risiede l'eseguibile del servizio.

Se il servizio di Windows è stato costruito con .NET Framework, la sua configurazione viene memorizzata nel file .config corrispondente, vale a dire, il nome del file eseguibile seguito dal suffisso ".config", ad esempio, se il nome dell'eseguibile è "XyzService.exe", quindi il nome del file .config sarà "XyzService.exe.config".

Un paio di cose da notare:

  • Se è stato installato il servizio dopo la costruzione sulla stessa macchina utilizzando per esempio, Visual Studio, quindi Visual Studio avrebbero trasformato il file App.config dal progetto e collocato automaticamente nella cartella di output della build (e rinominato in modo appropriato usando la convenzione di denominazione sopra).

  • Se la macchina è impostata per nascondere le estensioni di file in Esplora risorse, verranno visualizzati 2 file "XyzService" e "XyzService.exe". In questo caso, "XyzService.exe" è il tuo file di configurazione. Se si disattiva l'opzione per nascondere le estensioni di file in Esplora risorse, verrà quindi visualizzato "XyzService.exe" e "XyzService.exe.config".

  • Se non è possibile trovare un file .exe.config corrispondente, è possibile che il codice all'interno del servizio ricada sui valori predefiniti. In questo caso, è possibile posizionare un file di configurazione correttamente denominato e formattato insieme all'eseguibile del servizio e quindi riavviare il servizio e tutto dovrebbe andare bene.

+2

Ottima risposta. Proprio quello di cui avevo bisogno. Ho guardato e abbastanza sicuro che mancava il mio file di configurazione. una volta che l'ho inserito nella stessa posizione di EXE, il servizio è stato in grado di avviarsi. Grazie mille. Ho salvato la mia giornata! – Paula

1

Lo stesso luogo in cui si trova l'applicazione (servizio di Windows).

Verificare, se non è lì, inserirlo nella stessa directory di servizio.

+1

installUtil è solo uno strumento da installare, non cambierà la posizione di app.config. Registra semplicemente il servizio Windows –

3

È lo stesso percorso da cui è stato registrato il servizio utilizzando lo strumento installutil.

+0

L'ho installato dalla cartella System32, ma non c'è alcun file lì che assomiglia a un file app.config – Aaron

+0

Sarà .exe.config. Ad esempio se l'applicazione di servizio è abc.exe, config sarà abc.exe.config – Tilak

+1

mitte controllare se Windows Explorer è impostato per nascondere le estensioni di file, in tal caso, cercare ServiceName.exe anziché ServiceName.exe.config. –

2

App.config è probabilmente chiamato {ProjectName}.exe.config dato che si tratta di un servizio di Windows. Controlla se quel file esiste ed è quello che stai cercando.

0

Se si dispone di un ambiente live (e dalla tua domanda sembra che tu lo faccia), è possibile verificare cosa sta effettivamente accadendo utilizzando l'utilità di Process Monitor superiore. Ma di solito il file .config si trova proprio accanto al .exe, e lo stesso nome.

4

Secondo Microsoft

Per eseguibili client, il file di configurazione dell'applicazione risiede nel stessa directory eseguibile dell'applicazione e ha lo stesso nome base come l'eseguibile con estensione config.

nota, se il vostro exe si chiama appname.exe, e si dispone di Windows Explorer impostato per nascondere le estensioni, quindi l'applicazione apparirà come nomeapp e il vostro file di configurazione allora sarà visualizzato come appname.exe (anche se il vero nome è appname.exe.config)

Come altri hanno sottolineato, InstallUtil non fa nulla con il file di configurazione e dovrebbe essere copiato sul server nello stesso modo del file stesso.