# Schulinstallation und Betrieb

Ziel: Windows 11 x64. Keine zugesicherte Unterstützung für ARM, Windows S Mode, andere Betriebssysteme oder unbekannte Sperr-/Rücksetzsysteme. Der konkrete Teststand steht im Prüfbericht. Kein laufendes Entwicklerkonto erforderlich.

## Windows-Zugriff absichern

1. Frei gemeinsam benutztes Windows-Konto: ausschließlich Gastbetrieb. Keine dauerhaften Lerndaten.
2. Persönliche getrennte Windows-Konten: Benutzer-Datenordner und passende NTFS-Rechte. Ein Kind erhält nur seinen Profilzugang. Das Erwachsenen-Passwort schützt App-Funktionen, nicht Dateien desselben Kontos.
3. Beaufsichtigter gemeinsamer Betrieb: nur nach zusätzlichem dokumentiertem Schutzkonzept der IT, z.B. gesperrte Kiosk-/Anwendungsumgebung ohne Dateimanager, Shell, Entwicklertools oder fremde ausführbare Programme, Zugriff auf Exporte/Backups eingeschränkt, physischer Zugriff geregelt. Ein bloß anderer Ordner mit denselben Benutzerrechten isoliert Kinder NICHT. Ohne solche Bedingungen Gastbetrieb wählen.

Seit 0.1.7 gibt es in der Anwendung keine Betriebsart-Auswahl mehr: ein Lehrerzugang verwaltet alle lokalen Kinderkonten. Die genannten Windows-Schutzmaßnahmen bleiben notwendig; die Anwendung kann ihre Wirksamkeit nicht automatisch beweisen. Schüler dürfen keine unbekannten Programme installieren. Normale Lernnutzung erfordert keine Administratorrechte.

## Installation und Wartung

Die reguläre NSIS-EXE interaktiv starten oder wie unten installieren. Diese kleine Ausgabe benötigt eine bereits lokal installierte Microsoft WebView2 Runtime. Ohne Runtime muss die IT diese vorab bereitstellen oder eine ausdrücklich mit `scripts/build-windows.ps1` ohne `-WithoutWebView2` erzeugte große Offline-Ausgabe verwenden. Der Paketname allein unterscheidet die Varianten nicht; Release-Hinweise prüfen.

```powershell
Start-Process -FilePath '.\Mathe-Entdeckerwelt_0.1.16_x64-setup.exe' -ArgumentList '/S' -Wait -WindowStyle Hidden
```

NSIS installiert pro Benutzer. Der genaue Name ist dem Release-Verzeichnis zu entnehmen. Installation/Runtime-Bereitstellung kann durch Schulrichtlinien oder fehlende Komponenten trotzdem Administrator-/IT-Freigaben benötigen. Nicht versuchen, SmartScreen, AppLocker oder andere Richtlinien zu umgehen. Ein kostenpflichtiges Signierzertifikat wurde nicht beschafft. Optional kann die IT den Tauri-Windows-Signierprozess über `signCommand` in einer gesonderten Buildkonfiguration integrieren; Schlüssel nie ins Repository legen.

Die kleine MSI/NSIS-IT-Ausgabe benötigt vorher lokal installierte WebView2 Runtime. MSI nur verwenden, wenn tatsächlich erzeugt und auf dem Zielimage geprüft:

```powershell
msiexec.exe /i "Mathe-Entdeckerwelt_0.1.16_x64_de-DE.msi" /qn /norestart
msiexec.exe /x "Mathe-Entdeckerwelt_0.1.16_x64_de-DE.msi" /qn /norestart
```

Für NSIS den registrierten Uninstaller des installierten Programms mit `/S` starten. Keine pauschalen Löschbefehle verwenden. Normale Deinstallation/Updates sind von einer bewussten Löschung des Datenbereichs getrennt. WebView2 wird möglicherweise von anderen Anwendungen genutzt und bleibt erhalten.

## Datenpfad und Sicherung

Vor jedem Update eine verschlüsselte Sicherung erstellen, App schließen und anschließend den neuen Installer verwenden. Updates können als Datei über einen geprüften USB-Stick oder Download weitergegeben werden. Die App benötigt dafür keinen eigenen Internetzugang und hat keinen Auto-Updater. Konten gelten je lokalem Datenbereich/Windows-Konto, nicht automatisch auf allen Schul-PCs.

Ein Klassenwechsel beendet eine noch offene Runde nach Warnung in der Lehreroberfläche. Unfertige Antworten dieser Runde werden verworfen; bereits gespeicherte Lernfortschritte und Aufgabenverläufe bleiben erhalten. Reine Namensänderungen erhalten die offene Runde.

