无法从批处理启动VB Windows服务

时间:2012-05-23 15:15:22

标签: vb.net windows-services batch-file windows-server-2003

我使用Visual Studios '05在Visual Basic中创建了一个自定义Windows服务。

该服务位于运行Windows Server 2003的服务器上。我已安装该服务,当我手动进入Computer ManagementStart服务时,它运行正常。

我已使用NET START命令创建了一个批处理文件来启动服务。每当我运行批处理文件时,服务都无法启动。我从命令提示符处收到此消息:

  

“服务名称”正在启动。

     

无法启动“服务名称”。该服务未报告错误。输入NET HELPMSG 3543即可获得更多帮助。

我不知道该怎么做。 (已经“谷歌搜索”了几个小时。)它在我手动运行时启动,但它不会通过批处理文件启动。谢谢!

1 个答案:

答案 0 :(得分:0)

尝试强制它在批处理文件中提升。

@ECHO OFF
:: Automatically elevate...

@ECHO OFF
SETLOCAL

:: Check if script was run with administrator privilages
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

:: If the error flag is set, we do not have admin.
    IF "%ERRORLEVEL%"=="0" GOTO GOTADMIN

:UACPROMPT
    ECHO. Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    ECHO. UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%TEMP%\getadmin.vbs"
    EXIT /B

:GOTADMIN
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    CD /D "%~dp0"
ENDLOCAL
GOTO SCRIPTSTART


:: THE ACTUAL SCRIPT STARTS HERE
:SCRIPTSTART
NET START [whatever service]