Windows 명령 프롬프트를 사용하여 Windows 서비스를 설치 하시겠습니까?


답변:


517

.net 폴더 (예 : .net 4의 경우 C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319)에서 installutil.exe로 이동하여 다음과 같이 서비스를 설치하십시오.

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"

35
x64 컴파일 서비스 인 경우 "C : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ installutil.exe"를 사용하십시오.
nme

20
이상한 오류가 발생합니다. RunInstallerAttribute를 사용하는 공개 설치 관리자가 없습니다. 예 속성은 .exe 어셈블리에서 찾을 수 있습니다. 설치 프로그램이 없으므로 InstallState 파일을 제거하십시오.
Nick

1
안녕하세요,이 솔루션을 시도했지만 "... 파일을 찾을 수 없거나 종속성 중 하나"로 예외가 발생했습니다. 도와주세요.
ShaileshDev

이 모든 저와 같은 문제를 가진 모든 사람들에게 : 더 이상 전체 경로를 넣을 필요는 없습니다. 간단한 installutil.exe "C : \ YourProject.exe"이면 충분합니다.
Cataklysim

1
@Cataklysim 경로 환경 변수에 추가하지 않는 한 전체 경로를 사용해야합니다.
BluE

211

SC Create 명령에 문제가 없습니다. 올바른 인수를 알아야합니다.

SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"

27
이것은 서비스를 설치 / 수정 / 삭제하는 공식적인 방법을 참조하는 유일한 답변입니다 . 또한 이것은 설치되는 .NET Framework에 의존하지 않으며 .NET 바이너리뿐만 아니라 모든 종류의 파일과 함께 작동합니다.
Alejandro

7
.. 그래서 나는이 접근법을 좋아하고 모든 .net fw 버전에 속할 수있는 exe로 모든 작업을 수행해야하기 때문에 항상 조언합니다.
Sid

1
이 명령은 Windows 서버 및 일부 이전 Windows 버전에서만 사용할 수 있습니다. Win 10에는 sc명령이 있지만 서비스가 다릅니다.
선장 Dashenka

4
"binpath ="뒤의 공백은 필수입니다. 아리따움
Urk

1
powershell을 사용하여이 명령을 실행하는 경우 SC는 Set-Content의 별명입니다. SC.exe를 작성하면 문제가 해결됩니다.
Jesper Riemer Andersen

84

디렉토리 이름에 공백이 있으면 c:\program files\abc 123경로 주위에 큰 따옴표를 사용해야합니다.

installutil.exe "c:\program files\abc 123\myservice.exe"

명령 프롬프트에서 Windows 서비스 설치

다음과 같이 박쥐 파일을 설정하면 훨씬 쉽게 작업 할 수 있습니다.

예를 들어 "A"학교 myserviceinstaller.bat "를 생성, 서비스를 설치하고 관리자 권한으로 실행 "

@echo off
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
installutil.exe "C:\Services\myservice.exe"

if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause

서비스를 제거하려면

그냥 추가 installutil 명령에 -u 를 .

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"

16

다음을 수행하십시오.

  1. 관리자 권한으로 명령 프롬프트 (CMD)를 시작하십시오.
  2. 유형 c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. 보도 return와 그의 그!

관리자 권한으로 열어야합니다. 그렇지 않으면 의미가없는 오류가 발생할 수 있습니다. 어떤 것이 있으면 먼저 관리자 권한으로 열 었는지 확인하십시오!

관리자 권한으로 열려면 '명령 프롬프트'를 마우스 오른쪽 단추로 클릭하고 ' 관리자 권한으로 실행'을 선택하십시오.

출처 : http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/


11

서비스 설치 :-

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" 
"C:\Services\myservice.exe"

서비스 설치 제거 :-

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"

6

이 스레드에서 하나 이상의 포인트를 추가해야합니다. 64-bit어셈블리 버전 을 설치 / 제거하려면 64-bit도구 버전을 사용해야합니다 . 서비스를 설치하려면 명령은 다음과 같아야합니다.

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"

명령을 제거하려면 다음과 같아야합니다.

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"

4

작성 *.bat하여 Windows 서비스의 옆에 파일 exe파일 설치에 대한 다음과 같은 컨텍스트를 :

CLS
ECHO Installing My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"

작성 *.bat하여 Windows 서비스의 옆에 파일 exe파일 제거에 대한 다음과 같은 컨텍스트를 :

CLS
ECHO Uninstalling My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"

Windows 서비스를 설치하거나 제거하려면 각 bat파일 을 관리자 권한 으로 실행하십시오 .


2
  1. 관리자 권한으로 Windows 명령 프롬프트 실행
  2. 이 코드를 붙여 : cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\폴더로 이동
  3. 이것을 편집하고 실행하십시오 : installutil C:\ProjectFolder\bin\Debug\MyProject.exe

참고 : 제거하려면 :installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe


2

Visual Studio를 열고 탭 Windows Service에서 템플릿 을 선택하여 새 프로젝트를 선택 Windows Desktop하십시오. 다음 코드를 service_name.cs 파일에 복사하십시오.

using System.Diagnostics;
using System.ServiceProcess;
namespace TimerService
{
    public partial class Timer_Service : ServiceBase
    {
        public Timer_Service()
        {
            InitializeComponent();
        }
        static void Main()
        {
            if (System.Diagnostics.Debugger.IsAttached)
            {
                Timer_Service service = new Timer_Service();
                service.OnStart(null);
            }
            else
            {
                ServiceBase[] ServicesToRun;
                ServicesToRun = new ServiceBase[]
                {
                    new Timer_Service()
                };
                ServiceBase.Run(ServicesToRun);
            }
        }
        protected override void OnStart(string[] args)
        {
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
        }
        protected override void OnStop()
        {            
            EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
        }
    }
}