Standard: `%LOCALAPPDATA%\de.mathe-entdeckerwelt.desktop\data\learning.sqlite3`, einschließlich SQLite-WAL/SHM. Die kontrollierte Pfadzuordnung steht daneben in `location.json`. Der tatsächliche Pfad ist im Erwachsenenbereich sichtbar. Keine produktive Datenbank unter OneDrive oder auf Netzwerkfreigaben betreiben. Der Quellcode darf in einem anderen Entwicklungsordner liegen; Produktdaten werden davon getrennt.

Bei Rücksetzsystemen muss die IT einen dauerhaft erhaltenen lokalen Bereich bereitstellen. Die Anwendung erkennt weder alle Cloud-Provider noch sämtliche Rücksetzsoftware. Pfadprüfung ersetzt keine IT-Freigabe. Beim Pfadwechsel wird die Datenbank per SQLite-Backup konsistent kopiert und die neue Datei geprüft. Die alte Kopie bleibt zur Wiederherstellung bestehen: nach Kontrolle gezielt durch die IT löschen, wenn sie nicht mehr benötigt wird. Ein Programm-Update löscht keine Daten.

Regelmäßig unter „Sicherung“ eine Datei erstellen und das Passwort separat verwahren. Testwiederherstellung zunächst mit künstlichen Daten in einer isolierten Installation. Eine Sicherung enthält Kinderkonten, Lernstände, Detailversuche und Kinderzugangs-Hashes; kein Lehrer-Passwort, globale Schuleinstellungen, Windows-Rechte, externe Datenpfade oder Inhaltspakete. Diese Konfiguration separat dokumentieren. „Ersetzen“ entfernt aktuelle Konten transaktional; „Als zusätzliche Konten anlegen“ erzeugt neue IDs und ergänzt doppelte Namen um eine Nummer. Das Bundesland der Zielinstallation gilt für alle importierten Kinder. Vor Ersetzen eine aktuelle Sicherung anlegen.

Passwort vergessen: Seit 0.1.15 enthalten beide Installer `ResetTeacher.exe` mit `ResetTeacher-Anleitung.md` und `ResetTeacher-Lizenzen.md` im Programmordner. Beim normalen NSIS-Setup ist dies `%LOCALAPPDATA%\Mathe-Entdeckerwelt`; bei MSI/IT-Verteilung kann ein anderer Installationspfad gelten. Lern-App schließen, Werkzeug öffnen, Datenbankpfad prüfen, neues Lehrerpasswort zweimal eingeben und bestätigen. Vor der Änderung wird eine geprüfte vollständige Sicherung unter `teacher-password-backups` im Datenordner angelegt. Nur das Lehrerpasswort wird ersetzt; Kinderkonten, Kinderpasswörter, Lernstände und angefangene Runden bleiben erhalten. Keine Datenbank löschen und keine alte Sicherung zurückspielen.

Das Werkzeug verlangt bewusst weder das alte Lehrerpasswort noch Administratorrechte. Auch ein Kind kann es bei entsprechenden Windows-Dateirechten verwenden; der Dateiname und ein versteckter Ordner bieten keinen Schutz. Das Werkzeug ist öffentlich in den Installern enthalten. Wer die lokale Datenbank beschreiben darf, ist daher nicht zuverlässig allein durch das Lehrerpasswort vom Lehrerbereich ausgeschlossen. Diese Grenze muss das Betriebskonzept berücksichtigen. Die automatisch erstellten SQLite-Sicherungen sind unverschlüsselt und ebenso zu schützen. Die ausführliche Anleitung in der App ist nur nach Lehrer-Anmeldung sichtbar und sollte vorab gelesen werden; die mitinstallierte Textanleitung bleibt im Explorer verfügbar.

Beim Wiederherstellen werden keine offenen Runden fortgesetzt. Konten und bereits gespeicherte Lernstände werden übernommen; offene Antworten sind kein Wiederherstellungsversprechen.

## Zielimage-Abnahme

- Offline-Neuinstallation ohne WebView2, erster Start, Gastaufgabe und Erwachsenen-Einrichtung.
- Standardbenutzer, 1366×768/1920×1080, 100/125/150 % Skalierung, Tastatur und vorhandene Hilfstechnologien.
- Deutsche SAPI-Stimme unter tatsächlichem Konto hören; Stoppen, Lautstärke und stummer Start.
- Profilabschottung einschließlich Versuch des direkten Dateizugriffs unter dem unterstützten Betriebskonzept.
- Normaler Neustart, Rücksetzsystem, Schreibschutz, voller Datenträger, Stromausfall und Backup-Wiederherstellung.
- App- und WebView2-Wartung, Freigabe unsignierter Software, Rechtsgrundlage/Aufbewahrung separat prüfen.
