Voglio installare un servizio Windows usando un prompt dei comandi di Windows (non il prompt dei comandi di Visual Studio).
Come faccio a fare questo?
Voglio installare un servizio Windows usando un prompt dei comandi di Windows (non il prompt dei comandi di Visual Studio).
Come faccio a fare questo?
Risposte:
Passare a installutil.exe nella cartella .net (per .net 4 è C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 ad esempio) e utilizzarlo per installare il servizio, in questo modo:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
Niente di sbagliato nel comando SC Create. Devi solo conoscere gli argomenti corretti:
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sc
comando ma è qualcosa di diverso, non può essere usato per registrare servizi.
Se il nome della directory ha uno spazio simile c:\program files\abc 123
, è necessario utilizzare virgolette doppie attorno al percorso.
installutil.exe "c:\program files\abc 123\myservice.exe"
Semplifica le cose se imposti un file bat come segue,
ad es. Per installare un servizio, creare un "myserviceinstaller.bat" e " Esegui come amministratore "
@echo off
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
installutil.exe "C:\Services\myservice.exe"
if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause
per disinstallare il servizio,
Basta aggiungere un -u al comando installutil.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"
Eseguire quanto segue:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
È importante aprire con i diritti di amministratore, altrimenti potrebbero verificarsi errori che non hanno senso. Se ne ricevi, controlla prima di averlo aperto con i diritti di amministratore!
Per aprire con i diritti di amministratore , fai clic con il pulsante destro del mouse su "Prompt dei comandi" e seleziona "Esegui come amministratore".
Servizio di installazione: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
UnInstall Sevice: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
Devo aggiungere un altro punto in questo thread. Per installare / disinstallare la 64-bit
versione degli assiemi è necessario utilizzare la 64-bit
versione dello strumento. Per installare un servizio, il comando dovrebbe essere:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"
e per disinstallare il comando dovrebbe essere:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Creare un *.bat
file accanto al file del servizio exe
Windows per l'installazione con il seguente contesto:
CLS
ECHO Installing My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"
Creare un *.bat
file accanto al file del servizio exe
Windows per la disinstallazione con il seguente contesto:
CLS
ECHO Uninstalling My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"
Esegui ciascuno dei bat
file come amministratore per installare o disinstallare il servizio Windows.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
per andare alla cartellainstallutil C:\ProjectFolder\bin\Debug\MyProject.exe
Nota: per disinstallare:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
Apri Visual Studio e seleziona un nuovo progetto selezionando il Windows Service
modello nella Windows Desktop
scheda. Quindi copia il codice seguente nel tuo file service_name.cs.
using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
public partial class Timer_Service : ServiceBase
{
public Timer_Service()
{
InitializeComponent();
}
static void Main()
{
if (System.Diagnostics.Debugger.IsAttached)
{
Timer_Service service = new Timer_Service();
service.OnStart(null);
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Timer_Service()
};
ServiceBase.Run(ServicesToRun);
}
}
protected override void OnStart(string[] args)
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
}
protected override void OnStop()
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
}
}
}
Fare clic con il tasto destro sul file service_name.cs e aprire la finestra di progettazione del servizio. quindi fare clic con il tasto destro e selezionare Add Installer
. di fare clic con il tasto destro su serviceProcessInstaller1
e modificare il valore della proprietà da Account
da User
aLocal System
.
Rimuovi static void main
metodo dal Program.cs
file. Di salvare e costruire il tuo progetto.
NOTA: vai alla bin\Ddebug
cartella della cartella del tuo progetto. Quindi apri Proprietà del tuo service_name.exe
file. Quindi vai alla Compatibility
scheda. Quindi fare clic su Change Settings For All Users
.
Selezionare l'opzione Run this program as an administrator
.
Ora devi aprire CommandPromt come amministratore. Dopo l'apertura, impostare la directory su dove InstallUtil.exe
è posizionato il file. per esempio: C:\Windows\Microsoft.NET\Framework64\v4.0.30319
. ora scrivi il seguente comando:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe
Nota: -i è per l'installazione del servizio e -u per Unsinstall.
dopo -i impostare la scrittura il percorso in cui si desidera installare il servizio.
ora scrivi il comando in CommandPromt come segue:
C:\TimerService\TimerService\bin\Debug>net start service_name
Nota: utilizzare stop
per interrompere il servizio.
Ora apri ViewEventLog.exe
. Seleziona Registri di Windows> Applicazione. Lì puoi controllare il registro del tuo servizio avviando e arrestando il servizio.
Se si utilizza Powershell e si desidera installare il servizio .NET, è possibile utilizzare il modulo Installa-servizio . È un wrapper per lo strumento InstalUtil.
Espone 3 comandi
Il codice per questo modulo può essere visualizzato qui
il codice seguente, installa e disinstalla il Servizio,
Aprire il prompt dei comandi ed eseguire il programma come amministratore comando seguente e premere Invio.
Sintassi
Installare
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
ad esempio: Our Path InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
Per disinstallare
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
ad es .: il nostro percorso InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
per ulteriore aiuto puoi vedere il seguente link: programma di esempio
Segui i passaggi durante la distribuzione del servizio Windows, non perdere tempo
1- Eseguire il prompt dei comandi con il diritto di amministratore
2- Assicurati sulla modalità di rilascio durante la compilazione del tuo IDE
3- Assegnare un tipo al programma di installazione del progetto nella vista di progettazione
4- Selezionare il tipo di autenticazione in base al caso
5- Assicurare le dipendenze del software: se si utilizza un certificato, installarlo correttamente
6- Vai sulla tua console scrivi questo:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
c'è un argomento nascosto -i prima del percorso exe -i c:\
che puoi usare -u
per la disinstallazione
7- Cerca il tuo percorso .exe per sembrare un file di registro. È possibile utilizzare il Visualizzatore eventi per osservare nella funzione
apri il prompt dei comandi per gli sviluppatori come amministratore e vai a
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Ora usa il percorso dove sei .exe
lì
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
quando la versione dell'assembly e il progetto Visual Studio potrebbero essere impostati su dot net 2 o 4, installare con la stessa versione.
installa il servizio con installutil
quella stessa versione
se incorporato in dot net 4
genere c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
se incorporato in dot net 2
genere c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
1.Dal menu Start, selezionare la directory di Visual Studio, quindi selezionare Prompt dei comandi dello sviluppatore per VS.
2. Viene visualizzato il prompt dei comandi per sviluppatori per Visual Studio.
3.Accedere alla directory in cui si trova il file eseguibile compilato del progetto.
4. Eseguire InstallUtil.exe dal prompt dei comandi con l'eseguibile del progetto come parametro
Dovresti aprire il prompt dei comandi, vai a
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Apri il prompt dei comandi come amministratore, vai alla cartella in cui .exe
risiede. Installa Exe
come servizio
D:\YourFolderName\YourExeName /i
Per disinstallare utilizzare /u
.