Zusi-Verzeichnisse: Unterschied zwischen den Versionen
| Zeile 37: | Zeile 37: | ||
== Erkennen des Zusi-Steam-Verzeichnis ==  | == Erkennen des Zusi-Steam-Verzeichnis ==  | ||
Wer für sein Programm den ZusiSteam-Ordner erkennen muss, hat etwas mehr Aufwand. Es empfiehlt sich folgende Strategie:  | Wer für sein Programm den ZusiSteam-Ordner erkennen muss, hat etwas mehr Aufwand. Es empfiehlt sich folgende Strategie:  | ||
# Bevorzugte Lösung: Das Programm im Zusi-Programme-Ordner im Unterordner <code>_Tools\MeinProgramm</code> ablegen. In diesem Fall kann man prüfen, ob es in den Ordnern <code>..</code>, <code>..\..</code> oder <code>..\..\..</code> folgende Dateien oder folgende Unterordner mit folgenden Dateien gibt: <code>ZusiSim.exe</code>, <code>ZusiSim.64.exe</code> (Standardfälle), <code>32bit\ZusiSim.exe</code> oder <code>64bit\ZusiSim.64.exe</code> (andere Bit-Versionen)  | # Bevorzugte Lösung: Das Programm im Zusi-Programme-Ordner im Unterordner <code>_Tools\MeinProgramm</code> ablegen. In diesem Fall kann man prüfen, ob es in den Ordnern <code>..</code>, <code>..\..</code> (Standardfälle) oder <code>..\..\..</code> (andere Bit-Versionen) folgende Dateien oder folgende Unterordner mit folgenden Dateien gibt: <code>ZusiSim.exe</code>, <code>ZusiSim.64.exe</code> (Standardfälle), <code>32bit\ZusiSim.exe</code> oder <code>64bit\ZusiSim.64.exe</code> (andere Bit-Versionen)  | ||
# Falls man dies nicht so umsetzen möchte gäbe es folgende einfachere Lösung: Eine Fehlermeldung, in der man beschreibt, wie man in der Steam-Version die Dateiverwaltung als Admin öffnet, und den Einstellungsdialog mit OK verlässt. Damit schreibt die Verwaltung die Pfade in die Registry und sie können von dort ausgelesen werden.  | # Falls man dies nicht so umsetzen möchte gäbe es folgende einfachere Lösung: Eine Fehlermeldung, in der man beschreibt, wie man in der Steam-Version die Dateiverwaltung als Admin öffnet, und den Einstellungsdialog mit OK verlässt. Damit schreibt die Verwaltung die Pfade in die Registry und sie können von dort ausgelesen werden.  | ||
# Im Grundsatz wäre es auch möglich, über die Registry den Haupt-Steam-Ordner zu finden, von dort aus über die Steam-JSON-Dateien alle anderen Steam-Ordner zu finden, und dann von dort aus die Zusi-Konfig-JSON-Datei zur App-ID 1040730 zu finden. Aufgrund der Komplexität, der impliziten Abhängigkeit von Standards, die Steam nicht garantiert, und Aufgrund schwer überschaubarer Testfälle und Randbedingungen ist diese Vorgehensweise nicht zu empfehlen.  | # Im Grundsatz wäre es auch möglich, über die Registry den Haupt-Steam-Ordner zu finden, von dort aus über die Steam-JSON-Dateien alle anderen Steam-Ordner zu finden, und dann von dort aus die Zusi-Konfig-JSON-Datei zur App-ID 1040730 zu finden. Aufgrund der Komplexität, der impliziten Abhängigkeit von Standards, die Steam nicht garantiert, und Aufgrund schwer überschaubarer Testfälle und Randbedingungen ist diese Vorgehensweise nicht zu empfehlen.  | ||
Version vom 12. Juli 2025, 16:27 Uhr
Hinweis zu Registry-Einträgen
Sämtliche Einträge befinden sich im Schlüssel HKEY_LOCAL_MACHINE\Software\Zusi3.
Wenn auf einem 64-Bit-Rechner Zusi in der 32-Bit-Version installiert wurde liegt der Schlüssel unter HKEY_LOCAL_MACHINE\Wow6432Node\Software\Zusi3. Diese Umleitung erledigt Windows automatisch, wenn man den Schlüssel mit dem KEY_WOW64_32KEY-Flag öffnet:
RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Zusi3", 0, KEY_READ | KEY_WOW64_32KEY, &key)
Die Steam-Version legt bei der Installation keine Registry-Einträge zu den Datenverzeichnissen an. Die Einträge werden erst dann geschrieben, wenn der Benutzer einmal die Zusi-Dateiverwaltung als Administrator gestartet und dort das Fenster "Generelle Zusi-Einstellungen" mit "OK" verlassen hat. Deshalb gibt es hardkodierte Standardpfade als Rückfallebene.
Programmverzeichnis
- Demo-Version: Wert 
ZusiVerzeichnisDemo - Stick-Version: Wert 
ZusiVerzeichnis - Steam-Version: Wert 
ZusiVerzeichnisSteam- In der Steam-Version wird Zusi in die Steam-Datenbank in einen dafür vorgesehenen Ordner gelegt. Vermutlich meistens 
steamapps\common\ZUSI 3 - Aerosoft Edition\. In diesem Ordner befinden sich dann die Unterordner_ZusiData; 32bit; 64bit - Standardmäßig sind die Registry-Einträge in der Steam-Version nicht gesetzt. Für weitere Informationen siehe der Abschnitt #Erkennen des Zusi-Steam-Verzeichnis.
 
 - In der Steam-Version wird Zusi in die Steam-Datenbank in einen dafür vorgesehenen Ordner gelegt. Vermutlich meistens 
 
