2012-05-23 101 views
1

我使用Visual Studios '05在Visual Basic中创建了自定义Windows服务。无法从批处理中启动VB Windows服务

该服务位于运行Windows Server 2003的服务器上。我已经安装了该服务,并且在手动进入Computer ManagementStart服务时运行良好。

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

'Service Name'正在启动。

'Service Name'无法启动。该服务没有报告错误。通过键入NET HELPMSG 3543可获得更多帮助。

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

+0

执行批处理文件“以管理员身份运行” –

+0

它在Windows Server 2003上。没有“以管理员身份运行”选项。另外,我以管理员身份登录。谢谢! – user1412961

+0

参考更多详细信息http://stackoverflow.com/questions/133883/stop-and-start-a-service-via-batch-or-cmd-file –

回答

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] 
相关问题