Exe und DLL auf 2003 Server - WIN 10 Client

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Benutzeravatar
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 429
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Kontaktdaten:

Exe und DLL auf 2003 Server - WIN 10 Client

Beitrag von Ewald » Mo, 05. Aug 2019 13:44

Bei einem Kunden läuft noch ein 2003 Server mit WIN7 Clients. Neuere Rechner werden jetzt mit
WIN10 eingebunden.

Die Xbase 2.0 Anwendung sowie die XB Runtime DLLs liegen in einem freigegebenen Laufwerk auf dem Server.

Im Normalbetrieb sehe ich, das jeder WIN7 Client um die 30 Dateien auf dem Server
geöffnet hat wenn er eine Xbase Anwendung ausführt. Wird die Anwendung geschlossen werden
auch (ziemlich umgehend) die Xbase Dlls auf dem Server automatisch wieder freigegeben.

Das sieht bei den neuen WIN10 Clients ganz anders aus. Da wird nach dem Beenden eines
Programmes für Stunden keine der geöffneten DLLs freigegeben. Auf diese Weise hat so ein Client
dann innerhalb kürzester Zeit einige 100 Dateien offen. Sehr unschön.

Meine Frage:
Löst sich dieses Problem auch durch die 3 Registryeinträge FileInfoCacheLifetime etc. ?
Ich kann das nicht "mal eben" ausprobieren da das vor Ort mit Adminrechten gemacht werden muss.
Und ich hatte das so verstanden, das diese Einträge bei WIN7 Rechner auf neuen Servern benötigt
werden - und nicht umgekehrt.

Auf dem Foto (Computerverwaltung des 2003 Servers) habe ich nur eine DLL für einen User gekennzeichnet.
Das ist ein WIN10 Client. Die anderen User kommen mit WIN7 rein und habe diese DLL nur ein mal auf.

Bild

ramses
Programmier-Gott
Programmier-Gott
Beiträge: 1414
Registriert: Mi, 28. Jul 2010 17:16

Re: Exe und DLL auf 2003 Server - WIN 10 Client

Beitrag von ramses » Mo, 05. Aug 2019 14:29

Es wäre besser wenn du Programme und DLL's in ein Verzeichnis unter c:\program files (x86)\deine App kopierst und aus diesem lokal startest.
Programme von einem Netzwerklaufwerk zu starten ist unter Windows 10 nicht mehr optimal.

Die von dir erwähnten Einstellungen benötigst du hauptsächlich auf dem Client damit dieser die Files und Directorys nicht lokal vorhält sondern diese immer vom Server liest. Du kannst auch nocht versuchen den Registry Wert "UtilizeNtCaching" auf 0 zu setzten.
Valar Morghulis

Gruss Carlo

Benutzeravatar
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 429
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Kontaktdaten:

Re: Exe und DLL auf 2003 Server - WIN 10 Client

Beitrag von Ewald » Mo, 05. Aug 2019 19:20

Danke Carlo. Um UtilizeNtCaching zu setzen oder um die Abwicklung nebst runtime DLLs auf die Clients umzusetzen müsste ich ja auch vor Ort mit Adminrechten tätig werden und ziemlich massiv in das Kundennetz eingreifen. Nicht ganz ohne Risiko ;-)
Eigentlich kann es ja nur vom Client ausgehen das Handle zu beenden und ich frage mich, ob diese offenen Handles nur unschön sind oder ein echtes Problem für den Server darstellen.
Mittlerweile habe ich gesehen, das dieses Problem? auch in Netzwerken mit Servern > 2003 auftritt. Oft verursacht durch diese bekifften Virenscanner. Beschrieben wird sogar die Situation das der User schon längst seinen PC abgeschaltet und zu Hause die Füße auf dem Tisch liegen hat und der Server trotzdem noch die offenen Handles listet. Alles etwas schwer verdaulich für mich.

ramses
Programmier-Gott
Programmier-Gott
Beiträge: 1414
Registriert: Mi, 28. Jul 2010 17:16

Re: Exe und DLL auf 2003 Server - WIN 10 Client

Beitrag von ramses » Mo, 05. Aug 2019 20:57

Hallo EWald

aus eigener Erfahrung hat sich seinerzeit (vor einiger Zeit) gezeigt dass diese Relikte sich meist ohne Eingriffe wie du auch schreibst selbst lösen. Mit Windows 10 hat sich das Netzwerkverhalten im Vergleich zu Win7 sehr stark geändert.

Die offenen Handles auf den DLL's werden dir erst zum Problem wenn du die entsprechenden Dateien ersetzten d.h. Updaten willst. In meinem Umfeld ist der letzte 2003 Server bis vor etwa 3 Jahren gelaufen. Bis damals hatte ich die Programme auch noch z.T. wie du ab dem Netzlaufwerk gestartet. Das einzige Problem das ich damit hatte war das dass ein Update der DLL und EXE Dateien (wegen der hängenden Handles) meist erst nach einem Neustart des Servers möglich war.

Vielleicht solltest du deinen Kunden zum Update auf eine neuere Version des Servers motivieren oder gar gleich zum Umstieg des Datenservers auf FreeBSD. Windows 2003 im Netzwerk ist nicht mehr so ganz Zeitgemäss .....
Valar Morghulis

Gruss Carlo

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 11998
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Exe und DLL auf 2003 Server - WIN 10 Client

Beitrag von AUGE_OHR » Di, 06. Aug 2019 0:11

Ewald hat geschrieben:
Mo, 05. Aug 2019 13:44
Bei einem Kunden läuft noch ein 2003 Server mit WIN7 Clients.
dann läuft da SMB1 ...

es gab bei älteren Versionen "AlwaysUnloadDll" unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
gruss by OHR
Jimmy

Antworten