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

时间:2011-11-17 09:32:08

标签: c# windows-services command-prompt

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

我该怎么做?

20 个答案:

答案 0 :(得分:444)

导航到.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"

答案 1 :(得分:126)

SC Create命令没有错。 只是你需要知道正确的args:

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

答案 2 :(得分:77)

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

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

Install windows service from command prompt

如果你设置一个如下所示的bat文件,它会让事情变得更容易,

e.g。要安装服务,请创建“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"

答案 3 :(得分:15)

执行以下操作:

  1. 以管理员权限启动命令提示符(CMD)。
  2. 输入c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. return 就是那个!
  4. 使用管理员权限打开很重要,否则您可能会发现没有意义的错误。如果你得到任何,请检查你是否先用管理员权限打开它!

    要使用管理员权限打开,请右键点击“命令提示符”,然后选择“以管理员身份运行”。

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

答案 4 :(得分:7)

安装服务: -

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

UnInstall服务: -

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

答案 5 :(得分:5)

我必须在这个帖子中再加一点。要安装/卸载64位版本的程序集,应使用64位版本的工具。要安装服务,命令应为:

"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"

答案 6 :(得分:2)

  1. 管理员
  2. 运行Windows命令提示符
  3. 粘贴此代码:cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\转到文件夹
  4. 也可以编辑并运行它:installutil C:\ProjectFolder\bin\Debug\MyProject.exe
  5. 注意:要卸载:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe

答案 7 :(得分:2)

如果您使用Powershell并且想要安装.NET服务,则可以使用Install-Service模块。它是InstalUtil工具的包装器。

它公开了3个命令

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

可以查看此模块的代码here

答案 8 :(得分:2)

在Windows服务*.bat文件用于安装的旁边,创建一个exe文件,具有以下上下文:

CLS
ECHO Installing My Windows Service 

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

在Windows服务*.bat文件旁边创建一个exe文件,用于卸载,并具有以下上下文:

CLS
ECHO Uninstalling My Windows Service 

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

以管理员身份运行每个bat文件以安装或卸载Windows服务。

答案 9 :(得分:1)

  1. 以管理员权限启动命令提示符(CMD)。
  2. 键入c:\ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe [您的Windows服务路径]
  3. 按返回

答案 10 :(得分:1)

以管理员身份打开Developer命令提示符,然后导航到

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

现在使用路径.exe在哪里

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

答案 11 :(得分:1)

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

打开 命令提示符并以管理员身份运行程序 ,并启动以下命令,然后按Enter。

语法

要安装

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

例如:我们的道路 InstallUtil.exe C:\ MyFirstService \ bin \ Debug \ MyFirstService.exe

要卸载

 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

要获取更多帮助,您可以查看以下链接:sample program

答案 12 :(得分:0)

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

如果你想要视觉上的阐述。转到下面的链接。 这对我帮助很大。

https://youtu.be/yrdyYxzI7SE

答案 13 :(得分:0)

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

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

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

4。在命令提示符下运行InstallUtil.exe,将项目的可执行文件作为参数

答案 14 :(得分:0)

简化Windows服务的部署步骤,不要浪费时间

1-通过管理员权限运行命令提示符

2-在您的IDE中编译时确保释放模式

3-在设计视图中为项目安装程序提供一种类型

4-根据case

选择身份验证类型

5-确保软件相关性:如果您使用的是证书,请正确安装

6-在控制台上输入以下内容:

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

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

7-查找显示日志文件的.exe路径。您可以使用事件查看器访问observing in the feature

答案 15 :(得分:0)

打开Visual Studio并通过选择Windows Service标签中的Windows Desktop模板来选择新项目。将以下代码复制到您的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

static void main文件中删除Program.cs方法。 比保存并构建您的项目。

注意:转到项目文件夹的bin\Ddebug文件夹。比您的service_name.exe文件的打开属性。比转到Compatibility标签。比点击Change Settings For All Users

选择选项Run this program as an administrator

现在,您必须以管理员身份打开CommandPromt。 打开后,将目录设置为放置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设置之后,在您要安装服务的位置写写路径。

现在在CommandPromt中编写命令,如下所示:

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

注意:使用stop停止服务。

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

答案 16 :(得分:0)

当您的汇编版本和您的Visual Studio项目在点网2或4上的Biuld设置安装相同版本时。

使用相同版本的installutil安装服务

如果在dot net 4中构建

输入c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe

如果在dot net 2中构建

输入c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe

答案 17 :(得分:-1)

以管理员身份打开命令提示符,转到.exe所在的文件夹。 要将Exe作为服务安装

D:\YourFolderName\YourExeName /i

要卸载,请使用/u

答案 18 :(得分:-1)

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

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

答案 19 :(得分:-1)

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