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

我怎么做呢?


当前回答

在你的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服务。

其他回答

安装服务:

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

卸载服务:-

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

我必须在这篇文章中再补充一点。要安装/卸载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"

以管理员身份运行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

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

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

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

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

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

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

如果你像下面这样设置一个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"