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

我怎么做呢?


当前回答

以管理员身份运行Windows命令提示符 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\到文件夹 installutil C:\ProjectFolder\bin\Debug\MyProject.exe

卸载方法:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe

其他回答

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

它公开了3个命令

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

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

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

使用installutil安装相同版本的service

如内置点网4个

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

如内置点网2

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

以管理员权限启动命令提示符(CMD)。 输入c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe[你的windows服务路径到exe] 按return键

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

CLS
ECHO Installing My Windows Service 

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

在windows service exe文件旁边创建一个*.bat文件,使用以下上下文进行卸载:

CLS
ECHO Uninstalling My Windows Service 

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

以Admin身份运行每个bat文件来安装或卸载windows服务。

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

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