Folgende Beobachtungen führten u.a. zu den gemachten Transformationen:
Multi-User-Betrieb
Aufgrund der MSI-Einstellungen Root=1 (Registry-Tabelle) und ALLUSERS=1 (Property-Tabelle) wird bei einer administrativen Installation (nicht Systemkonto) der Autostart ausschließlich auf Benutzerebene des Installierers eingerichtet: HKCU\Software\Microsoft\Windows\CurrentVersion\Run
- Keine Einträge finden sich in HKLM\Software\Microsoft\Windows\CurrentVersion\Run, shell:startup oder shell:common startup
- Wenn sich also am selben Rechner ein/e andere/r Benutzer/in anmeldet, wird Seafile dort nicht mehr automatisch gestartet.
Bei einer Installation über das Systemkonto (LocalSystem Account; NT-Autorität\System; SCCM) wird der Autostart entsprechend hier eingerichtet: HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run
- Im Falle eines Deployments via SCCM wird somit bei keinem Benutzer Seafile automatisch gestartet.
"Benutzer wechseln" (Switch user) und Multis-Session
Wir haben "Benutzer wechseln" mehrmals probiert mit jeweils geänderten Daten in einem von Seafile synchronisierten Ordner:
- Ein/e angemeldete/r Benutzer/in muss sich nicht vorher abmelden, damit ein/e weiterer/e angemeldete/r Benutzer/in Seafile nutzen kann. Der Userwechsel ohne Abmeldung funktioniert sowohl mit dem Sync-Client als auch dem Seadrive-Client.
Beide Clients seien auch multi-session-fähig.
- Im User-Kontext werden zwei Prozesse gestartet: seafile-applet (Userinterface) und seaf-daemon (Hintergrund-Task für die Synchronisation). Es existiert auch kein Dienst der mit anderen Rechten gestartet wird. Die Client-Konfiguration landet direkt in einem Ordner unter %USERPROFILE%\ccnet
- Beim Einrichten des Clients haben die User die Möglichkeit, sich selbst ein Ei zu legen, wenn sie einen Ordner synchronisieren der aus Windows-Sicht für beide Benutzer zugänglich ist.
Vorkonfiguration
Der Client lässt sich über 2 Wege vorkonfigurieren, in Anlehnung an https://help.seafile.com/faq bzw. https://de.seafile.com/konfiguration-seadrive-registry-konfigurationsdatei/
- Entweder über die Registrierung (HKCU oder HKLM),
- oder über eine Konfigurationsdatei
seafile.ini
im Benutzerprofil.
Ich überlasse dem/der Benutzer/in die Entscheidungen, wo der "Standard-Ordner von Seafile erstellt werden soll." Es ist dies der Seafile-Ordner, der als Ziel vorausgewählt ist beim Herunterladen künftiger Bibliotheken.
Single Sign-On
Einzig die SSO-Adresse (= default shibboleth login address) gebe ich praktischerweise schon in der Registrierung vor.
Beim Erstaufruf von Seafile (Autostart) muss der Benutzer also noch folgende Schritte durchführen:
- Standard-Ordner von Seafile auswählen.
- Auf "Single Sign-On" klicken und seine Benutzerdaten (Kennung und Passwort) eingeben.
Einstellungen
Einige wünschen sich, dass folgende zwei Client-Einstellungen (Reiter "Allgemein") für alle User vorgegeben werden und nicht von dem/der Benutzer/in selbst vorgenommen werden müssen:
- "Hauptfenster nach dem Start ausblenden" deaktivieren
- "Seafile nach der Anmeldung automatisch starten" deaktivieren
Diese Einstellungen werden auch dann nicht systemweit (für alle User) eingerichtet, wenn der Installer als Administrator oder System ausgeführt wird (ALLUSERS=1 ist bereits in der Property-Tablle voreingestellt):
- [HKCU\SOFTWARE\Seafile\Seafile Client\Behavior] hideMainWindowWhenStarted=true (REG_SZ)
- [HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] Seafile=C:\Program Files\Seafile\bin\seafile-applet.exe (REG_SZ)
- Die Eigenschaft SEAFILE_AUTO_START=1 wird immer im Registry Hive des jeweiligen installierenden Benutzers gesetzt (HKCU bzw. HKEY_USERS\.DEFAULT).
- SEAFILE_AUTO_START=0 oder SEAFILE_AUTO_START="" unterbindet dieses Verhalten nicht, es muss hierfür die Eigenschaft aus der Property-Tabelle gelöscht werden.
Wenn man die Angaben in den äquivalenten HKLM-Bereich erstellt, dann erhält man dasselbe Verhalten für alle User, mit dem Schönheitsfehler, dass in den Einstellungen zwar das Häkchen bei "Hauptfenster ... ausblenden" gesetzt ist, nicht jedoch bei "Seafile ... automatisch starten" (obwohl der Client wie gewünscht für alle Benutzer gestartet wird).
Kontoinformationen entfernen
Bei der Deinstallation (und Aktualisierung einer bestehenden Version) wird folgendes beobachtet:
- Es erscheint das Fenster "Möchten Sie die Kontoinformationen für Seafile wirklich entfernen?"
- Entspricht MSI-Action: RemoveSeafileUserData
- Das Fenster erscheint auch bei einer silent- bzw. unattended-Deinstallation (/quiet bzw. /passive) und auch mit dem Zusatzparameter REMOVE=ALL
- Allerdings lässt sich die Frage mittels Registry-Eintrag PreconfigureKeepConfigWhenUninstall konfigurieren.
Key: PreconfigureKeepConfigWhenUninstall - Type: REG_SZ - Value: 0 (show the confirm dialog) or 1 (hide the confirm dialog wizard)
-
SecureCustomProperties enthält zwar die Eigenschaft CHECKBOX_DEL_SEAFILE_DATA, es ist mir aber unklar, ob diese Eigenschaft dieses Fenster steuert oder was anderes bewirkt.
- Es werden Explorer.exe-Prozesse beendet, sofern der Syncing-Client läuft, so dass nach erfolgter Deinstallation der Monitor schwarz bleibt (siehe FileInUse-Problematik).
Programmstart nach erfolgter Installation
Nach einer erfolgreichen Installation wird ab Version 9 standardmäßig der Seafile-Client gestartet (seafile-applet.exe, seaf-daemon.exe, conhost.exe). Diese Verhalten kann mit der Eigenschaft SUPPRESS_LAUNCH_SEAFILE_AFTER_INSTALL_FINISH=1 unterbunden werden, was v.a. sinnvoll ist, wenn die Installation im Systemkontext erfolgt.