![]() |
Programmupdate bei geöffneter EXE
Liste der Anhänge anzeigen (Anzahl: 1)
Hallöle...8-)
Ich weiß mir keinen Rat mehr...:? Gegeben: 1. Server 2012, EXE(xxx) liegt auf dem Server, 10 Mal von externen Computern gestartet Soll 1. Die EXE soll ausgetauscht werden ohne die gestarten Instanzen abzuwürgen. Beim nächsten Start soll die neue EXE genommen werden. Die Kopie heißt: xxx.exe_ Ich habe mir sagen lassen, daß die EXE umbenannt werden kann und die neue EXE in den Ordner kopiert werden kann. Soweit so gut. Habe ich zig Mal auf dem Server mit der Batch ausprobiert. (Testinstanz) :? Gestern wollte ich das mit dem Original machen...Die Kopie "Zugriff verweigert" beim Löschen der Kopie. :evil: Die Kopie ließ sich auch nicht entfernen. Batch:
Code:
Geöffnete Dateien:
echo off
if exist W:\Blubb\xxx.exe_ del W:\Blubb\xxx.exe_ if exist W:\Blubb\xxx.exe rename "W:\Blubb\xxx.exe" xxx.exe_ copy W:\Blubb_Update\Blubb\xxx.exe W:\Blubb Die Kopie ist nicht gelistet gewesen. :gruebel: Ich habe das dann wieder wie immer machen müssen...alle Instanzen raus. (Dann ließ sich die Kopie auch löschen :gruebel:) und manuell kopieren. :? Wo liegt der Fehler? PS: beim nächsten Mal probiere ich das ohne das Löschen der Kopie aus. Danke. |
AW: Programmupdate bei geöffneter EXE
Es gibt auch für EXEn sowas wie einen DLL Cache. Das OS startet dann von alleine eine Copy sodass das Original getauscht werden kann..
Weiß grad nicht wie das genannt wird. |
AW: Programmupdate bei geöffneter EXE
Das Umbenennen hat mit alten Windows Server Versionen geklappt, aber heutzutage nicht mehr unbedingt. Ich denke, es lässt sich nicht vermeiden, die geöffneten Dateien zu schließen.
Sherlock |
AW: Programmupdate bei geöffneter EXE
Ich mache das genau so und hab mich damit abgefunden, dass ich dass nur 1 Mal machen kann, solange noch 1 User die EXE gestartet hat.
Nach dem Umbenennen ist die EXE_ trotzdem noch in Benutzung und kann erst gelöscht werden, wenn der letzte Benutzer "raus" ist. Ich müsste beim 2. Mal die EXE dann anders benennen (z.B. EXE_2). Frank Reim |
AW: Programmupdate bei geöffneter EXE
Das ist doch Murks. Entweder stellt die Anwendung beim Start fest ob sie auf einem Netzlaufwerk oder lokal liegt. Wenn nicht, kopiert sie sich in irgendein Temp-Verzeichnis und startet sich da.
Oder du machst einen kleines "Launcher"-Programm das nichts anderes tut als die jeweils neuste .exe-Datei zu starten. Du kannst also direkt neue Versionen dort ablegen und hast den Vorteil dass alte Versionen weiterhin bestehen bleiben könnten.
Code:
\\myServer\myFolder
Mein Programm (hier klicken).exe app_1.0.5.exe app_1.0.6.exe usw. |
AW: Programmupdate bei geöffneter EXE
Zitat:
Jedes Windows Update könnte dafür sorgen das es jetzt geht oder das es nicht mehr geht. |
AW: Programmupdate bei geöffneter EXE
Moin...:P
Zitat:
Zitat:
Ich habe einen Updater welchen ich noch einbauen kann. Da müßten die Instanzen aber lokal liegen. Und genau das ist derzeit nicht möglich. :? Deswegen hatte ich nach einer Alternative gesucht. Ich hatte noch einen Versuch die Instanzen von außen zu entfernen (Batch als Admin über Link):
Code:
...irgendetwas wollte da auch nicht. :gruebel:
echo off
taskkill /s SERVER /U USER /p PASSWORT /f /im "xxx.exe" Zitat:
Könnte ihr mir helfen die Batch zu schreiben? Da bin ich zu lange raus...:oops: |
AW: Programmupdate bei geöffneter EXE
Wir machen solche Aktionen beim nächtlichen Backup, wo ja eigentlich eh alle offline sein sollten.
|
AW: Programmupdate bei geöffneter EXE
Zitat:
Der Build Process ist automatisiert...bis auf das Tauschen der EXE. |
AW: Programmupdate bei geöffneter EXE
Ich verstehe nicht warum du es dir so schwer machst. Keep it simple, stupid.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz