본문 바로가기
C#

C#] Windows 서비스에 설치 관리자 추가

by Fastlane 2022. 11. 24.
728x90
반응형

출처 : https://learn.microsoft.com/ko-kr/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer

 

installutil.exe를 이용해서 윈도우 서비스 설치하니 아래와 같은 오류가 발생했다. 

어셈블리 'd:\api\bin\TestService.exe'을(를) 설치하고 있습니다.
영향을 받는 매개 변수:
   logtoconsole = 
   assemblypath = d:\api\bin\TestService.exe
   logfile = d:\api\bin\BizNumService.InstallLog
d:\api\bin\TestService.exe 어셈블리에서 RunInstallerAttribute.Yes 특성을 포함하는 공용 설치 관리자를 찾을 수 없습니다.

 

윈도우 서비스 코드에 설치 관리자를 추가해보자. 

1. 솔루션 탐색기에서 우측클릭하여 '디자이너 보기'를 한다. 

2. 디자인 뷰에서 우측클릭하여 '설치 관리자 추가'를 선택한다. 

3. ProjectInstaller 디자인뷰에 serviceInstaller1이 보인다. 선택한다음 우측클릭하여 속성을 선택한다. 

4. 속성 창에 ServiceName 선택하고 Description과 DisplayName을 설정한다. 

StartType을 Automatic으로 설정한다. 

5. ProjectInstaller 디자인뷰에서 serviceProcessInstall1을 선택한 다음 속성을 선택한다. 

Account 속성을 LocalSystem으로 설정한다. 

 

이제 서비스를 설치해보자. 

개발자 명령 프롬프트를 실행한다음 exe파일 경로로 이동한다. 

다음 명령어를 실행한다. 

installutil Service.exe

C:\Project\git_windowservice\windowservice\TestService\bin\Debug>installutil TestService.exe
Microsoft (R) .NET Framework Installation utility Version 4.8.4084.0
Copyright (C) Microsoft Corporation. All rights reserved.


트랜잭트 설치를 실행하고 있습니다.

설치의 Install 단계를 시작하고 있습니다.
C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.exe 어셈블리의 진행 상황을 보려면 로그 파일 내용을 검토하십시오.
파일은 C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.InstallLog 위치에 있습니다.
어셈블리 'C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.exe'을(를) 설치하고 있습니다.
영향을 받는 매개 변수:
   logtoconsole =
   logfile = C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.InstallLog
   assemblypath = C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.exe
BizNumService 서비스를 설치하고 있습니다...
BizNumService 서비스가 설치되었습니다.
EventLog 소스 TestService(를) 로그 Application에 만들고 있습니다...

Install 단계는 완료되었으며 Commit 단계를 시작하고 있습니다.
C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.exe 어셈블리의 진행 상황을 보려면 로그 파일 내용을 검토하십시오.
파일은 C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.InstallLog 위치에 있습니다.
어셈블리 'C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.exe'을(를) 커밋하고 있습니다.
영향을 받는 매개 변수:
   logtoconsole =
   logfile = C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.InstallLog
   assemblypath = C:\Project\git_windowservice\windowservice\TestService\bin\Debug\TestService.exe

Commit 단계가 완료되었습니다.

트랜잭트 설치가 완료되었습니다.

설치가 완료 되었고, Windows에서 서비스가 등록된 것을 확인할 수 있다. 

서비스를 선택하여 시작을 클릭한다. 

728x90
반응형

댓글