正确的InstallUtil文件路径语法是什么?

11

我正在尝试使用批处理文件安装Windows服务,让我们称之为"installservice.bat"。文件中包含以下命令:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -i ".\MyService.exe"
    pause

当我以管理员身份运行批处理文件(在Vista上运行)时,我遇到了以下问题:

在初始化安装程序时发生异常:
System.IO.FileNotFoundException: 找不到文件'C:\Win
dows\system32\MyService.exe'或该文件的某个依赖项。系统无法找到指定的文件。

实际的服务位于C:\Services\MyService.exe。为使其正常工作,".\MyService.exe"应该如何修改?

答:将".\MyService.exe"修改为"C:\Services\MyService.exe"即可。
3个回答

10

提醒其他可能遇到此错误的人......当您运行 InstallUtil.exe 时,如果服务路径包含空格,请用引号括起来。是的,这很明显,但是如果您没有这样做,它给出的错误信息就不是那么明显。

wrong...

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe C:\Users\joeblow\Documents\Visual Studio 2010\Projects\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe

正确...

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe "C:\Users\joeblow\Documents\Visual Studio 2010\Projects\WindowsService1\WindowsService1\bin\Debug\WindowsService1.exe"

3
为什么不直接将完整路径提供给InstallUtil呢?

0

复制bat文件MyService.exe到文件夹中并执行,您将不会收到任何错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接