Ausgangssituation:
Ein Programm speichert Dateien in Windows 10/11 unter C:\Users\<Benutzername>\AppData ab. Da bereits zahlreiche andere Ordner/Dateien per QSync auf eine QNAP NAS abgelegt werden, ist es naheliegend diese Daten ebenfalls mittels QSync zu synchronisieren.
Im konkreten Fall handelt es sich um Speicherstände des Spiels "No Man's Sky", die auf unterschiedlichen PCs (Desktop/Notebook) genutzt werden. Sie sollen auf beiden PC immer aktuell sein, so dass sie nicht händisch kopiert werden müssen.
Hinweis: Wer die integrierte Version der Cloudsynchronisation von Steam nutzt, kann hier aufhören und sich anderen Dingen des Lebens widmen ;). Wer dies wie ich nicht nutzt kann gern weiterlesen.
Derzeitiger Stand:
QSync verweigert allgemein den Zugriff auf AppData oder darunterliegende Ordner/Dateien. Hierzu das Statement von QNAP in ihren FAQ.
Lösungsansatz:
Mittels des Windows-Befehls "mklink" einen Symbol-/Hardlink auf einen "unkritischen" Ort erstellen um diese "Sperre" zu umgehen. Leider prüft QSync während der Synchronisation den Pfad der zu synchronisierenden Daten und merkt, dass diese Daten
in AppData liegen und verweigert den Zugriff (Fehlermeldung "Zugriff verweigert"). Daher muss ein Schritt weiter gedacht werden: "Wenn sich Qsync nicht hinters Licht führen lässt, dann vielleicht die Anwendungssoftware" .
Umsetzung:
Vor der Durchführung von Änderungen am PC immer eine Sicherung anlegen um im Fall der Fälle alle Änderungen rückgängig machen zu können - Die Umsetzung erfolgt auf eingenes Risiko - jegliche Haftung AUSGESCHLOSSEN!!!
1. Verschieben des Ordners C:\Users\<Benutzername>\AppData\Roaming\HelloGames nach C:\
2. Kommandozeile (als Admin) öffnen
3. Eingabe mklink /j C:\HelloGames C:\Users\<Benutzername>\AppData\Roaming\HelloGames
Anmerkungen:
- Die Originaldaten müssen verschoben werden, nicht kopiert, da sonst die Erstellung des Symbollinks fehlschlägt
- Sollten Leerzeichen im Pfadnamen vorhanden sein, muss der komplette Pfad in Hochkommas gesetzt werden
- mklink unterstützt die Erstellung von Symbollinks nur innerhalb eines Laufwerks
Ergebnis:
Das Spiel startet und "findet" die Speicherstände. Aktualisierungen der Stände klappen ebenfalls und werden syncronisiert. Auch wenn dies ein sehr explizites Beispiel darstellt läst es sich auf andere Ordner problemlos übertragen. Ich empfehle allerdings dies
nur bei Daten anzuwenden, die tatsächlich "unkritisch" sind wie z. B. Spielspeicherstände oder Konfigurationsdateien. Von geöffneten Caches rate ich ab - QNAP hat nicht grundlos den Stopstrich bei AppData gezogen. D. h. von pauschalen Aktionen wie "Local", "LocalLow", "Roaming" oder gar "AppData" umzubiegen rate ich dringend ab!
LG/Cheers