Ho creato un servizio Windows in C#, l'ho installato su un server e sta funzionando bene.Come si configura il nome di un servizio Windows al momento dell'installazione (o facilmente in fase di compilazione)?
Ora voglio installare di nuovo lo stesso servizio, ma in esecuzione da una directory di lavoro diversa, con un file di configurazione diverso ecc. Quindi, mi piacerebbe avere due istanze dello stesso servizio in esecuzione simultaneamente . Inizialmente, questo non è possibile poiché l'installatore si lamenterà che esiste già un servizio con il nome specificato installato.
Posso ovviare a questo cambiando il mio codice, impostando la proprietà ServiceBase.ServiceName
su un nuovo valore, quindi ricompilando ed eseguendo nuovamente InstallUtil.exe. Tuttavia, io preferirei di gran lunga, se ho potuto impostare il nome del servizio al momento dell'installazione, cioè idealmente vorrei fare qualcosa di simile
InstallUtil.exe/i /servicename = "MyService grado 2" Servizio.exe
Se ciò non è possibile (ne dubito molto), mi piacerebbe poter inserire il nome del servizio quando creo il servizio. Ho pensato che potrebbe essere possibile utilizzare una sorta di evento di build, usare un abile msbuild o trucco nant o qualcosa del genere, ma non ne ho avuto la minima idea.
Qualsiasi suggerimento sarebbe molto apprezzato.
Grazie per il vostro tempo.
C'è un motivo per cui non hai dato il tuo servizio la possibilità di eseguire la logica di business in n-thread per i file di n-config? Così salvando il problema di istanze multiple dall'inizio? – Nate
Hmmm, potrebbe essere un buon punto. Ma il servizio è stato creato un anno fa, molto prima che mi rendessi conto che mi piacerebbe essere in grado di eseguire più istanze, quindi l'applicazione non è realmente progettata in modo appropriato. Tuttavia, ho trovato una soluzione e la pubblicherò in un secondo. – Rune