alexandrosangeli Asked: 2022-06-11 06:07:35 +0800 CST2022-06-11 06:07:35 +0800 CST 2022-06-11 06:07:35 +0800 CST 如何使用不同于 system32 的工作目录启动 Windows 服务 772 有没有办法sc在 Windows 上使用(或任何其他工具)启动服务并将其工作目录设置为不同于C:\Windows\system32(默认目录)的目录? 我知道我可以在服务的源代码中指定它,但我正在寻找一种不涉及修改服务源代码的解决方案。 windows-10 windows 2 个回答 Voted Best Answer harrymc 2022-06-11T07:06:05+08:002022-06-11T07:06:05+08:00 服务从称为服务控制管理器的应用程序启动。此应用程序位于系统目录中%WinDir%\System32 ,这是它的当前工作目录。 系统服务启动时,默认继承服务控制管理器的所有属性和服务定义中指定的参数。 不幸的是,当前工作目录不是这些参数之一,正如您在 ChangeServiceConfigA 函数中看到的那样。 如果您希望更改服务的当前工作目录,则需要从服务本身内部进行。 spikey_richie 2022-06-11T06:42:03+08:002022-06-11T06:42:03+08:00 是的。 你会运行这个命令 %Systemroot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil /i /ServiceName=ServiceName "C:\path to your service executable\NameOfYourService.exe" 要卸载它,您将替换/i为/u. 要启动服务sc,请像往常一样使用并传入服务名称。
服务从称为服务控制管理器的应用程序启动。此应用程序位于系统目录中
%WinDir%\System32
,这是它的当前工作目录。系统服务启动时,默认继承服务控制管理器的所有属性和服务定义中指定的参数。
不幸的是,当前工作目录不是这些参数之一,正如您在 ChangeServiceConfigA 函数中看到的那样。
如果您希望更改服务的当前工作目录,则需要从服务本身内部进行。
是的。
你会运行这个命令
要卸载它,您将替换
/i
为/u
.要启动服务
sc
,请像往常一样使用并传入服务名称。