使用Windows命令提示符安装Windows服务?

我想使用Windows命令提示符(而不是Visual Studio命令提示符)安装Windows服务。

我怎么做呢?

864163 次浏览

导航到。net文件夹中的installutil.exe(对于。net 4,它是C:\Windows\Microsoft.NET\Framework\v4.0.30319),并使用它来安装您的服务,如下所示:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"

关于评论,对于64位应用程序,使用下面的方法:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil.exe

请执行以下操作:

  1. 以管理员权限启动命令提示符(CMD)。
  2. 类型c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. 返回,就是这样!

使用管理员权限打开是很重要的,否则您可能会发现出现一些毫无意义的错误。如果你得到任何,检查你已经打开它与管理权限第一!

以管理员权限打开,右键单击“命令提示符”并选择“以管理员身份运行”。

< p >来源: http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/ < / p >

如果目录名有像c:\program files\abc 123这样的空格,则必须在路径周围使用双引号。

installutil.exe "c:\program files\abc 123\myservice.exe"

从命令提示符安装windows服务

如果你像下面这样设置一个bat文件,事情就会简单得多,

例如,要安装一个服务,创建一个“myserviceinstaller.bat”和“以管理员身份运行

@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

要卸载服务,

只需在installutil命令中添加- u即可。

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319


C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"

当您的程序集版本和您的Visual studio项目在dot net 2或4上的biild设置安装相同的版本时。

安装服务installutil相同的版本

if build in dot net 4

类型c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe

if build in dot net 2

类型c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe

  1. 以管理员权限启动命令提示符(CMD)。
  2. 输入c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe[你的windows服务路径到exe]
  3. 按return键
  1. 管理员的方式运行Windows命令提示符
  2. 将此代码:cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\粘贴到文件夹
  3. 编辑并运行这个:installutil C:\ProjectFolder\bin\Debug\MyProject.exe

注意:卸载:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe

SC Create命令没有问题。 你只需要知道正确的参数:

SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"

< em >安装服务:- < / em >

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"

< em >卸载服务:- < / em >

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"

我必须在这篇文章中再补充一点。要安装/卸载64-bit版本的程序集,应该使用64-bit版本的工具。要安装一个服务,命令应该是:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"

而卸载命令应该是:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"

如果你正在使用Powershell并且你想要安装。net服务,你可以使用Install-Service模块。它是InstalUtil工具的包装器。

它公开了3个命令

  • Install-Service -调用InstallUtil.exe pathToExecutable命令
  • Install-ServiceIfNotInstalled -首先检查服务是否已安装 如果不执行Install-Service
  • 方法,则安装
  • Uninstall-Service-它卸载服务。可执行文件路径的ServiceName可以使用。

此模块的代码可以查看在这里

您应该打开命令提示符,转到

C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"

在你的windows服务exe文件安装旁边创建一个*.bat文件,使用以下上下文:

CLS
ECHO Installing My Windows Service


START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"

在你的windows服务exe文件对于卸载旁边创建一个*.bat文件,使用以下上下文:

CLS
ECHO Uninstalling My Windows Service


START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"

运行每个bat文件作为管理来安装或卸载windows服务。

打开Visual studio,在Windows Desktop选项卡中选择Windows Service模板,选择新项目。然后将以下代码复制到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." });
}
}
}

右键单击service_name.cs文件,打开服务的设计器。然后右键单击并选择Add Installer。右键单击serviceProcessInstaller1并将其属性值AccountUser更改为Local System

Program.cs文件中删除static void main方法。

.

.

注意:转到项目文件夹的bin\Ddebug文件夹。然后打开你的service_name.exe文件的属性。而不是去Compatibility标签。然后点击Change Settings For All Users

选择选项Run this program as an administrator

现在,您必须以管理员身份打开命令提示。 打开后,将directory设置为放置InstallUtil.exe文件的位置。 C:\Windows\Microsoft.NET\Framework64\v4.0.30319。 现在写以下命令:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe

注意: -i用于安装服务,-u用于卸载。

在-i设置后,写入您想要安装服务的路径。

现在在commandprompt中按如下方式写入命令:

C:\TimerService\TimerService\bin\Debug>net start service_name

注意:使用stop停止服务。

现在,打开ViewEventLog.exe。选择“Windows日志>应用程序”。在这里,您可以通过启动和停止服务来检查服务的日志。

以下代码,安装和卸载服务,

打开命令提示符,以管理员身份运行程序并执行以下命令并按enter。

语法

安装

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 \调试\ MyFirstService.exe < / em > < / p >

要卸载

 C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe

例如:我们的路径InstallUtil.exe -u C:\MyFirstService\bin\Debug\MyFirstService.exe

要获得更多帮助,您可以查看以下链接:示例程序

在部署Windows服务时,请遵循以下步骤,不要浪费时间:

  1. 以Admin权限运行命令提示符

  2. 在IDE中编译时确保发布模式

  3. 在设计视图上为项目安装程序提供一个类型

  4. 根据情况下选择认证类型

  5. 确保软件依赖:如果您正在使用证书,请正确安装它

  6. 去你的控制台写这个:

    C:\Windows\ Microsoft.NET \ Framework \ yourRecentVersion \ installutil.exe c: \ yourservice.exe

在exe路径-i c:\之前有一个隐藏的-i参数,您可以使用-u卸载

  1. 查看您的.exe路径,以查看日志文件。你可以使用事件查看器在特征中观察

以管理员身份打开命令提示符,进入.exe所在的文件夹。 Install Exe as service

. sh
D:\YourFolderName\YourExeName /i

卸载使用/u

1.从开始菜单中,选择Visual Studio目录,然后为VS选择开发人员命令提示符。

2.出现Visual Studio的开发人员命令提示符。

3.访问项目已编译的可执行文件所在的目录。

4.以项目的可执行文件作为参数,从命令提示符运行InstallUtil.exe

打开开发人员命令提示符为Admin并导航到

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

现在使用你的.exe所在的路径

InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"

你可以使用命令提示符并写入: C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i "窗口服务的.EXE文件"

您可以使用InstallUtil安装任何windows服务。 1: C:\Windows\Microsoft.NET\Framework64\v4.0.30319在命令提示符下以管理员身份运行。 2:复制Exe路径,输入InstallUtil.exe "你的Exe路径"

如果你想要视觉化的阐述。转到下面的链接。

< a href = " https://youtu。be/yrdyYxzI7SE" rel="nofollow noreferrer">https://youtu.be/yrdyYxzI7SE