일반 어플리케이션을 서비스로 만들어두면 오류시 재시동 등을 OS가 알아서 해주는 등 많은 장점이 있습니다. 이 짧은 글에서는 서비스로 만들 것을 고려하지 않은 어플리케이션을 서비스로 등록하는 방법에 대해 정리해 봅니다.
1. 먼저 instsrv.exe 와 srvany.exe 두 개의 파일이 필요합니다.
이 파일들은 윈도 리소스킷에 들어있으니 다음 위치에서 다운받아 설치하세요.
타이틀 ; Windows Server 2003 Resource Kit Tools
Supported Operating Systems: Windows Server 2003; Windows XP
파일명 : rktools.exe
2. 리소스킷을 설치했다면 커맨드창에서 다음과 같이 실행합니다.
instsrv "서비스이름" "서비스로 등록할 실행파일 전체 경로 포함된 파일명"
예) instsrv "TEST" "C:\TEST\TEST.EXE"
3. 레지스트리 편집기(regedit)에 들어가 방금 설치한 서비스 항목을 찾아 보면
다음과 같이 레지스트리 키가 생성 되었을 것입니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\서비스이름
예)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TEST
레지스트리에 생성된 서비스를 선택한 후, 마우스 오른쪽키를 눌러 "새로만들기-> 키" 를 클릭합니다.
새 키 이름을 'Parameters'로 변경합니다.
"Parameters" 키를 선택한 후, 마우스 오른쪽키를 눌러 "새로만들기->문자열 값"를 클릭합니다. 이름을 'Application' 이라고 변경합니다. 생성된 'Application' 을 더블클릭한 후 값데이터에 서비스로 등록할 프로그램의 전체 경로가 포함된 이름을 적어 주세요. ( 예) C:\test\test.exe )
만약 커맨드라인 파라미터가 필요하다면 'Pameters'키에 "문자열 값"을 추가하고 이름을 'AppParameters'라고 한 후, 값 데이터에 파라미터 값을 적어주면 됩니다.
"제어판->관리도구->서비스"에 표시되는 이름은 DisplayName 의 값에 설정합니다.
종속성을 설정해야하는 경우는, 서비스 이름을 클릭하면 우측에 표시되는 이름 중 DependOnService 항목에 값을 입력하면 됩니다. (예 : MSSQL에 종속되는 프로그램인 경우는 MSSQLSERVER 를 값으로 입력합니다.)
개발 툴에서 프로그래밍 할 경우에는 등록한 서비스 이름으로 처리해 줘야 합니다.
"제어판 -> 관리도구 -> 서비스" 에서 위에서 등록한 서비스를 관리할 수 있습니다.
출처 : www.delphi.co.kr
< 일부 내용은 보기 편하도록 추가 수정 삭제 하였습니다. >
'프로그래밍 > 윈도우' 카테고리의 다른 글
[윈도우] 원격데스크톱에서 윈도우키가 눌린 상태 해제하기 (0) | 2023.03.04 |
---|---|
[윈도우] 가는각진 제목체 폰트 (0) | 2023.03.04 |
[윈도우] wget 1.10 바이너리 / 소스 파일 (0) | 2023.03.04 |
[윈도우] MDAC 버전 확인하는 방법 (0) | 2023.03.04 |
[윈도우] npkcmsvc.exe 서비스 끄기 (0) | 2023.03.04 |
댓글