Projekt

Allgemein

Profil

RunLocal Flow » Historie » Version 7

[E] Rocco Kreutz, 06.08.2026 12:48

1 4 [E] Rocco Kreutz
h1. RunLocal Ablauf
2 2 [E] Rocco Kreutz
3 4 [E] Rocco Kreutz
Diese Seite beschreibt die beiden Einstiegspunkte fuer RunLocal und welche Pruefungen bzw. Aktionen auf jeder Seite ausgefuehrt werden.
4 2 [E] Rocco Kreutz
5 4 [E] Rocco Kreutz
*Remote* bedeutet die normale Netzwerkinstallation von @ProdatERP.exe@.
6
*Lokal* bedeutet die kopierte Installation unter @C:\ProdatERP\@ mit @Administration\RunLocal@ daneben.
7 2 [E] Rocco Kreutz
8 5 [E] Rocco Kreutz
{{drawio_attach(RunLocal_Flow.drawio)}}
9 7 [E] Rocco Kreutz
10 2 [E] Rocco Kreutz
11 4 [E] Rocco Kreutz
h2. Kurzfassung
12 2 [E] Rocco Kreutz
13 4 [E] Rocco Kreutz
* Im entfernten @ProdatERP.exe@ gibt es im Login-Dialog den Button *RunLocal*.
14
* Dieser startet @ProdatRunLocal.exe@ aus der Netzwerkinstallation mit @SILENT_INSTALL_DEFAULT@.
15
* @ProdatRunLocal.exe@ prueft zuerst das eigene Update und startet danach entweder das Installations-Batch oder das Shortcut-/Update-Batch.
16
* Die Batch-Dateien erzeugen oder aktualisieren die lokale Kopie, die Shortcuts und den geplanten Task.
17
* Bei spaeteren Starts kann @ProdatERP.exe@ zusaetzlich pruefen, ob die lokale RunLocal-Kopie aktuell ist, und bei Bedarf in den lokalen Launcher wechseln.
18 2 [E] Rocco Kreutz
19 4 [E] Rocco Kreutz
h2. Einstiegspunkte und Verhalten
20 2 [E] Rocco Kreutz
21 4 [E] Rocco Kreutz
|_. Seite |_. Startpunkt |_. Was wird geprueft |_. Was wird ausgeloest |
22
| Remote | Login-Dialog-Button in @ProdatERP.exe@ | Der Button ist nur aktiv, wenn die App nicht bereits lokal laeuft, ausser im Dev-/Debug-Modus. | Startet @ProdatRunLocal.exe@ mit @SILENT_INSTALL_DEFAULT@. |
23
| Remote | Startpfad in @ProdatERP.exe@ | Prueft, ob RunLocal aktualisiert werden muss und ob die entfernte Quelle erreichbar ist. Vergleicht Marker-Daten und den konfigurierten Remote-Root. | Kopiert bei Bedarf die aktuelle @ProdatRunLocal.exe@ in den lokalen RunLocal-Ordner und startet den lokalen Launcher. |
24
| Remote oder lokal | Start von @ProdatRunLocal.exe@ | Verweigert den Start von Netzwerk-/UNC-Pfaden ohne Silent-Install-Parameter. Fuehrt den eigenen Update-Check gegen die entfernte RunLocal-Kopie aus. | Startet @RunLocal_Setup.bat@ fuer die Erstinstallation oder @RunLocal_ShortcutScript.bat@ fuer den Normalfall. |
25
| Lokal | @RunLocal_Setup.bat@ | Liest oder schreibt @RunLocal_SetCfgVariables.bat@, prueft die Verzeichnisse und kontrolliert die Robocopy-Verfuegbarkeit. | Erzeugt die lokale Verzeichnisstruktur, synchronisiert Dateien, erzeugt Task- und Shortcut-Skripte. |
26
| Lokal | @RunLocal_UpdateLocal.bat@ | Nutzt @Prodat.INSTALL.MARKER@ und die konfigurierten Pfade zur Entscheidung ueber den Sync-Modus. | Spiegelt remote nach lokal, beendet laufende @ProdatERP.exe@-Instanzen und startet die App optional erneut. |
27 2 [E] Rocco Kreutz
28 4 [E] Rocco Kreutz
h2. Laufzeit von der Login-Maske
29 2 [E] Rocco Kreutz
30 4 [E] Rocco Kreutz
# Der Benutzer ist in der entfernten Installation und klickt im Login-Dialog auf *RunLocal*.
31
# Der Login-Dialog prueft, ob das aktuelle Programm lokal oder remote laeuft.
32
# Wenn das Programm remote laeuft, wird der Button aktiviert und @ProdatRunLocal.exe@ mit @SILENT_INSTALL_DEFAULT@ gestartet.
33
# @ProdatRunLocal.exe@ fuehrt danach das Setup-Batch aus und erzeugt bzw. aktualisiert die lokale Installation.
34 2 [E] Rocco Kreutz
35 4 [E] Rocco Kreutz
h2. Start- und Updatepfad in ProdatERP.exe
36 2 [E] Rocco Kreutz
37 4 [E] Rocco Kreutz
# @ProdatERP.exe@ startet entweder von der Netzfreigabe oder aus der lokalen Kopie.
38
# Der Startcode erkennt, ob die App remote oder lokal laeuft.
39
# Er liest den konfigurierten Remote-Root aus @RunLocal_SetCfgVariables.bat@.
40
# Er prueft die Erreichbarkeit mit dem Safe-Check-Helper.
41
# Er vergleicht Inhalt und Zeitstempel von @Prodat.INSTALL.MARKER@ zwischen lokal und remote.
42
# Wenn die lokale Kopie veraltet ist und der Remote-Root zur Konfiguration passt, wird die aktuelle @ProdatRunLocal.exe@ in den lokalen RunLocal-Ordner kopiert.
43
# Danach wird der lokale @ProdatRunLocal.exe@ gestartet, damit der lokale Ablauf weiterlaeuft.
44 2 [E] Rocco Kreutz
45 4 [E] Rocco Kreutz
h2. Was die Batch-Dateien tun
46 2 [E] Rocco Kreutz
47
* @RunLocal_Setup.bat@
48 4 [E] Rocco Kreutz
** Schreibt @RunLocal_SetCfgVariables.bat@.
49
** Erzeugt die lokale Struktur @Administration\RunLocal@.
50
** Erzeugt das Shortcut-Hilfsskript und das Task-Skript.
51
** Ruft @RunLocal_UpdateLocal.bat SYNC@ auf, um die Installation zu spiegeln.
52
** Erzeugt den Desktop-Shortcut und den lokalen Neustart-/Update-Shortcut.
53 2 [E] Rocco Kreutz
54
* @RunLocal_UpdateLocal.bat@
55 4 [E] Rocco Kreutz
** Liest die Konfigurationsdatei.
56
** Prueft Quell- und Zielpfade.
57
** Fuehrt Robocopy-Mirroring aus.
58
** Nutzt @Prodat.INSTALL.MARKER@ als Inhalts-/Zeitstempel-Markierung.
59
** Startet @ProdatERP.exe@ erneut, ausser @DONTSTARTPRODAT@ wurde uebergeben.
60 2 [E] Rocco Kreutz
61
* @RunLocal_Setup_Task.bat@
62 4 [E] Rocco Kreutz
** Erstellt oder loescht den geplanten Task @CIMPCS\ProdatERP - Run Lokal - Update@.
63 2 [E] Rocco Kreutz
64
* @RunLocal_Setup_Shortcut.vbs@
65 4 [E] Rocco Kreutz
** Erstellt oder loescht die @.lnk@-Dateien fuer den lokalen Neustart und den Desktop-Eintrag.
66 2 [E] Rocco Kreutz
67 4 [E] Rocco Kreutz
h2. Wichtige Dateien
68 2 [E] Rocco Kreutz
69
* @PRODAT\Application\ProdatRunLocal\280\ProdatRunLocal.dpr@
70
* @PRODAT\Application\ProdatRunLocal\USelfUpdate.pas@
71
* @PRODAT\Prodat\Prodat-SQL\udbs.pas@
72
* @PRODAT\Prodat\Prodat-SQL\UP2005Start.pas@
73
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_Setup.bat@
74
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_UpdateLocal.bat@
75
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_Setup_Task.bat@
76
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_Setup_Shortcut.vbs@