동일한 서비스를 한 대의 컴퓨터에 여러 번 설치할 수 있어야합니다. 내가 일하는 부분! 그러나 ServiceName도 달라야합니다. 그 부분은 그렇지 않습니다. 다음은 ServiceName이 제대로 변경되지 않습니다.
내 Installer.cs 내 코드입니다 :[RunInstaller(true)]
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
public ProjectInstaller()
{
InitializeComponent();
}
public override void Install(IDictionary stateSaver)
{
RetrieveServiceName();
base.Install(stateSaver);
}
public override void Uninstall(IDictionary savedState)
{
RetrieveServiceName();
base.Uninstall(savedState);
}
private void RetrieveServiceName()
{
var serviceName = Context.Parameters["servicename"];
if(!string.IsNullOrEmpty(serviceName))
{
auditStreamServiceInstaller.ServiceName = serviceName;
auditStreamServiceInstaller.DisplayName = serviceName;
}
}
}
나는 지금
C:\Windows\Microsoft.Net\Framework\v4.0.30319> installutil /servicename="AuditStream-NW" d:AuditStreamService.exe
내가 installlog 보면 서비스를 설치하려면 다음 cmd를 사용
Affected parameters are:
logtoconsole =
logfile = C:\AuditStreams\NW\AuditStreamService.InstallLog
assemblypath = C:\AuditStreams\NW\AuditStreamService.exe
servicename = AuditStream-NW
에게
이 정보는 정확하지만 내 서비스의 내 OnStart에는 ServiceName을 출력하는 행이 있습니다. 개인 로그 파일. 하지만 그것은 ServiceName은 항상 AuditStreamService
것을 말한다 나는이 경우 auditstream은-NW 말 그 ... 사람이 내가 잘못있어 무엇을 볼 수있는 기대했다?
EXTRA : 각 서비스는 또한 메모리 맵 파일 생성, 원래 나는 그것이 설정이 아닌 지속적인 가상 MMF의 이름이 설정에서 결정되는 (항상 "AuditStream-" + HubName
이었다 있도록했기 때문에 나는이 이름이 다른 원하는 이유는 파일)하지만 외부 프로그램은 이제 mmf를 읽음으로써 서비스가 무엇을하는지 모니터링하지만 서비스 구성 파일을 읽는 것 외에도 외부 응용 프로그램은 mmf의 이름을 알지 못합니다. 제 목표는 모든 이름을 동일하게 만드는 것입니다, ServiceName = MMF Name = ServiceDisplayName
.
실제로 (services.msc 확인) 무엇이 설치 되나요? 제대로 설치되고 있지만 로그 라인이 잘못된 위치에서 ServiceName을 얻고 있습니다. –
Services.msc 내에 AuditStream-NW로 나열되어 있습니다.하지만이 이름이 표시 이름이라고 생각했습니다. – Zholen