RunLocal Flow » Historie » Revision 7
Revision 6 ([E] Rocco Kreutz, 06.08.2026 12:43) → Revision 7/9 ([E] Rocco Kreutz, 06.08.2026 12:48)
h1. RunLocal Ablauf
Diese Seite beschreibt die beiden Einstiegspunkte fuer RunLocal und welche Pruefungen bzw. Aktionen auf jeder Seite ausgefuehrt werden.
*Remote* bedeutet die normale Netzwerkinstallation von @ProdatERP.exe@.
*Lokal* bedeutet die kopierte Installation unter @C:\ProdatERP\@ mit @Administration\RunLocal@ daneben.
{{drawio_attach(RunLocal_Flow.drawio)}}
{{drawio_attach(secpol_struktogramm_v3.drawio)}}
h2. Kurzfassung
* Im entfernten @ProdatERP.exe@ gibt es im Login-Dialog den Button *RunLocal*.
* Dieser startet @ProdatRunLocal.exe@ aus der Netzwerkinstallation mit @SILENT_INSTALL_DEFAULT@.
* @ProdatRunLocal.exe@ prueft zuerst das eigene Update und startet danach entweder das Installations-Batch oder das Shortcut-/Update-Batch.
* Die Batch-Dateien erzeugen oder aktualisieren die lokale Kopie, die Shortcuts und den geplanten Task.
* Bei spaeteren Starts kann @ProdatERP.exe@ zusaetzlich pruefen, ob die lokale RunLocal-Kopie aktuell ist, und bei Bedarf in den lokalen Launcher wechseln.
h2. Einstiegspunkte und Verhalten
|_. Seite |_. Startpunkt |_. Was wird geprueft |_. Was wird ausgeloest |
| 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@. |
| 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. |
| 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. |
| 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. |
| 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. |
h2. Laufzeit von der Login-Maske
# Der Benutzer ist in der entfernten Installation und klickt im Login-Dialog auf *RunLocal*.
# Der Login-Dialog prueft, ob das aktuelle Programm lokal oder remote laeuft.
# Wenn das Programm remote laeuft, wird der Button aktiviert und @ProdatRunLocal.exe@ mit @SILENT_INSTALL_DEFAULT@ gestartet.
# @ProdatRunLocal.exe@ fuehrt danach das Setup-Batch aus und erzeugt bzw. aktualisiert die lokale Installation.
h2. Start- und Updatepfad in ProdatERP.exe
# @ProdatERP.exe@ startet entweder von der Netzfreigabe oder aus der lokalen Kopie.
# Der Startcode erkennt, ob die App remote oder lokal laeuft.
# Er liest den konfigurierten Remote-Root aus @RunLocal_SetCfgVariables.bat@.
# Er prueft die Erreichbarkeit mit dem Safe-Check-Helper.
# Er vergleicht Inhalt und Zeitstempel von @Prodat.INSTALL.MARKER@ zwischen lokal und remote.
# Wenn die lokale Kopie veraltet ist und der Remote-Root zur Konfiguration passt, wird die aktuelle @ProdatRunLocal.exe@ in den lokalen RunLocal-Ordner kopiert.
# Danach wird der lokale @ProdatRunLocal.exe@ gestartet, damit der lokale Ablauf weiterlaeuft.
h2. Was die Batch-Dateien tun
* @RunLocal_Setup.bat@
** Schreibt @RunLocal_SetCfgVariables.bat@.
** Erzeugt die lokale Struktur @Administration\RunLocal@.
** Erzeugt das Shortcut-Hilfsskript und das Task-Skript.
** Ruft @RunLocal_UpdateLocal.bat SYNC@ auf, um die Installation zu spiegeln.
** Erzeugt den Desktop-Shortcut und den lokalen Neustart-/Update-Shortcut.
* @RunLocal_UpdateLocal.bat@
** Liest die Konfigurationsdatei.
** Prueft Quell- und Zielpfade.
** Fuehrt Robocopy-Mirroring aus.
** Nutzt @Prodat.INSTALL.MARKER@ als Inhalts-/Zeitstempel-Markierung.
** Startet @ProdatERP.exe@ erneut, ausser @DONTSTARTPRODAT@ wurde uebergeben.
* @RunLocal_Setup_Task.bat@
** Erstellt oder loescht den geplanten Task @CIMPCS\ProdatERP - Run Lokal - Update@.
* @RunLocal_Setup_Shortcut.vbs@
** Erstellt oder loescht die @.lnk@-Dateien fuer den lokalen Neustart und den Desktop-Eintrag.
h2. Wichtige Dateien
* @PRODAT\Application\ProdatRunLocal\280\ProdatRunLocal.dpr@
* @PRODAT\Application\ProdatRunLocal\USelfUpdate.pas@
* @PRODAT\Prodat\Prodat-SQL\udbs.pas@
* @PRODAT\Prodat\Prodat-SQL\UP2005Start.pas@
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_Setup.bat@
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_UpdateLocal.bat@
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_Setup_Task.bat@
* @ExternKomponenten\RUNTIME-Dirs\Administration\RunLocal\RunLocal_Setup_Shortcut.vbs@