Installieren ein windows-Dienst als Benutzer nicht
Entwickle ich ein windows-Dienst mithilfe .Net framework version 3.5. Es muss für den Aufruf eines web service auf einem remote-Rechner und ich bin in ein komisches Installations problem.
Ich verwendet, um es zu installieren auf meinem Rechner als User
(Standardeinstellung), wenn Sie aufgefordert werden, sofern mein login und Passwort und alles hat gut funktioniert. Dann ist es irgendwann aufgehört zu arbeiten, und ich fand heraus, über die Installation von es als LocalSystem
- und das funktionierte gut.
Nun bin ich versucht, rufen Sie die remote-web-service, und ich bekomme eine Fehlermeldung vom WCF:
There was no endpoint listening at https://www.remote.com/webservice.asmx that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
Offensichtlich, könnte dies aufgrund der Ausführung des service LocalSystem
(die keinen Internetzugang haben) : Es wurde kein Endpunkt hören auf <URI> damit könnte die Nachricht akzeptiert. Dies wird oft verursacht durch eine fehlerhafte Adresse oder SOAP-Aktion
So, ich habe versucht, wechseln Sie wieder zu der Installation des service User
und bietet meine Anmeldeinformationen (ich sollte anmerken an dieser Stelle, ich bin der administrator meines Rechners). Aber es funktioniert nicht, und die Fehlermeldung (und den Inhalt der log-Datei InstallUtil) sind neben nutzlos:
Running a transacted installation.
Beginning the Install phase of the installation.
See the contents of the log file for the Service.exe assembly's progress.
The file is located at Service.InstallLog.
An exception occurred during the Install phase.
System.InvalidOperationException: An exception occurred in the OnAfterInstall event handler of System.ServiceProcess.ServiceInstaller.
The inner exception System.InvalidOperationException was thrown with the following error message: Service ServiceName was not found on computer '.'.
The inner exception System.ComponentModel.Win32Exception was thrown with the following error message: The specified service does not exist as an installed service.
The Rollback phase of the installation is beginning.
See the contents of the log file for the Service.exe assembly's progress.
The file is located at Service.InstallLog.
The Rollback phase completed successfully.
The transacted install has completed.
Soweit ich sagen kann, das entsprechende bit ist, dass der service nicht installiert werden konnte. Nicht mehr Informationen! Irgendwelche Ideen, warum ein Dienst möglicherweise erfolgreich installiert werden, da LocalSystem
aber nicht beim installieren als User
wer ist ein Mitglied der Gruppe Administratoren?
InformationsquelleAutor Jackson Pope | 2011-04-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen die NetworkService Benutzer.
LocalService ist nicht erlaubt, verbindungen zu der Welt außerhalb der aus Gründen der Sicherheit.
Als für den Grund können Sie nicht installieren Sie den Dienst, als sich selbst, könnte dies aufgrund der UAC. Ich habe festgestellt, dass die Installation der Dienste ist ausgeschlossen, es sei denn UAC ist komplett deaktiviert, auch wenn Sie Administrator auf Ihrem Konto. Dies ist, weil Ihr Konto nicht über dieses Besondere Privileg. Ich glaube, Sie können dieses Problem beheben, durch den Gruppenrichtlinien-Manager.
Ich sollte klarstellen: ich meinte ausführen der Dienst als Netzwerkdienst Benutzer. Sie müssen die Installation als Benutzer mit speziellen Berechtigungen. Ist die Benutzerkontensteuerung aktiv auf dieser Maschine?
Ja, es ist ein Windows 7-Rechner, so dass ich denke, dass UAC verwendet wird. Ich bin mit InstallUtil in einer Visual Studio-Eingabeaufforderung (die ich geöffnet mit "als Administrator Ausführen"). Meinen früheren Kommentar (installiert als NetworkService) ist nicht ganz richtig, was ich damit meine ist, dass Sie die Konto-Eigenschaft des ServiceProcessInstaller (d.h. das Konto läuft) ist eingestellt auf "NetworkService". Es ist auch erwähnenswert, es ist eingestellt, automatisch zu starten (obwohl ich die gleichen Probleme, wenn ich es manuell starten).
Graben kann durch den Event-Logs, um zu sehen, wenn Sie finden können, noch etwas genauer auf die Win32Exception? Auch wenn du ein Admin-UAC wird block Sie ab, manchmal.
Und stellen Sie sicher, dass das Netzwerkdienst-Konto die Ausführung Rechte auf die EXE-Datei.
InformationsquelleAutor Jonas Van der Aa