AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Probleme bei der Portierung eines Dienstes von WinXP nach Win7
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme bei der Portierung eines Dienstes von WinXP nach Win7

Ein Thema von Lord_Stifterl · begonnen am 22. Mai 2012 · letzter Beitrag vom 24. Mai 2012
Antwort Antwort
Seite 1 von 2  1 2      
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#1

Probleme bei der Portierung eines Dienstes von WinXP nach Win7

  Alt 22. Mai 2012, 10:25
Hallo alle zusammen,

ich habe vor mittlerweile gut 2,5 bis 3 Jahren einen simplen Watchdog-Dienst programmiert, welcher prüft ob ein weiterer Service läuft und wenn notwendig diesen neu startet. Dies funktioniert auch unter XP. Nun kam die Anforderung diesen Service nach Win7 zu portieren. Leider hat hier MS an den Starttypen bzw. allgemein am Startverhalten herumgebastelt. Der Dienst startet erst nach ca. 90 bis 120 Sekunden. Dies ist in etwa identisch mit dem neuen Starttyp "Delayed autostart". Der Service läuft jedoch mit dem normal Starttyp "Autostart". Wie ich feststellen konnte, wird der Service auch sofort gestartet (im Taskmanager "Wird gestartet..."), jedoch wechselt der Status wie oben beschreiben erst nach ca. 90 Sekunden auf "Wird ausgeführt". Ich konnte auch erkennen, dass zu diesem Zeitpunkt plötzlich auch alle anderen Dienste (vom System bzw. andere SW) erst gestartet wurden.

Kann es sein das MS den Starttyp "Automatisch" von einer mit Delphi2006 auf XP kompilierten Datei anders interpretiert? Gibt es einen Workaround für dieses Problem ohne eine neuere Delphi Version zu kaufen? Oder liegt das Problem wo ganz anders (zwischen den Ohren zum Beispiel) ?

Danke und beste Grüße
Alex

Geändert von TBx (23. Mai 2012 um 12:03 Uhr) Grund: Tipselfehler im Titel korrigiert
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.994 Beiträge
 
Delphi 12 Athens
 
#2

AW: Probleme bei der Protierung eines Dienstes von WinXP nach Win7

  Alt 22. Mai 2012, 12:07
Nur 'ne Vermutung: könnte es sein, daß dein Service von einem anderen abhängt, der als delayed markiert ist?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Probleme bei der Portierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 09:29
Nein, der Service hat keine Dependencies zu irgendwelchen anderen Services.
Alex
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.994 Beiträge
 
Delphi 12 Athens
 
#4

AW: Probleme bei der Protierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 09:49
Kann es sein das MS den Starttyp "Automatisch" von einer mit Delphi2006 auf XP kompilierten Datei anders interpretiert?
Die Startart kannst du bei den Eigenschaften des Dienstes in dem entsprechenden Dialog unter Verwaltung festlegen. Das Property im Programm wird nur für die Installation verwendet.

In der Registry ist das "Autostart Delayed" übrigens keine eigene Startart, sondern wird in einem zusätzlichen Registryeintrag hinterlegt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Probleme bei der Protierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 09:55
Zitat:
Die Startart kannst du bei den Eigenschaften des Dienstes in dem entsprechenden Dialog unter Verwaltung festlegen. Das Property im Programm wird nur für die Installation verwendet.
Das Problem ist hier unseren Kunden zumuten zu müssen, dass diese das selbst konfigurieren müssten. Ist ja auch teilweise ein Problem mit den Userrechten.
Alex
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
526 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Probleme bei der Protierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 09:59
jedoch wechselt der Status wie oben beschreiben erst nach ca. 90 Sekunden auf "Wird ausgeführt". Ich konnte auch erkennen, dass zu diesem Zeitpunkt plötzlich auch alle anderen Dienste (vom System bzw. andere SW) erst gestartet wurden.
Wie jetzt? Alle Dienste starten delayed? Aber nur wenn Dein Dienst installiert ist?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Probleme bei der Protierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 11:34
Zitat:
Wie jetzt? Alle Dienste starten delayed?
Naja...die anderen Dienste sind vom System bzw. den anderen SW-Herstellern bewusst als "delayed start" registriert worden und starten daher verzögert. Mein Dienst startet verzögert obwohl er als normaler "Autostart" Dienst registriert wurde.
Alex
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
526 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Probleme bei der Protierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 12:03
Wer macht den so was? Und weshalb?
Könnte es sein dass auch der Dienst welcher verantwortlich für den Start der Dienste ist delayed startet?

Anders gefragt - gibt es auf dem System überhaupt einen Dienst welcher normal startet?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Probleme bei der Portierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 12:09
Das solltest du problemlos via ChangeServiceConfig2 und SERVICE_CONFIG_DELAYED_AUTO_START_INFO ändern können:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
In XE2 ist das in der Unit Winapi.WinSvc oder so ähnlich, in deiner musst du es evtl. manuell deklarieren.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Lord_Stifterl

Registriert seit: 13. Dez 2002
Ort: Wien
175 Beiträge
 
Turbo Delphi für Win32
 
#10

AW: Probleme bei der Portierung eines Dienstes von WinXP nach Win7

  Alt 23. Mai 2012, 13:05
Zitat:
Wer macht den so was? Und weshalb?
Die "delayed start" Variante wurde erst, wenn ich es richtig in Erinnerung hab von Win7 eingeführt um den Bootvorgang des Systems zu beschleunigen. Zuerst starten nur alle Systemdienste und anschließend nach einem 120 Sek. delay alle anderen Dienste bzw. so wie ich es verstanden haben, wird ein Dienst gestartet der dann erst alle anderen verzögert startet. Es wird von MS so empfohlen, wenn es nicht unumgänglich ist diesen delayed start zu verwenden.

Zitat:
Das solltest du problemlos via ChangeServiceConfig2 und SERVICE_CONFIG_DELAYED_AUTO_START_INFO ändern können
Das Problem ist, das der Service lt. Registry nicht als DelayedAutoStart konfiguriert ist. Und das ist auch der Punkt an dem ich mit meinem Latein am Ende ist.
Alex
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz