2012-05-23 1 views
1

Visual Studio '05를 사용하여 Visual Basic에서 사용자 지정 Windows 서비스를 만들었습니다.배치에서 VB Windows 서비스를 시작할 수 없습니다.

이 서비스는 Windows Server 2003을 실행하는 우리 서버에 있습니다. 서비스를 수동으로 설치하면 Computer ManagementStart 서비스를 수동으로 실행할 때 완벽하게 실행됩니다.

NET START 명령을 사용하여 서비스를 시작하기위한 배치 파일을 만들었습니다. 배치 파일을 실행할 때마다 서비스가 시작되지 않습니다. 명령 프롬프트에서 다음 메시지가 나타납니다.

'서비스 이름'이 시작됩니다.

'서비스 이름'을 시작할 수 없습니다. 서비스가 오류를보고하지 않았습니다. NET HELPMSG 3543을 입력하면 도움을받을 수 있습니다.

잘 모르겠습니다. (몇 시간 동안 "인터넷 검색"되었습니다.) 수동으로 실행하면 시작되지만 배치 파일을 통해 시작되지는 않습니다. 감사!

+0

"관리자 권한으로 실행" –

+0

Windows Server 2003에 있습니다. "관리자 권한으로 실행"옵션이 없습니다. 또한 Admin으로 로그인했습니다. 감사! – 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]