Der Seafile Drive Client (SeaDrive) vereint die einfache Bedienung traditioneller Netzlaufwerke mit den leistungsfähigen Funktionen von Sync & Share Lösungen. Dies macht SeaDrive den Client der Wahl für viele Anwendungsfälle, wenn es um die gemeinsame Arbeit an Dateien geht. Diese Installationsdokumentation stellt die Änderungen dar, die der Client im Laufe des Normalbetriebs an Windows vornimmt. Sie dient damit dem besseren Verständnis des Clients und der Unterstützung bei der Fehlersuche und -behebung.
Die Installation von SeaDrive 2.0 erfolgt mit einem Windows Installer Paket (MSI), das von der Download-Seite heruntergeladen werden kann. Die aktuelle Version (Stand 2.2.2021) ist die Version 2.0.12 und das Paket hat eine Größe von 91.640KB.
SeaDrive 2.0 lässt sich auf Windows 10 Version 1709 und neuer sowie Windows Server 2019 installieren. In älteren Windows Versionen fehlt die von SeaDrive 2.0 genutzte Windows Cloud Files API. Für die Installation von SeaDrive unter Windows 7, Windows 8 und Windows 10 1507, 1511, 1607 und 1703 kann die Version 1.0 von SeaDrive verwendet werden. SeaDrive 1.0 benötigt nicht die Windows Cloud Files API, sondern verwendet den quelloffenen Dateisystemtreiber Dokany.
SeaDrive ist eine reine 64 Bit Anwendung. Eine Unterstützung von Windows 10 mit 32 Bit Architektur gibt es nicht.
Dieser Artikel bezieht sich ausschließlich auf SeaDrive 2.0. Im Rest des Artikels wird aus diesem Grund ausschließlich die Kurzform SeaDrive für SeaDrive 2.0 verwendet. Alle Screenshots und Registry-Einträge beziehen sich auf SeaDrive 2.0.12. Bei anderen SeaDrive Versionen können diese abweichen.
Die lokale Installation von SeaDrive startet mit einem Doppelklick auf die MSI-Datei. Für den automatisierten Rollout im Unternehmen stehen diverse Konfigurationsoptionen zur Verfügung.
Ein graphischer Assistent leitet bei der lokalen Installation durch den Installationsvorgang. Der Default-Installationspfad ist C:\Program Files\SeaDrive. (Dieser Ordner wird in einem deutschsprachigen Windows im Datei-Explorer unter C:\Programme\SeaDrive angezeigt.) Dieser Standardpfad sollte grundsätzlich nicht ohne guten Grund geändert werden.
Der Installer legt im Installationspfad den Ordner bin an. In diesem werden alle Binaries von SeaDrive abgelegt. Dazu gehören die seadrive.exe und die seadrive-gui.exe sowie zahlreiche Programmbibliotheken (DLLs) und kompilierte Übersetzungsdateien.
SeaDrive verwendet die versteckten AppData Ordner nicht.
Nach Abschluss des Installationsassistenten startet SeaDrive automatisch, legt im Benutzerprofilordner (%userprofile%) den Ordner seadrive an und ruft dann den Einrichtungsassistenten auf.
Der Einrichtungsassistent fragt zunächst nach dem Pfad des lokalen Cache Ordners (englisch: Local Cache Folder). Der Default-Pfad für den Cache Ordner ist %userprofile%\seadrive_root (z.B. ‘C:\Users\datamate\seadrive_root’ für den Benutzer datamate). Ohne gute Gründe sollte auch von diesem Pfad nicht abgewichen werden. Mit Bestätigung des Pfads legt der Einrichtungsassistent den Cache Ordner an. Eine weitere Konfiguration ist nicht nötig. Die Abbildung rechts zeigt die beiden Ordner seadrive und seadrive_root, die bei der Einrichtung des SeaDrive Clients im Benutzerprofilordner angelegt werden.
In %userprofile%\seadrive speichert SeaDrive Datenbank- und Logdateien sowie Informationen über die Synchronisation (siehe Screenshot unten). Die Datenbankdatei accounts.db enthält insbesondere die Anmeldeinformationen der im Client registrierten Seafile Benutzer. An Stelle des Passworts wird dort jedoch ein Token gespeichert. Die Datei config.db enthält Programmeinstellungen des SeaDrive Clients. Die anderen Datenbanken werden für die Sychronisation der Dateien zwischen Client und Seafile Server und die Dateisperrung verwendet. (Für die Betrachtung der Datenbankdateien wird ein Programm benötigt, das SQLite-kompatible Datenbankdateien anzeigen kann. Der quelloffene DB-Browser for SQLite ist dafür eine gute Wahl.) Im Ordner logs befinden sich die beiden Log-Dateien seadrive.log und seadrive-gui.log. Beides sind einfach Textdateien, die bei Programmfehlern als erstes für die Ursachenforschung konsultiert werden sollten. Außerdem befinden sich im Ordner logs auch Crash-Dumps im DMP-Format.
Der lokale Cache Ordner in %userprofile%\seadrive_root ist nach der Einrichtung des SeaDrive Clients bis zur Anlage des ersten Benutzerkontos leer. Für jedes eingerichtete Benutzerkonto legt SeaDrive dort einen Benutzerordner an. Die Ordnernamen folgen der Syntax “Vorname Nachname”, werden aber auf acht Stellen gekürzt (z.B. ‘Max Must’ für den Benutzer Max Mustermann). In die Benutzerordner synchronisiert SeaDrive die Datei- und Ordnerstruktur der Bibliotheken, auf die der Benutzer Zugriff hat, und der Client legt dort die offline Kopien der heruntergeladenen Dateien ab. (Die Funktionsweise von SeaDrive wird im Benutzerhandbuch erläutert.)
Der SeaDrive Knoten im Navigationsbereich des Windows Explorers bzw. dessen Unterordner sind Verknüpfungen auf die gleichnamigen Ordner in %userprofile%\seadrive_root\USERNAME\.
SeaDrive benötigt für die korrekte Funktion zahlreiche Schlüssel in der Windows Registrierungsdatenbank. Die von SeaDrive in den beiden Hauptschlüsseln HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE angelegten Schlüssel und Einträge werden nachfolgend dargestellt. (Die Schlüssel in HKEY_CLASSES_ROOT sind Links auf die Schlüssel in HKEY_CURRENT_USER\SOFTWARE\Classes und HKEY_LOCAL_MACHINE\Software\Classes.)
Bei der Installation werden vom Installer 5 neue Schlüssel in HKCU angelegt:
HaiWen ist der offizielle chinesische Name gemäß Handelsregister der Seafile Ltd.
Ebenfalls legt der Installer zwei Zeichenfolgen unter \SOFTWARE\Microsoft\Windows\CurrentVersion\UFH\SHC an. Diese sind für die Anzeige von Symbolen im Starmenü älterer Windows Versionen verantwortlich.
Hat man bei der Installation die Option “Start SeaDrive on startup” (siehe erster Screenshot) ausgewählt, dann wird im Schlüssel \SOFTWARE\Microsoft\Windows\CurrentVersion\Run die folgende Zeichenfolge eingetragen. Dieser Schlüssel sorgt dafür, dass SeaDrive dem Windows Autostart im Windows Task-Manager hinzugefügt wird.
Im Rahmen der Einrichtung (ohne Anlage eines Benutzerkontos) legt SeaDrive die folgenden Schlüssel in HKCU an:
WinSparkle ist eine quelloffene Software Update Bibliothek für Windows Entwickler.
Für jedes Benutzerkonto werden die folgenden acht Schlüssel angelegt, die die Anzeige des SeaDrive Knoten im Navigationsbereich des Windows Explorer steuern:
Die oben angeführte CLSID wird bei der Installation identifiziert eine Komponente eindeutig. Diese 32-stellige Hexdezimalzahl wird randomisiert erzeugt und ist daher auf jedem System anders.
Jede verwendete Seafile Serveradresse – auch für nicht erfolgreiche Anmeldeversuche – wird im Schlüssel \SOFTWARE\SeaDrive\Seafile Drive Client\UsedServerAddresses in der mehrzeiligen Zeichenfolge ergänzt. Diese Werte stehen im SeaDrive Client bei der Einrichtung eines neuen Benutzers im Dropdownfeld der Serveradresse zur Verfügung. Für eine Bereinigung der Auswahlliste in SeaDrive müssen die entsprechenden Adressen aus dieser Zeichenfolge entfernt werden. Über die Benutzeroberfläche von SeaDrive ist das nicht möglich.
Bei der Installation legt der SeaDrive Installer diese neuen Schlüssel in HKLM an:
Mit diesem Eintrag wird die Anwendung durch den MSI-Installer in Windows registriert. Der Name des Unterschlüssels D31C24F17FBD52247859290DD63F37C9 ist der Product Key des installierten Drive Clients, in dem Fall von SeaDrive 2.0.12. Dieser ist auf allen Windows Systemen identisch.
In \SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders legt SeaDrive 15 Zeichenfolgen mit Wert 1 an.
Außerdem werden einige Komponenten für die SID S-1-5-18, die SID des Kontos des Lokalen Systems, registriert. Auf eine abschliessende Auflistung wird aufgrund der großen Zahl verzichtet:
Im Schlüssel \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\D31C24F17FBD52247859290DD63F37C9 legt SeaDrive die Unterschlüssel Features, InstallProperties, Patches und Usage an.
In \SYSTEM\ControlSet001\Services\bam\State\UserSettings\S-1-5-21-1769227728-2338679624-744173226-1001 wird der folgende Eintrag angelegt:
Im Schlüssel \SYSTEM\CurrentControlSet\Services\bam\State\UserSettings\S-1-5-21-1769227728-2338679624-744173226-1001 wird ein identischer Wert angelegt.
Für jedes Benutzerkonto legt SeaDrive im Schlüssel \SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager einen Unterschlüssel mit Namen ‘seadrive!SERVER_URL!EMAIL_ADDRESS’ an, wobei SERVER_URL und EMAIL_ADDRESS für die verwendete Anmelde-URL und den verwendeten Anmeldenamen stehen.
Die Deinstallation von SeaDrive kann über die Windows Systemsteuerung oder das Kommandozeilenprogramm msiexec erfolgen. Der Uninstaller erfordert eine Entscheidung, ob die Kontoinformationen gelöscht oder behalten werden sollen. Über den Parameter PreconfigureKeepConfigWhenUninstall kann diese Entscheidung vorkonfiguriert werden.
Bei der Deinstallation ohne Kontolöschung wird der SeaDrive Ordner in C:\Programme gelöscht. Ebenfalls gelöscht werden alle Platzhalterdateien im Benutzerordner %userprofile%\seadrive_root\BENUTZERNAME, d.h. alle Dateien, die vor der Deinstallation in der Status Spalte mit einem Wolken-Icon gekennzeichnet waren. Die Ordnerstruktur im Benutzerordner sowie alle lokalen Kopien bleiben erhalten. (Die Dateien in %userprofile%\seadrive werden nicht gelöscht.)Die im Rahmen der Installation in der Registrierungsdatenbank angelegten Schlüssel und Werte werden entfernt. Diese Schlüssel befinden sich auch nach der Installation noch in der Registry: