【发布时间】:2013-09-09 12:30:51
【问题描述】:
首先要说的是,我通常使用 InstallUtil 命令在 visual studio command prompt 2010 中安装我的 windows 服务。
是否可以通过开始调试 (F5) 直接从 Visual Studio 安装我的 Windows 服务?
我尝试在我的 Windows 服务项目属性中的“调试”选项卡下启动 cmd.exe:
启动外部程序: C:\Windows\System32\cmd.exe
命令行参数: /k "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86(使用此 InstallUtil在 cmd 中作为命令启用)
使用该 cmd 将打开。我希望当 cmd 运行时它会自动执行:
InstallUtil 我的服务名称
(当 cmd 启动时,它已经在 myservice.exe 所在的 Debug 文件夹中)
这有可能吗?
【问题讨论】:
-
我设法做到了。 命令行参数需要添加:& InstallUtil HostingWindowsService.exe,它将在第一部分之后(&之前)执行,因此“说" cmd 语言。现在我已经自动安装了该服务,但要卸载它,我仍然需要在该 cmd 窗口中键入 sc delete myServiceName。
-
我有 8 小时无法回答我的问题,所以我暂时写在这里:启动外部程序: C:\Windows\System32\cmd. exe(您的 cmd.exe 路径)命令行参数 /k "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 & sc delete MyServiceName & InstallUtil MyServiceFileName.exe & Exit(别忘了改成你的路径)
-
MyServiceName 是 ProjectInstaller.cs 中 serviceInstaller 的 ServiceName 属性的值(由 VS 生成)MyServiceFileName 是您的已编译 *.exe 文件的名称调试文件夹。可能与项目名称相同。
标签: visual-studio-2010 windows-services cmd command-line-arguments installutil