Projekt

Allgemein

Profil

RunLocal Flow » Historie » Revision 4

Revision 3 ([E] Rocco Kreutz, 06.08.2026 12:29) → Revision 4/9 ([E] Rocco Kreutz, 06.08.2026 12:42)

h1. RunLocal Ablauf flow 

 Diese Seite beschreibt die beiden Einstiegspunkte fuer This page documents the two ways RunLocal und welche Pruefungen bzw. Aktionen auf jeder Seite ausgefuehrt werden. can be entered and what each side checks or starts. 

 *Remote* bedeutet die normale Netzwerkinstallation von means the normal network installation of @ProdatERP.exe@. 
 *Lokal* bedeutet die kopierte Installation unter *Local* means the copied installation under @C:\ProdatERP\@ mit with @Administration\RunLocal@ daneben. beside it. 

 {{drawio(RunLocal_Flow.drawio)}} {{drawio_attach(RunLocal_Flow.drawio)}} 

 h2. Kurzfassung Short version 

 * Im entfernten The login dialog in the remote @ProdatERP.exe@ gibt es im Login-Dialog den Button *RunLocal*. has the *RunLocal* button. 
 * Dieser startet That button starts @ProdatRunLocal.exe@ aus der Netzwerkinstallation mit from the network installation with @SILENT_INSTALL_DEFAULT@. 
 * @ProdatRunLocal.exe@ prueft zuerst das eigene Update und startet danach entweder das Installations-Batch oder das Shortcut-/Update-Batch. checks whether it must self-update, then either runs the installer batch or the shortcut/update batch. 
 * Die Batch-Dateien erzeugen oder aktualisieren die lokale Kopie, die Shortcuts und den geplanten Task. The batch files create or refresh the local copy, the shortcuts, and the scheduled task. 
 * Bei spaeteren Starts kann On later starts, @ProdatERP.exe@ zusaetzlich pruefen, ob die lokale RunLocal-Kopie aktuell ist, und bei Bedarf in den lokalen Launcher wechseln. can also verify that the local RunLocal copy is current and, if needed, switch into the local launcher. 

 h2. Einstiegspunkte und Verhalten Entry points and behavior 

 |_. Seite Side |_. Startpunkt Launch point |_. Was wird geprueft What is checked |_. Was wird ausgeloest What is initiated | 
 | Remote | Login-Dialog-Button Login dialog button in @ProdatERP.exe@ | Der Button ist nur aktiv, wenn die App nicht bereits lokal laeuft, ausser im Dev-/Debug-Modus. is enabled only when the app is not already running from a local installation, unless dev/debug mode is active. | Startet Launches @ProdatRunLocal.exe@ mit with @SILENT_INSTALL_DEFAULT@. | 
 | Remote | Startpfad Startup path in @ProdatERP.exe@ | Prueft, ob Checks whether RunLocal aktualisiert werden muss und ob die entfernte Quelle erreichbar ist. Vergleicht Marker-Daten und den konfigurierten Remote-Root. must be updated and whether the remote source is accessible. Compares marker data and the configured remote root. | Kopiert bei Bedarf die aktuelle If needed, copies the current @ProdatRunLocal.exe@ in den lokalen RunLocal-Ordner und startet den lokalen Launcher. to the local RunLocal folder and starts the local launcher. | 
 | Remote oder lokal or Local | Start von @ProdatRunLocal.exe@ startup | Verweigert den Start von Netzwerk-/UNC-Pfaden ohne Silent-Install-Parameter. Fuehrt den eigenen Update-Check gegen die entfernte RunLocal-Kopie aus. Refuses to run from network/UNC without the silent-install parameter. Performs its own update check against the remote RunLocal copy. | Startet Starts @RunLocal_Setup.bat@ fuer die Erstinstallation oder for the initial install, or @RunLocal_ShortcutScript.bat@ fuer den Normalfall. for normal use. | 
 | Lokal Local | @RunLocal_Setup.bat@ | Liest oder schreibt Reads or writes @RunLocal_SetCfgVariables.bat@, prueft die Verzeichnisse und kontrolliert die Robocopy-Verfuegbarkeit. validates directories, and checks Robocopy availability. | Erzeugt die lokale Verzeichnisstruktur, synchronisiert Dateien, erzeugt Task- und Shortcut-Skripte. Creates the local directory tree, syncs files, creates the task script, and creates shortcuts. | 
 | Lokal Local | @RunLocal_UpdateLocal.bat@ | Nutzt Uses @Prodat.INSTALL.MARKER@ und die konfigurierten Pfade zur Entscheidung ueber den Sync-Modus. and the configured paths to decide the sync mode. | Spiegelt Mirrors remote nach lokal, beendet laufende @ProdatERP.exe@-Instanzen und startet die App optional erneut. to local, kills running @ProdatERP.exe@ instances, and optionally starts the local app again. | 

 h2. Laufzeit von der Login-Maske Remote login button flow 

 # Der Benutzer ist User is in der entfernten Installation und klickt im Login-Dialog auf *RunLocal*. the remote installation and clicks *RunLocal* in the login dialog. 
 # Der Login-Dialog prueft, ob das aktuelle Programm lokal oder remote laeuft. The login dialog checks whether the current executable is local or remote. 
 # Wenn das Programm remote laeuft, wird der Button aktiviert und If the current executable is remote, the button is enabled and @ProdatRunLocal.exe@ mit @SILENT_INSTALL_DEFAULT@ gestartet. is started with @SILENT_INSTALL_DEFAULT@. 
 # @ProdatRunLocal.exe@ fuehrt danach das Setup-Batch aus und erzeugt bzw. aktualisiert die lokale Installation. then runs the setup batch and creates or refreshes the local installation. 

 h2. Start- und Updatepfad Startup update flow in ProdatERP.exe 

 # @ProdatERP.exe@ startet entweder von der Netzfreigabe oder aus der lokalen Kopie. starts from either the network share or the local copy. 
 # Der Startcode erkennt, ob die App The startup code checks whether it is running in the remote oder lokal laeuft. or local case. 
 # Er liest den konfigurierten Remote-Root aus It reads the configured remote root from @RunLocal_SetCfgVariables.bat@. 
 # Er prueft die Erreichbarkeit mit dem Safe-Check-Helper. It checks accessibility with the safe-check helper. 
 # Er vergleicht Inhalt und Zeitstempel von It compares @Prodat.INSTALL.MARKER@ zwischen lokal und content and timestamp between local and remote. 
 # Wenn die lokale Kopie veraltet ist und der Remote-Root zur Konfiguration passt, wird die aktuelle If the local copy is outdated and the remote root matches the configuration, it copies the current @ProdatRunLocal.exe@ in den lokalen RunLocal-Ordner kopiert. into the local RunLocal folder. 
 # Danach wird der lokale It then launches the local @ProdatRunLocal.exe@ gestartet, damit der lokale Ablauf weiterlaeuft. to continue the local flow. 

 h2. Was die Batch-Dateien tun What the batch files do 

 * @RunLocal_Setup.bat@ 
 ** Schreibt Writes @RunLocal_SetCfgVariables.bat@. 
 ** Erzeugt die lokale Struktur @Administration\RunLocal@. Creates the local @Administration\RunLocal@ structure. 
 ** Erzeugt das Shortcut-Hilfsskript und das Task-Skript. Creates the shortcut helper script and the scheduled-task script. 
 ** Ruft Calls @RunLocal_UpdateLocal.bat SYNC@ auf, um die Installation zu spiegeln. to mirror the installation. 
 ** Erzeugt den Desktop-Shortcut und den lokalen Neustart-/Update-Shortcut. Creates the desktop shortcut and the local restart/update shortcut. 

 * @RunLocal_UpdateLocal.bat@ 
 ** Liest die Konfigurationsdatei. Reads the config file. 
 ** Prueft Quell- und Zielpfade. Validates source and destination paths. 
 ** Fuehrt Robocopy-Mirroring aus. Runs Robocopy mirror operations. 
 ** Nutzt Uses @Prodat.INSTALL.MARKER@ als Inhalts-/Zeitstempel-Markierung. as a content/timestamp identity marker. 
 ** Startet Restarts @ProdatERP.exe@ erneut, ausser unless @DONTSTARTPRODAT@ wurde uebergeben. was passed. 

 * @RunLocal_Setup_Task.bat@ 
 ** Erstellt oder loescht den geplanten Task Creates or deletes the scheduled task @CIMPCS\ProdatERP - Run Lokal - Update@. 

 * @RunLocal_Setup_Shortcut.vbs@ 
 ** Erstellt oder loescht die @.lnk@-Dateien fuer den lokalen Neustart und den Desktop-Eintrag. Creates or deletes the @.lnk@ files for the local restart and the desktop entry. 

 h2. Wichtige Dateien Important files 

 * @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@