Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Windows Cache beim Laden der EXE spinnt...oder? (https://www.delphipraxis.net/208114-windows-cache-beim-laden-der-exe-spinnt-oder.html)

haentschman 11. Jun 2021 07:17


Windows Cache beim Laden der EXE spinnt...oder?
 
Hallöle...:P

Ich habe eine Exe die auf dem Server im lokalen Netz gespeichert ist. Die Clients laden die EXE von da. Bis jetzt ist es nichts außergewöhnliches...:wink:

PROBLEM:
An verschiedenen Arbeitsstationen wird eine alte Version, trotz Neustart der EXE, im Arbeitsspeicher gehalten. Das Dateidatum = EXE Datum (im Menü angezeigt) lautet aber auf die letzte Version.

Beispiel:

1. EXE Datum 10.06.2021 10:00, kein Button auf der Form.
2. Button auf Form hinzugefügt
3. Neustart der EXE vom Server
4. EXE Datum 11.06.2021 07:00, kein Button auf der Form. :shock:
5. Neustart des gesamten Computers. (mehrfacher Neustart der EXE bringt es nicht)
6. EXE Datum 11.06.2021 07:00, Button auf der Form. :thumb:

Ich habe das Gefühl, daß das immer die gleichen Arbeitsstationen sind, wo die EXE nicht "ausgetauscht" wird.

Kann man das irgendwie Prüfen? Eher Server oder Arbeitsstation?
Auch unser EDV Fuzzi ist ratlos...:?

Danke für Infos...:P

Crosspost: https://en.delphipraxis.net/topic/51...ing-the-exeor/

CCRDude 11. Jun 2021 08:40

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Manchmal führen Bugs ja dazu, dass Prozesse nicht komplett "schließen". Dann ist die UI schon weg, aber der Prozess läuft bzw. hängt noch. In so einem Fall hätte der PE Loader die exe ja schon im Speicher und würde sie u.U. nicht neu laden. Also als Idee: im Task Manager prüfen, ob wirklich alle Instanzen beendet sind.

haentschman 11. Jun 2021 08:44

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Zitat:

Also als Idee: im Task Manager prüfen, ob wirklich alle Instanzen beendet sind.
...sind definitiv alle weg. :?

Zitat:

u.U. nicht neu laden.
...warum stimmt dann die geladene EXE (Datum neuestes) nicht mit der Form (Inhalt) überein? :gruebel:

haentschman 11. Jun 2021 09:01

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nachtrag Info:
Früher mußte ich auf dem Server alle Instanzen "abschießen" um eine neue Version einzuspielen. Bei 15+ Nutzern ist das tagsüber schlecht...:?

Deshalb habe einen "Finalbuilder Light" erstellt der über ein Tool die aktuelle EXE umbenennt und in einen Order verschiebt der die Versionskennzeichnung hat. Das hat keine Auswirkung auf die Laufzeit. Über ein anderes Tool wird geprüft noch ein User Zugriff hat...wenn nicht, wird der Ordner entfernt.

Damit kann ich jederzeit die Version tauschen und muß nicht alle abschießen. :thumb:

Mit der Kopie kann es eigentlich nichts zu tun haben, weil immer nur die aktuelle EXE geladen wird...oder? :gruebel:

jaenicke 11. Jun 2021 09:08

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Zitat:

Zitat von haentschman (Beitrag 1490994)
Mit der Kopie kann es eigentlich nichts zu tun haben, weil immer nur die aktuelle EXE geladen wird...oder? :gruebel:

Windows leitet intern die Zugriffe auf die umbenannte Version um. Nur deshalb kannst du diese auch im laufenden Betrieb umbenennen. Wie das genau funktioniert, weiß ich nicht, aber ich vermute der Server muss damit etwas zu tun haben, denn dort wird die Exe ja schließlich trotz Zugriffs umbenannt.

Eine ganz einfache Lösung, die wirklich immer zuverlässig funktioniert:
Ein Loader (der kann ja wie die ursprüngliche Exe heißen) startet die jeweils aktuelle Exe, die unter einem Namen mit Versionsnummer, wie du es ja schon für alte Versionen hast, gespeichert wird. Der Loader kann die neueste vorhandene Exe nehmen, die korrekte aus einer .ini lesen, wie auch immer.

haentschman 11. Jun 2021 09:17

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Ein Loader (der kann ja wie die ursprüngliche Exe heißen) startet die jeweils aktuelle Exe
...den habe ich schon. Der lädt immer die aktuelle EXE. Im Menü (Bild) wurde auch die richtige Version angezeigt, aber der "Inhalt" der EXE war falsch. :?

jaenicke 11. Jun 2021 10:01

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Zitat:

Zitat von haentschman (Beitrag 1490997)
Zitat:

Ein Loader (der kann ja wie die ursprüngliche Exe heißen) startet die jeweils aktuelle Exe
...den habe ich schon. Der lädt immer die aktuelle EXE.

Der sollte aber eine Exe mit der Versionsnummer im Namen laden, das meine ich. Dann muss nichts umbenannt werden und das ganze Problem kann nicht mehr auftreten.

Du hast übrigens zwar die Dateinamen verpixelt, nicht aber den vermutlich gleichnamigen Ordnernamen oben.

Redeemer 11. Jun 2021 10:31

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Ich möchte nochmal folgenden Satz hervorheben:
Zitat:

Zitat von jaenicke (Beitrag 1490996)
Windows leitet intern die Zugriffe auf die umbenannte Version um.

Genau das ist das Problem (aber nur, wenn die Datei zum Zeitpunkt der Umbenennung gesperrt ist). Da kommst du auch nicht drum rum. Möglicherweise PE-Flag NET_RUN_FROM_SWAP (oder wie das heißt) ausmachen, das verhält sich aber sowieso total seltsam und ist auch keine gute Idee.

Mein Hauptprojekt hat im LAN daher für den LAN-Start einen kleinen Launcher, der die neuste Version sucht und startet. Es kann alternativ in %LOCALAPPDATA% kopiert werden und läuft dann mit einem Updater.

haentschman 11. Jun 2021 11:27

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Danke an alle...:P
Zitat:

Der sollte aber eine Exe mit der Versionsnummer im Namen laden, das meine ich.
keine schlechte Idee. :P
Zitat:

Mein Hauptprojekt hat im LAN daher für den LAN-Start einen kleinen Launcher, der die neuste Version sucht und startet. Es kann alternativ in %LOCALAPPDATA% kopiert werden
auch eine Alternative. :P

Bernhard Geyer 11. Jun 2021 13:29

AW: Windows Cache beim Laden der EXE spinnt...oder?
 
Wurde auch der Server schon neu gestartet?
Der client wurde ja schon.

Hatten bei uns mal den Fall das der Virenscanner auf dem Server komplett im Wald und schein dafür gesorgt hat das irgendwelche Dateifragmente ausgeliefert wurden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf