Das Programm läuft auf einem Terminalserver in der Cloud. Dadurch das es den ganzen Tag von vielen Benutzern gestartet ist, kann ich es nicht so einfach austauschen.
Gestartet wird eine kleine Exe, dass die Main.DLL mit den Hauptprogramm lädt.
Wenn ich es temporär austauschen möchte, kopiere ich die neue Version als Main_1234.dll in das Programmverzeichnis. 1234 steht für die Buildnummer der
DLL.
Wird die Exe erneut gestartet, prüft die Exe vor dem Laden der Main.dll ob nicht eine neuere
DLL vorhanden ist. Falls ja, wird die mit der höchsten Nummer verwendet.
Dadurch arbeiten alle Benutzer, die das Programm neu starten dann automatisch mit der neusten Version.
Nachts, wenn keiner Online ist, werden alle Main_????.dll gelöscht und die Main.dll falls nötig über ein Script aktualisiert.