service_name.cs 파일을 마우스 오른쪽 버튼으로 클릭하고 서비스 디자이너를 엽니 다. 마우스 오른쪽 버튼을 클릭하고을 선택하십시오 Add Installer. 보다 마우스 오른쪽 버튼으로 클릭 serviceProcessInstaller1하고 속성 값의 변경 Account에서 UserLocal System .

파일 static void main에서 메소드를 제거하십시오 Program.cs. 프로젝트를 저장하고 빌드하는 것보다.

참고 : 고토 bin\Ddebug프로젝트 폴더의 폴더. service_name.exe파일 의 열린 속성보다 . 고토 Compatibility탭 보다 . 를 클릭하십시오 Change Settings For All Users.

옵션을 선택하십시오 Run this program as an administrator.

이제 관리자 권한으로 CommandPromt를 열어야합니다. InstallUtil.exe파일 을 연 후 디렉토리를 파일이있는 위치로 설정하십시오. 예를 들어 : C:\Windows\Microsoft.NET\Framework64\v4.0.30319. 이제 다음 명령을 작성하십시오.

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe

참고 : -i는 설치 서비스 용이고 -u는 설치 제거 용입니다.

-i 이후에 서비스를 설치할 경로를 쓰십시오.

이제 다음과 같이 CommandPromt에 명령을 작성하십시오.

C:\TimerService\TimerService\bin\Debug>net start service_name

참고 :stop 서비스 중지에 사용 하십시오.

이제를 엽니 다 ViewEventLog.exe. Windows 로그> 응용 프로그램을 선택하십시오. 거기서 서비스를 시작하고 중지하여 서비스 로그를 확인할 수 있습니다.


2

Powershell을 사용 중이고 .NET 서비스를 설치하려는 경우 Install-Service 모듈을 사용할 수 있습니다 . InstalUtil 도구의 래퍼입니다.

그것은 3 명령을 노출

  • Install-Service- InstallUtil.exe pathToExecutable 명령을 호출합니다. 
  • Install-ServiceIfNotInstalled-먼저 Install-Service 메소드를 수행하지 않으면 서비스가 설치되었는지 확인합니다.
  • 제거 서비스-서비스를 제거합니다. Service 실행 파일의 경로 이름을 사용할 수 있습니다.

이 모듈의 코드는 여기에서 볼 수 있습니다


1
  1. 관리자 권한으로 명령 프롬프트 (CMD)를 시작하십시오.
  2. c : \ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe [Windows 서비스 경로 (exe)]를 입력하십시오.
  3. 보도 자료

1

다음 코드는 서비스를 설치 및 제거합니다.

명령 프롬프트를 열고 프로그램을 관리자 권한으로 실행하고 아래 명령을 실행 한 후 Enter 키를 누르십시오.

통사론

설치하기 위해서

C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe

예 : Our Path InstallUtil.exe C : \ MyFirstService \ bin \ Debug \ MyFirstService.exe

제거하려면

 C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe

예 : 경로 InstallUtil.exe -u C : \ MyFirstService \ bin \ Debug \ MyFirstService.exe

자세한 내용은 다음 링크를 참조하십시오. 샘플 프로그램


1

Windows 서비스를 배포 할 때 단계를 따르십시오. 시간을 잃지 마십시오.

1- 관리자 권한으로 명령 프롬프트 실행

2- IDE에서 컴파일 할 때 릴리스 모드에 대한 보장

3- 디자인 뷰에서 프로젝트 설치 프로그램에 유형 지정

4- 경우 에 따라 인증 유형을 선택하십시오

5-소프트웨어 종속성 확인 : 인증서를 사용중인 경우 올바르게 설치하십시오.

6- 콘솔로 이동하여 다음을 작성하십시오.

C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe

제거에 -i c:\사용할 수 있는 exe 경로 앞에 숨겨진 -i 인수 가 있습니다.-u

7- .exe 경로를보고 로그 파일을 찾습니다. 이벤트 뷰어를 사용 하여 기능에서 관찰 할 수 있습니다


1

관리자 권한으로 개발자 명령 프롬프트를 열고

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

여기서 이제 경로를 사용하여 .exe

InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"

0

닷넷 2 또는 4의 어셈블리 버전과 Visual Studio 프로젝트 Biuld 설정이 동일한 버전으로 설치 될 때.

installutil같은 버전으로 서비스를 설치하십시오

닷넷 4로 빌드하는 경우

유형 c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe

닷넷 2로 빌드하는 경우

유형 c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe


0

1. 시작 메뉴에서 Visual Studio 디렉토리를 선택한 다음 VS 용 개발자 명령 프롬프트를 선택하십시오.

2. Visual Studio 용 개발자 명령 프롬프트가 나타납니다.

3. 프로젝트의 컴파일 된 실행 파일이있는 디렉토리에 액세스하십시오.

프로젝트의 실행 파일을 매개 변수로 명령 프롬프트에서 InstallUtil.exe를 실행합니다.


-1

명령 프롬프트를 열고

C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"


-1

관리자 권한으로 명령 프롬프트를 열고 .exe상주하는 폴더로 이동하십시오 . Exe서비스로 설치하려면

D:\YourFolderName\YourExeName /i

제거하려면를 사용하십시오 /u.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.