Unter Windows 7 Professional habe ich ein .Net-Programm, das das Windows-Ereignisprotokoll überwacht.InstallAnywhere kann die Datei nicht löschen, wenn .Net-Programm Benachrichtigungen zum Ereignisprotokoll abonniert hat
Auf der gleichen Arbeitsstation ist ein Java-Programm als Windows-Dienst installiert. Dieses Programm muss mit InstallAnywhere deinstalliert werden. Die Deinstallation endet mit der ausführbaren Datei des Java-Dienstes, die von meinem Überwachungsprogramm gehalten wird (was ich deutlich mit procexp.exe sehen kann), obwohl sie nur die Zeichenfolgen des Benachrichtigungsereignisses manipuliert - niemals versucht, weder das genannte Prozesshandle noch ein anderes zu öffnen Datei.
Ich frage mich, ob dies ein bekanntes Verhalten oder ein Fehler von Windows/.Net/InstallAnywhere ist.
Wenn es erwartet wird, gibt es einen Workaround?
Ich musste wahrscheinlich erwähnen, dass, wenn mein Überwachungsprogramm nicht ausgeführt wird, oder es nicht mit dem Ereignisprotokoll verbunden ist - die Deinstallation löscht die ausführbare Java-Dienstdatei. Es scheint also so zu sein, dass Windows/.Net diese ausführbare Java-Handle im Kontext meines Programms hält, obwohl wir nichts damit zu tun haben. – Natan