Datenverzeichnis eigene Daten
- Stick-Version: Wert 
DatenVerzeichnis - Steam-Version: Wert 
DatenVerzeichnisSteam - Fallback (wenn kein Wert existiert): 
<Öffentliche Dokumente>\Zusi3bzw.<Öffentliche Dokumente>\Zusi3Steam; wenn beide Verzeichnisse existieren, ist dasZusi3Steam-Verzeichnis zu nehmen.- Der Ordner "Öffentliche Dokumente" ist der Ordner 
CSIDL_COMMON_DOCUMENTS(SHGetFolderPath, kompatibel mit Windows XP) bzw.FOLDERID_PublicDocuments(SHGetKnownFolderPath, ab Windows Vista). 
 - Der Ordner "Öffentliche Dokumente" ist der Ordner 
 
Datenverzeichnis offizielle Daten (ab 3.3.0.0)
- Demo-Version: Wert 
DatenVerzeichnisDemo - Stick-Version: Wert 
DatenVerzeichnisOffiziell - Steam-Version: Wert 
DatenVerzeichnisOffiziellSteam - Fallback (wenn kein Wert existiert): 
<ZusiVerzeichnis>\_zusidataoder<Zusi-Steam-Verzeichnis>\..\_zusidata 
Erkennen der Stick-Version
Ist relativ zur Exe-Datei die Datei _InstSetup\usb.dat vorhanden, handelt es sich um die Stick-Version, ansonsten um die Steam-Version.
Erkennen des Zusi-Steam-Verzeichnis
Wer für sein Programm den ZusiSteam-Ordner erkennen muss, hat etwas mehr Aufwand. Es empfiehlt sich folgende Strategie:
- Bevorzugte Lösung: Das Programm im Zusi-Programme-Ordner im Unterordner 
_Tools\MeinProgrammablegen. In diesem Fall kann man prüfen, ob es in den Ordnern..,..\..(Standardfälle) oder..\..\..(andere Bit-Versionen) folgende Dateien oder folgende Unterordner mit folgenden Dateien gibt:ZusiSim.exe,ZusiSim.64.exe(Standardfälle),32bit\ZusiSim.exeoder64bit\ZusiSim.64.exe(andere Bit-Versionen) - Falls man dies nicht so umsetzen möchte gäbe es folgende einfachere Lösung: Eine Fehlermeldung, in der man beschreibt, wie man in der Steam-Version die Dateiverwaltung als Admin öffnet, und den Einstellungsdialog mit OK verlässt. Damit schreibt die Verwaltung die Pfade in die Registry und sie können von dort ausgelesen werden.
 - Im Grundsatz wäre es auch möglich, über die Registry den Haupt-Steam-Ordner zu finden, von dort aus über die Steam-JSON-Dateien alle anderen Steam-Ordner zu finden, und dann von dort aus die Zusi-Konfig-JSON-Datei zur App-ID 1040730 zu finden. Aufgrund der Komplexität, der impliziten Abhängigkeit von Standards, die Steam nicht garantiert, und Aufgrund schwer überschaubarer Testfälle und Randbedingungen ist diese Vorgehensweise nicht zu empfehlen.