그래서 작은 서비스 프로그램을 만들었는데 시작되지 않습니다. 자체적으로 설치되지만 자동 시작에는 없습니다. Windows 7, 64 비트 시스템에 있습니다.
서비스에서 찾으면 서비스를 마우스 오른쪽 버튼으로 클릭하고 시작하면 약 30 초 후에 오류 1053과 함께 시간이 초과됩니다.
디버그가 아닌 릴리스로 프로그램을 실행하고 있습니다. 로컬 관리자로 설치하고 모든 작업을 로컬 관리자로 시도했습니다. OnStart () 및 OnStop () 메서드는 코드없이 비어 있습니다. 나는 그것이 될 수있는 것을 제거하기 위해 모두 제거했습니다. OnStart () 시작시 작동하는 것으로 알고있는 작은 로깅 작업 (설치가 성공하면 로그 파일을 만드는 데 사용)을 시도했지만 도달하지 못했습니다.
도움?
편집하다:
내 Program.cs 코드는 다음과 같습니다.
namespace TestService
{
static class Program
{
// The main entry point for the application.
static void Main()
{
//Install self
SelfInstaller.InstallMe();
}
}
}
내 Library.cs는 다음과 같습니다.
namespace TestService
{
//Library to store public methods
public static class Library
{
//Method to write to a logfile
public static void WriteLogFile(string Message)
{
StreamWriter sw = null;
try
{
sw = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "\\Logfile.txt", true);
sw.WriteLine(DateTime.Now.ToString() + ": " + Message.ToString());
sw.Flush();
sw.Close();
}
catch
{
//empty
}
}
}
}
내 Service1.cs는 다음과 같습니다.
namespace TestService
{
public partial class Service1 : ServiceBase
{
//Initialize
public Service1()
{
InitializeComponent();
}
//On service start
protected override void OnStart(string[] args)
{
}
//On service stop
protected override void OnStop()
{
}
}
}
튜토리얼 을 찾은 것 같지만 절반 만 따랐습니다.
현재 main()
코드는 시작할 때마다 서비스를 설치합니다.
static void Main()
{
//Install self
SelfInstaller.InstallMe();
}
따라서 ServiceManager는 서비스가 시작되었음을 알리지 않습니다.
main()
에서 서비스를 시작, 설치, 제거 또는 디버그할지 여부 를 결정해야합니다 . 인수가 제공되지 않으면 "서비스 시작"을 의미하는 명령 줄 인수를 사용하는 것이 일반적입니다.
이를 수행하는 방법은 바로 그 튜토리얼에서 볼 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다