VirtualBox: Workaround für Startprobleme von VBoxTray

Bei mir läuft in VirtualBox noch eine Maschine mit Windows XP. Seit Monaten habe ich dort das Problem, dass VBoxTray (Teil der VirtualBox-Gasterweiterungen) nur sehr unzuverlässig startet. VBoxTray wird für die Funktion Gemeinsame Zwischenablage verwendet und ist daher für mich essentiell.

Bislang behalf ich mich dadurch, dass ich in Windows XP bei StartAusführen… einfach vboxtray eingegeben und auf Enter gedrückt habe.

Mit der Umstellung meine Host-Systems auf VirtualBox 7.0.16 wurde das Problem jedoch nerviger, weil noch weniger (automatische) Startversuche erfolgreich waren als bei VirtualBox 6.1.50.

Als Workaround habe ich mir nun folgende Zeilen als Datei delayedVBoxTray.vbs im Windows-Ordner %USERPROFILE%\Startmenü\Programme\Autostart abgespeichert:

Set objShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep(120000)
objShell.Run("%SystemRoot%\system32\VBoxTray.exe")

VBoxTray wird dadurch erst 2 Minuten nach meiner Anmeldung in Windows XP gestartet.

Den standardmäßig vorhandenen Autostart per HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\VBoxTray habe ich mittels Autoruns deaktiviert. Als ich dort nämlich die Parameter -vvvv --logfile c:\temp\VBoxTray.log (DnDDebug – Oracle VirtualBox) für VBoxTray einsetzte, fand ich nämlich in der Protokolldatei folgendes:

00:00:04.343750 main     vboxTrayCreateTrayIcon: Could not create tray icon, error=1460
00:00:04.343750 main     vboxTrayServiceMain: Waiting for services to stop ...
00:00:04.359375 main     Stopping all services ...

Diese Zeilen deuten darauf hin, dass sich VBoxTray nach dem Start selbst wieder beendet, weil es nicht lange genug wartet, bis Windows ihm das erfolgreiche Erstellen des Symbols im Infobereich (engl. Taskbar Notification Area) signalisiert.