gpt4 book ai didi

.net - 使用 InstallUtil 卸载不存在的服务

转载 作者:行者123 更新时间:2023-12-04 05:58:47 25 4
gpt4 key购买 nike

我正在使用我的服务的构建前和构建后事件来卸载和安装服务。唯一的问题是,其他开发人员第一次使用预构建事件时会失败,因为该服务尚未安装。

我当前卸载的预构建事件是

%WinDir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil /u $(TargetPath)

我如何使用它来 当服务已经安装时卸载?

最佳答案

您可以使用 Microsoft SC 工具 (Sc.exe) 来查询服务的状态,甚至可以创建或删除服务。这里有一篇关于这个命令的使用的文章:http://support.microsoft.com/kb/251192

从命令提示符窗口(内容编辑以强调):

C:\windows\system32>sc
DESCRIPTION:
SC is a command line program used for communicating with the
Service Control Manager and services.
USAGE:
sc <server> [command] [service name] <option1> <option2>...

The option <server> has the form "\\ServerName"
Further help on commands can be obtained by typing: "sc [command]"
Commands:
query-----------Queries the status for a service, or
enumerates the status for types of services.
queryex---------Queries the extended status for a service, or
enumerates the status for types of services.
start-----------Starts a service.
pause-----------Sends a PAUSE control request to a service.
continue--------Sends a CONTINUE control request to a service.
stop------------Sends a STOP request to a service.
delete----------Deletes a service (from the registry).
create----------Creates a service. (adds it to the registry).

运行此命令来查询 (A) 存在和 (B) 不存在的服务会导致:

(一种)
C:\Windows\System32>sc query W32Time

SERVICE_NAME: W32Time
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 1 STOPPED
WIN32_EXIT_CODE : 1077 (0x435)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

(乙)
C:\Windows\System32>sc query nothere
[SC] EnumQueryServicesStatus:OpenService FAILED 1060:

The specified service does not exist as an installed service.

因此,您可以在尝试使用以下内容删除服务之前测试服务是否存在 - (请原谅 FOR 语句的令人反感的使用,我不确定如何将 sc 命令的输出捕获到变量中或在 IF 语句中使用它)-
set svcname=W32Time
set svc=exists
for /f "delims=" %%o in ('sc query %svcname% ^| find "FAIL"') do set svc=notexists

if "%svc%"=="exists" sc delete %svcname%

关于.net - 使用 InstallUtil 卸载不存在的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com