BonOptics stürzt ab und kann nur nach Rechnerreboot wieder geöffnet werden
BonOptics kann den konfigurierten Datenbankpfad nicht erreichen, obwohl das gemappte Netzlaufwerk im Windows Explorer sichtbar und erreichbar ist. Der Pfad über das Laufwerk ist im Dateiauswahl-Dialog der Anwendung nicht verfügbar. Bei Nutzung eines UNC-Pfads als Workaround war nach einem Verbindungsabbruch ein vollständiger PC-Neustart erforderlich. Auftreten bei Optik Individuell, JK PC Spaltlampe.
URSACHE:
Das Problem liegt in der UAC-Sitzungstrennung von Windows. Erklärung unten.
Das Problem liegt in der UAC-Sitzungstrennung von Windows. Erklärung unten.
LÖSUNG
Registry-Eintrag "EnableLinkedConnections" setzen. Dieser veranlasst Windows,
gemappte Netzlaufwerke zwischen Standard- und erhobenem Token-Kontext zu
synchronisieren.
Registry-Eintrag "EnableLinkedConnections" setzen. Dieser veranlasst Windows,
gemappte Netzlaufwerke zwischen Standard- und erhobenem Token-Kontext zu
synchronisieren.
Manuell (Registry-Editor):
Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
Name: EnableLinkedConnections
Typ: DWORD (32-Bit)
Wert: 1
Per Kommandozeile (als Administrator):
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" ^
/v EnableLinkedConnections /t REG_DWORD /d 1 /f
Danach ist ein Neustart des PCs erforderlich.
Pfad: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
Name: EnableLinkedConnections
Typ: DWORD (32-Bit)
Wert: 1
Per Kommandozeile (als Administrator):
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" ^
/v EnableLinkedConnections /t REG_DWORD /d 1 /f
Danach ist ein Neustart des PCs erforderlich.
Nach der Behebung des Laufwerksproblems steht das gemappte Netzlaufwerk im Dateiauswahl-Dialog der Anwendung zur Verfügung. Diesen in BonOptic für den Pfad zur Datenbank wählen und BonOptics neu starten.
Erklärung:
Was ist UAC?
------------
Die Benutzerkontensteuerung (User Account Control, UAC) wurde mit Windows
Vista eingeführt. Sie trennt Prozesse in zwei Token-Kontexte:
- Standard-Token: normaler Benutzerkontext (z. B. Explorer, Desktop)
- Erhöhter Token: administrativer Kontext (elevated Prozesse)
Gemappte Netzlaufwerke werden pro Token-Kontext verwaltet. Ein Laufwerk,
das im Standard-Kontext verbunden wurde, ist im erhöhten Kontext nicht
automatisch sichtbar – und umgekehrt.
Läuft BonOptics mit erhöhten Rechten, sieht die Anwendung die Laufwerke
des normalen Benutzerkontexts daher nicht, obwohl sie im Explorer
(Standard-Kontext) korrekt angezeigt werden.
Warum half ein UNC-Pfad nicht dauerhaft?
-----------------------------------------
Ein UNC-Pfad (Universal Naming Convention) adressiert eine Netzwerkfreigabe
direkt über den Hostnamen, z. B.:
\\SERVER\Freigabe\Datenbank
Wird ein UNC-Pfad von einem elevated Prozess genutzt, baut Windows eine
eigene SMB-Sitzung im erhöhten Token-Kontext auf. Windows erlaubt jedoch
nur eine SMB-Sitzung pro Benutzer und Server gleichzeitig. Gerät diese
Sitzung in einen Fehlerzustand, kann keine neue aufgebaut werden – auch
nach einem Neustart der Anwendung nicht, da die fehlerhafte Sitzung im
Speicher verbleibt. Erst ein vollständiger PC-Neustart entfernt sie.
Was ist UAC?
------------
Die Benutzerkontensteuerung (User Account Control, UAC) wurde mit Windows
Vista eingeführt. Sie trennt Prozesse in zwei Token-Kontexte:
- Standard-Token: normaler Benutzerkontext (z. B. Explorer, Desktop)
- Erhöhter Token: administrativer Kontext (elevated Prozesse)
Gemappte Netzlaufwerke werden pro Token-Kontext verwaltet. Ein Laufwerk,
das im Standard-Kontext verbunden wurde, ist im erhöhten Kontext nicht
automatisch sichtbar – und umgekehrt.
Läuft BonOptics mit erhöhten Rechten, sieht die Anwendung die Laufwerke
des normalen Benutzerkontexts daher nicht, obwohl sie im Explorer
(Standard-Kontext) korrekt angezeigt werden.
Warum half ein UNC-Pfad nicht dauerhaft?
-----------------------------------------
Ein UNC-Pfad (Universal Naming Convention) adressiert eine Netzwerkfreigabe
direkt über den Hostnamen, z. B.:
\\SERVER\Freigabe\Datenbank
Wird ein UNC-Pfad von einem elevated Prozess genutzt, baut Windows eine
eigene SMB-Sitzung im erhöhten Token-Kontext auf. Windows erlaubt jedoch
nur eine SMB-Sitzung pro Benutzer und Server gleichzeitig. Gerät diese
Sitzung in einen Fehlerzustand, kann keine neue aufgebaut werden – auch
nach einem Neustart der Anwendung nicht, da die fehlerhafte Sitzung im
Speicher verbleibt. Erst ein vollständiger PC-Neustart entfernt sie.