Page 1 of 2 1 2 LastLast
Showing results 1 to 10 of 13

Thread: Error 0x800401e3 bei Verwendung in einem Windows Dienst

  1. #1
    Join Date
    16.02.2008
    Posts
    7

    Default Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hallo;

    ich will die ZENON Runtime von einem Windows Dienst aus via COM in C++ ansprechen.
    Wenn ich den Dienst als Konsolenanwendung starte, dann funktioniert alles einwandfrei. Führe ich die selbe Anwendung aber tatsächlich als Dienst aus, dann kann ich das Application Objekt nicht instanzieren.
    IApplicationPtr::GetActiveObject("zenon.Application") liefert den COM error 0x800401e3.
    Ich habe schon einiges probiert (OpenWindowStation(), Security, etc.), komme aber nicht weiter. Kann mir da wer helfen?

    Danke!

  2. #2

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hallo,

    Welches Betriebssytem wird hier verwendet?

    Ich denke, da greifen unter Umstände generelle Windows Einschränkungen, die einem Dienst (der oft im "SYSTEM" kontext läuft) Zugriff auf andere Desktopanwendungen unterbindet. (Session 0 Isolation verhindert Zugriff von Anwendungen auf Dienste)

    Eventuell hilft da die Option beim Dienst "interaktion mit Desktop zulassen". Unter Windows Vista / 7 gibt es da mit aktivem UAC (Benutzerkontensteuerung) den Secure Desktop der das Verhindern könnte.

    Warum soll die Anwendung als Dienst laufen, und nicht als zB. Autostart Anwendung oder als Anwendung die von der zenon Runtime gestartet wird?

    Mfg
    Mark

  3. #3
    Join Date
    16.02.2008
    Posts
    7

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hab das Problem gelöst!
    Der Dienst ist notwendig, da er auch noch andere Arbeiten zu verrichten hat, die entsprechende Privilegien voraussetzen.

  4. #4

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hallo andyyyy,

    Interessant wäre noch zu wissen, was die Lösung genau war

    Mfg
    Mark

  5. #5
    Join Date
    16.02.2008
    Posts
    7

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    CoInitializeSecurity() in Verbindung mit Änderungen der Eigenschaften von zenon.Application in der DCOMCNFG.

  6. #6

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Danke für das Feedback

    Macht Sinn, dass die interprozess Kommunikation zwischen Dienst und Desktopanwendung über DCOM läuft. Allerdings könnte das auch eine potenzielle Sicherheitslücke sein.

  7. #7
    Join Date
    14.01.2013
    Posts
    4

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hallo Allerseits

    Der Punkt hier zwar schon eine Weile her, aber ich habe derzeit ein ähnliches Problem mit meinem Windows Dienst.

    Welche DCOM Einstellungen sind den nun im Detail notwendig, um einem als "System" gestarten Dienst den Zugriff auf eine als "User" gestartete Zenon Runtime zu erlauben.

    Programmiere auf Windwos XP unter Zenon 6.51 Build18

    Nach 3 Tagen Lösungssuche bin ich für jeden Hinweis dankbar.

    Weitere Infos:
    Führe ich meinen Zugriff als Anwendung aus und starte diese als "normaler Benutzer" habe ich keine Probleme. Wird der gleiche Code als Service verpackt und debugt, kann ich ebenfalls auf die Runtime Zugreifen. Nach Release und Dienststart als "System", erhalte ich immer den folgenden Fehler:

    Der Dienst kann nicht gestartet werden. System.Runtime.InteropServices.COMException (0x80080005): Die COM-Klassenfactory für die Komponente mit CLSID {0F3205BD-D8D5-11D1-9772-080009ABB492} konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80080005 Starten des Servers fehlgeschlagen (Ausnahme von HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
    bei WindowsService1.Service1.Test() in C:\Documents and Settings\zeller\My Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsServ ice1\Service1.cs:Zeile 28.
    bei WindowsService1.Service1.OnStart(String[] args) in C:\Documents and Settings\zeller\My Documents\Visual Studio 2010\Projects\WindowsFormsApplication2\WindowsServ ice1\Service1.cs:Zeile 21.
    bei System.ServiceProcess.ServiceBase.ServiceQueuedMai nCallback(Object state)

    Nochmals besten Dank
    Loopmaster

  8. #8

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hallo Loopmaster,

    Wäre es in diesem Fall möglich, der Dienst unter einem anderen Benutzer als SYSTEM zu starten? In die Diensteigenschaften kann der Benutzer auf der Karteireiter "Log On" konfiguriert werden.

    Mfg
    Mark

  9. #9
    Join Date
    14.01.2013
    Posts
    4

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hallo Mark

    Besten Dank für die schnelle Hilfe.

    Habe den Dienst soeben mal unter meinem Anmeldenamen (lokaler Admin) gestartet. Die Zenon Runtime läuft unter dem gleichen Benutzer.

    Das bringt leider keine Besserung.

    Im Eventlog erhalte ich im 30 Sekundentakt:
    Der Server "{0F3205BD-D8D5-11D1-9772-080009ABB492}" konnte innerhalb des angegebenen Zeitabschnitts mit DCOM nicht registriert werden.

  10. #10

    Default Re: Error 0x800401e3 bei Verwendung in einem Windows Dienst

    Hallo Loopmaster,

    Wenn sowohl der Dienst als die zenon Runtime im gleichen Benutzerkontext laufen, sollte eigentlich kein DCOM erforderlich sein, sondern sollte der normale COM Zugriff möglich sein.

    Eventuell wäre das ein möglicher Lösungsweg, wenn der Dienst nicht zwingend im SYSTEM kontext laufen muss, sondern auch im Kontext vom gleichen Benutzer als die zenon Runtime laufen kann.

    Warum soll die Anwendung unbedingt als Dienst laufen? Könnte sie nicht zB. mit der zenon Runtime automatisch gestartet werden?

    Mfg
    Mark

Similar Threads

  1. Replies: 3
    Last Post: 11th October 2011, 23:24
  2. Replies: 4
    Last Post: 20th January 2010, 01:02
  3. Replies: 1
    Last Post: 2nd December 2008, 11:07
  4. Replies: 3
    Last Post: 29th July 2008, 09:24
  5. Replies: 0
    Last Post: 31st January 2008, 10:34

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •