답변:
.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"
SC Create 명령에 문제가 없습니다. 올바른 인수를 알아야합니다.
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sc
명령이 있지만 서비스가 다릅니다.
디렉토리 이름에 공백이 있으면 c:\program files\abc 123
경로 주위에 큰 따옴표를 사용해야합니다.
installutil.exe "c:\program files\abc 123\myservice.exe"
다음과 같이 박쥐 파일을 설정하면 훨씬 쉽게 작업 할 수 있습니다.
예를 들어 "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"
다음을 수행하십시오.
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
관리자 권한으로 열어야합니다. 그렇지 않으면 의미가없는 오류가 발생할 수 있습니다. 어떤 것이 있으면 먼저 관리자 권한으로 열 었는지 확인하십시오!
관리자 권한으로 열려면 '명령 프롬프트'를 마우스 오른쪽 단추로 클릭하고 ' 관리자 권한으로 실행'을 선택하십시오.
서비스 설치 :-
"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"
이 스레드에서 하나 이상의 포인트를 추가해야합니다. 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"
작성 *.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
파일 을 관리자 권한 으로 실행하십시오 .
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
폴더로 이동installutil C:\ProjectFolder\bin\Debug\MyProject.exe
참고 : 제거하려면 :installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
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
에서 User
에Local 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 로그> 응용 프로그램을 선택하십시오. 거기서 서비스를 시작하고 중지하여 서비스 로그를 확인할 수 있습니다.
Powershell을 사용 중이고 .NET 서비스를 설치하려는 경우 Install-Service 모듈을 사용할 수 있습니다 . InstalUtil 도구의 래퍼입니다.
그것은 3 명령을 노출
다음 코드는 서비스를 설치 및 제거합니다.
명령 프롬프트를 열고 프로그램을 관리자 권한으로 실행하고 아래 명령을 실행 한 후 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
자세한 내용은 다음 링크를 참조하십시오. 샘플 프로그램
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 경로를보고 로그 파일을 찾습니다. 이벤트 뷰어를 사용 하여 기능에서 관찰 할 수 있습니다
관리자 권한으로 개발자 명령 프롬프트를 열고
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
여기서 이제 경로를 사용하여 .exe
이
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
닷넷 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