I want to install a Windows service using a Windows command prompt (not the Visual Studio command prompt).
How do I do this?
I want to install a Windows service using a Windows command prompt (not the Visual Studio command prompt).
How do I do this?
Navigate to the installutil.exe in your .net folder (for .net 4 it's C:\Windows\Microsoft.NET\Framework\v4.0.30319 for example) and use it to install your service, like this:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
Regarding a comment, for 64bit apps, use below:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil.exe
Nothing wrong with SC Create command. Just you need to know the correct args :
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sc.exe
as sc
is the service control manager, which is another thing entirely. Documentation is here: learn.microsoft.com/en-us/windows-server/administration/… –
Pol If the directory's name has a space like c:\program files\abc 123
, then you must use double quotes around the path.
installutil.exe "c:\program files\abc 123\myservice.exe"
It makes things much easier if you set up a bat file like following,
e.g. To install a service, create a "myserviceinstaller.bat" and "Run as Administrator"
@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
to uninstall service,
Just add a -u to the installutil command.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"
InstallUtil
returns -1
if the command fails. You could rather check the error level with IF NOT '%ERRORLEVEL%' == '0'
in this context. –
Schnapps Perform the following:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
It's important to open with administrator rights otherwise you may find errors that come up that don't make sense. If you get any, check you've opened it with admin rights first!
To open with admin rights, right click 'Command Prompt' and select 'Run as administrator'.
Install Service:-
"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"
I must add one more point in this thread. To install/uninstall 64-bit
version of assemblies one should use 64-bit
version of tool. To install a service, the command should be:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"
and to uninstall the command should be:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Create a *.bat
file beside of your windows service exe
file for installing with the following context:
CLS
ECHO Installing My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"
Create a *.bat
file beside of your windows service exe
file for uninstalling with the following context:
CLS
ECHO Uninstalling My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"
Run each of bat
file as Admin to install or uninstall your windows service.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
to go to folderinstallutil C:\ProjectFolder\bin\Debug\MyProject.exe
Note: To uninstall: installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
open Developer command prompt as Admin and navigate to
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Now use path where is your .exe
there
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
If you are using Powershell and you want to install .NET service you can use Install-Service module. It is a wrapper for InstalUtil tool.
It exposes 3 commands
Code to this module can be viewed here
Open Visual studio and select new project by selecting Windows Service
template in Windows Desktop
tab. Than copy following code into your service_name.cs file.
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." });
}
}
}
Right-Click on service_name.cs file and open designer of service. than right-click and select Add Installer
. than right-click on serviceProcessInstaller1
and change its property value of Account
from User
to Local System
.
Remove static void main
method from Program.cs
file.
Than save and Build your project.
NOTE: goto bin\Ddebug
folder of your project folder. Than open Properties of your service_name.exe
file. Than goto Compatibility
tab. Than click on Change Settings For All Users
.
Select option Run this program as an administrator
.
Now, You have to open CommandPromt as Administrator.
After open, set directory to where your InstallUtil.exe
file is placed.
for ex: C:\Windows\Microsoft.NET\Framework64\v4.0.30319
.
now write the following command:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe
Note: -i is for install he service and -u for Unsinstall.
after -i set the write the path where you want to install your service.
now write the command in CommandPromt as follows:
C:\TimerService\TimerService\bin\Debug>net start service_name
Note: use stop
for stop the Service.
Now, open ViewEventLog.exe
. Select Windows Logs>Application. There you can check your Service's log by start and stop the service.
the following code , install and uninstall the Service,
Open the command prompt and run the program as an administrator and fire the below command and press enter.
Syntax
To Install
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
eg :Our Path InstallUtil.exe C:\MyFirstService\bin\Debug\MyFirstService.exe
To uninstall
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
eg : Our path InstallUtil.exe -u C:\MyFirstService\bin\Debug\MyFirstService.exe
for more help you can see the following link: sample program
Follow these steps when deploying the Windows Service, don't lose time:
Run command prompt by the Admin right
Insure about release mode when compilling in your IDE
Give a type to your project installer on design view
Select authentication type in accordance the case
Insure about software dependencies: If you are using a certificate install it correctly
Go your console write this:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
there is a hidden -i argument before the exe path -i c:\
you can use -u
for uninstallling
1.From the Start menu, select the Visual Studio directory, then select Developer Command Prompt for VS .
2.The Developer Command Prompt for Visual Studio appears.
3.Access the directory where your project's compiled executable file is located.
4.Run InstallUtil.exe from the command prompt with your project's executable as a parameter
when your assembly version and your Visual studio project Biuld setting on dot net 2 or 4 install with same version.
install service with installutil
that same version
if build in dot net 4
Type c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
if build in dot net 2
Type c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
you can do using command prompt and write: C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
General steps for a clean manual install/re-install of a Windows Service:
.exe
in the command promptSC CREATE
installutil
installutil
not found see hereYou can use InstallUtil to install any windows service. 1: C:\Windows\Microsoft.NET\Framework64\v4.0.30319 in command prompt running as Adminstrator. 2: Copy the Exe path and type InstallUtil.exe "your exe path" and hit enter.
If you want visual elaboration. Goto below link. It helped me alot.
You should open command prompt, go to
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Open command prompt as administrator, go to your Folder where your .exe
resides.
To Install Exe
as service
D:\YourFolderName\YourExeName /i
To uninstall use /u
.
© 2022 - 2024 — McMap. All rights reserved.