Projekt

Allgemein

Profil

RunLocal Flow » Historie » Revision 6

Revision 5 ([E] Rocco Kreutz, 06.08.2026 12:42) → Revision 6/9 ([E] Rocco Kreutz, 06.08.2026 12:43)

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@