Ein Programm wird blockiert

isd

Lieutenant
Registriert
Apr. 2010
Beiträge
821
Habe ein merkwürdigen Phänomen auf einem Windows 10-Rechner.
Alle Windows-Updates sind dort installiert. Es ist ein ESET-Virenscanner (keine Internet Sec.-Suite mit Firewall) installiert.

Wenn der Rechner hochgefahren wird und man direkt danach (innerhalb weniger Minuten) eine völlig simple Branchensoftware (mit dateibasierter Datenbank) startet funktioniert das.
Wenn ich es etwas verzögert versuche zu starten, erscheint kurz der Prozess im Taskmanager und verschwindet dann wieder.
Keine Fehlermeldung, keine Einträge im Windows-Fehlerprotokoll.
Freigaben für das Programm im ESET und im Windows Defender habe ich eingetragen. Außerdem habe ich beides testweise deaktiviert. Das ändert alles gar nichts.
Der Hersteller der Branchensoftware kann sich das auch nicht erklären.
Es gibt weitere Windows 7 Rechner und einen weiteren Windows 10 Rechner im Netz, bei all denen dieses Problem nicht auftritt.

Wo kann ich denn da noch ansetzen?
Kann ich mit irgendeinem Log-Tool (z.B. Wireshark) rauskriegen, warum das blockiert wird?
 
Eine Firewall würde den Prozess nicht killen. Das Programm würde starten, aber dann halt nicht kommunizieren können.
Und ein Virenscanner würde das Programm sofort blocken, so dass es gar nicht im Taskmanager auftaucht. Wäre ja blöd, wenn der Virus für 1 Sekunde arbeiten könnte. Und es würde wahrscheinlich auch eine Meldung geben.

Also sollte es am Programm selbst liegen. Schon neu installiert?
War das Problem bei dem Rechner schon immer oder erst seit kurzem?
 
Mit WireShark kann man den Netzwerkverkehr loggen, aber wenn die .exe gar nicht startet, ist das eher kein Netzwerkproblem - es sei denn das Programm bricht den Startvorgang direkt ab, wenn zB ein Port belegt ist, o.ä. Das sieht man mit WireShark aber nicht unbedingt, da ein Port nicht zwangsläufig auch aktiv kommunizieren muss, um belegt zu sein. Wenn ein Programm einen Port belegt, reserviert es ihn beim Betriebssystem und der nächste bekommt vom OS dann eine Absage --> Port belegt.

Der bereits erwähnte Process Monitor ist ein Tool, mit dem man zB Datei- oder Registry-Zugriffe protokollieren kann. Wenn ein Programm beispielsweise eine Konfigurationsdatei sucht, aber nicht findet, und dann kommentarlos wieder beendet wird, kann man im Process Monitor sinngemäß sehen "File Access : d:\bla\blubb\config.ini failed - file not found".

Ob man im Process Monitor auch sehen kann, wenn eine Anwendung einen Port belegt, kann ich so aus dem Stegreif gar nicht sagen. Zur Not muss man dies händisch über "netstat -ano" machen. Damit werden alle aktiven TCP/UDP Verbindungen gezeigt, auch die, auf denen nur gelauscht wird, denn das sind letztendlich die belegten Ports. Anhand der PID kann man die dazugehörige Anwendung ermitteln (zB im TaskManager).
 
Danke für die Antworten und den Tipp mit dem Process-Explorer.
Ich hab damit jetzt mal ein bisschen rumgespielt. Wenn ich das gesagte Programm starte tauchen im Log mehrere Einträge folgender Art auf:

"Name not found"
Das bezieht sich dann fast ausnahmslos auf den Registry Schlüssel "HKLM\System\CurrentControlSet\Control\Session Manager\ResourcePolicies"

Später folgend noch Einträge der Art:
"FILE LOCKED WITH ONLY READERS"
Das sind dann immer irgendwelche DLL-Dateien aus dem Programmverzeichnis.

Der Benutzer ist lokaler Admin und hat entsprechende Zugriffsrechte in diesem Ordner.
Der Support der Branchensoftware hat per Fernwartung draufgesehen und gesagt, dass die Rechte alle stimmen.
Von deren Seite muss ich jetzt auf einen freien Termin beim Ober-Technikguru warten.
 
Ich würde das Thema hier gerne nochmal aufwärmen.
Der Sachverhalt ist immer noch der gleiche, wie oben beschrieben: Program startet direkt nach Rechner-Neustart ohne Probleme, nach ein paar Minuten dann nicht mehr.

Es gibt dort zwei Windows 10 Rechner, die bis auf wenige Tage zeitgleich angeschafft wurden. Beide haben den selben Patchstand. Der eine ist der Hauptrechner, auf dem die Software und Datenbank liegt (hier startet das Programm nicht), der andere Rechner ist ein Client, der nur über das Netzwerk darauf zugreift (hier startet das Programm).

Es kann ja eigentlich kein Firewall, Portkonflikt oder Netzwerkproblem sein, denn auf dem Rechner, wo die Probleme auftreten liegt das alles ja lokal. Wenn ich die beiden Logfiles des Process Monitor der beiden Rechner vergleiche nachdem ich das Programm gestartet habe, dann fide ich da keine Unauffälligkeiten und auch keine Einträge, die nicht auch bei der anderen Seite zu finden wären.

Als Result erhalte ich im Process Monitor neben der Meldung "Success" die folgenden:
  • File locked with only readers (das bezieht sich dann immer auf DLL-Dateien)
  • Name not found (Registry-Wert)
  • Buffer overflow / No more entries (Registry-Wert)

Diese Einträge tauchen aber auf beiden PCs auf.

Später gibt es dann noch einmalig den Eintrag "Access denied", das bezieht sich auf den Registry-Wert "Services\WinSock2\Parameters" und direkt danach "File closed", was sich auf die EXE_Datei des Programs bezieht. Komischerweise ist dieser "File closed" Eintrag aber auch auf dem Rechner zu finden, auf dem das Programm problemlos startet.

Hat nochmal jemand eine Idee, wie ich hier ansetzen kann.
Der Support des Herstellers schweigt sich dazu aus. Keine Idee woran es liegt. Sie empfehlen ich soll alles neu auf einem neuem Rechner installieren.
 
Versteh mich nicht falsch, aber ich denke eine Neuinstallation spart Zeit und Kopfschmerzen. Im worst case brütest du tagelang vor dem Problem, machst Tests, prüfst Logs und beanspruchst nicht zuletzt auch unsere Zeit - auch wenn wir das ja freiwillig und gern tun. Am Ende findest du dennoch keine Lösung. Eine Neuinstallation kostet alles in allem vielleicht einen halben Tag und die Wahrscheinlichkeit, dass es dann läuft, ist relativ hoch - höher als bei der ewigen Suche nach der Ursache.
 
Ich schließe mich #9 an. 1,5 Monate besteht das Problem! In der Zeit hättest du ungefähr 173x neu installieren können.
Oder, andere Idee. Hast du eine leere unbenutzte Festplatte? Egal wie groß und/oder schnell. Einfach nur, um da mal eben Windows im neusten Build und das Programm drauf zu laden. Wenn es dann geht, hast du die Sicherheit, dass Neuinstallieren hilft. Nicht, dass du umsonst Windows plättest ;).
 
hast du ein optimiertool benützt oder in der registry gewurstelt?

du solltest zudem den eset mal komplett deinstallieren, nur deaktivieren bringt nichts, da ein virenscanner stehts sehr tief im system verbleibt, bis komplett gelöscht. eset hat sicher so ein removal-tool.
 
Zurück
Oben