방법: Windows 서비스 설치 및 제거
Warning
이 설명서는 최신 버전의 Windows Service를 위한 것이 아닙니다. BackgroundService 및 Worker Service 템플릿을 사용하는 Windows Services의 최신 콘텐츠는 다음을 참조하세요.
.NET Framework를 사용하여 Windows 서비스를 개발하는 경우 InstallUtil.exe 명령줄 유틸리티 또는 PowerShell을 사용하여 서비스 앱을 빠르게 설치할 수 있습니다. 사용자가 설치하고 제거할 수 있는 Windows 서비스를 릴리스하려는 개발자는 별도의 비용이 없는 WiX Toolset나 Advanced Installer, InstallShield 등의 상용 도구를 사용할 수 있습니다. 자세한 내용은 설치 관리자 패키지 만들기(Windows 데스크톱)를 참조하세요.
Warning
서비스를 컴퓨터에서 제거하려면 이 문서의 단계를 수행하는 대신 서비스를 설치한 프로그램 또는 소프트웨어 패키지를 확인한 다음, 설정에서 앱을 선택하여 해당 프로그램을 제거합니다. 많은 서비스는 Windows의 필수 요소이므로 제거하는 경우 시스템이 불안정해질 수 있습니다.
이 문서의 단계를 수행하려면 먼저 Windows 서비스에 서비스 설치 관리자를 추가해야 합니다. 자세한 내용은 연습: Windows 서비스 앱 만들기를 참조하세요.
F5 키를 눌러 Visual Studio 개발 환경에서 직접 Windows 서비스 프로젝트를 실행할 수 없습니다. 프로젝트를 실행하려면 먼저 프로젝트에 서비스를 설치해야 합니다.
팁
서버 탐색기를 사용하여 서비스가 설치되거나 제거되었는지 확인할 수 있습니다.
InstallUtil.exe 유틸리티를 사용하여 설치
시작 메뉴에서 Visual Studio <version> 디렉터리를 선택한 다음, Developer Command Prompt for VS <version>을 선택합니다.
Visual Studio용 개발자 명령 프롬프트가 나타납니다.
프로젝트의 컴파일된 실행 파일이 있는 디렉터리에 액세스합니다.
프로젝트의 실행 파일을 매개 변수로 사용하여 명령 프롬프트에서 InstallUtil.exe를 실행합니다.
installutil <yourproject>.exe
Visual Studio용 개발자 명령 프롬프트를 사용하는 경우 InstallUtil.exe가 이미 시스템 경로에 있습니다. 그렇지 않으면 해당 파일을 경로에 추가하거나 정규화된 경로를 사용하여 호출하면 됩니다. 이 도구는 %WINDIR%\Microsoft.NET\Framework[64]\<framework_version>에 .NET Framework와 함께 설치됩니다.
예시:
- 32비트 버전의 .NET Framework 4 또는 4.5 이상인 경우 Windows 설치 디렉터리가 C:\Windows이면 기본 경로는 C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe입니다.
- 64비트 버전의 .NET Framework 4 또는 4.5 이상인 경우 기본 경로는 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe입니다.
InstallUtil.exe 유틸리티를 사용하여 제거
시작 메뉴에서 Visual Studio <version> 디렉터리를 선택한 다음, Developer Command Prompt for VS <version>을 선택합니다.
Visual Studio용 개발자 명령 프롬프트가 나타납니다.
프로젝트의 출력을 매개 변수로 사용하여 명령 프롬프트에서 InstallUtil.exe를 실행합니다.
installutil /u <yourproject>.exe
서비스의 실행 파일을 삭제해도 서비스가 레지스트리에 남아 있을 수 있습니다. 이러한 경우에는 sc delete 명령을 사용하여 레지스트리에서 서비스의 항목을 제거합니다.
PowerShell을 사용하여 설치
시작 메뉴에서 Windows PowerShell 디렉터리를 선택한 다음, Windows PowerShell을 선택합니다.
프로젝트의 컴파일된 실행 파일이 있는 디렉터리에 액세스합니다.
서비스 이름과 프로젝트의 출력을 인수로 사용하여 New-Service cmdlet을 실행합니다.
New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
PowerShell을 사용하여 제거
시작 메뉴에서 Windows PowerShell 디렉터리를 선택한 다음, Windows PowerShell을 선택합니다.
서비스 이름을 인수로 사용하여 Remove-Service cmdlet을 실행합니다.
Remove-Service -Name "YourServiceName"
참고 항목
이 cmdlet을 사용하려면 PowerShell 6 이상이 있어야 합니다. PowerShell 업데이트에 대한 자세한 내용은 Windows에 PowerShell 설치를 참조하세요.
서비스의 실행 파일을 삭제해도 서비스가 레지스트리에 남아 있을 수 있습니다. 이러한 경우에는 sc delete 명령을 사용하여 레지스트리에서 서비스의 항목을 제거합니다.
sc.exe delete "YourServiceName"
참고 항목
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기