安装util在错误的文件夹上查找服务

Nah*_*hum 3 .net c# service installutil batch-file

3我正在尝试使用批处理文件安装Windows服务,我们称之为"setup.bat".在文件中我有以下命令:

"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil" "MyService.exe"
Run Code Online (Sandbox Code Playgroud)

当我执行批处理文件(在windows7上以管理员身份运行)时,我得到了这个:

初始化安装时发生异常:System.IO.FileNotFoundException:无法加载文件或程序集'file:/// C:\ Win dows\system32\MyService.exe'或其依赖项之一.系统无法指定指定的文件.实际服务位于 "SomeRandomLocation\MyService.exe". bat文件中 "SomeRandomLocation\setup.bat"

到底是怎么回事?如何从我的"setup.bat"文件夹强制安装它?

这应该是动态的.意思是任何文件夹!

dbe*_*ham 7

我对安装过程一无所知.但是%~dp0会给出运行批处理文件的绝对路径.因此,如果你的exe在同一个文件夹中,你可以尝试:

"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil" "%~dp0MyService.exe"
Run Code Online (Sandbox Code Playgroud)