Meta Horizon Link install fails and rolls back on every attempt
The installer fails every single time with "Restart your computer... an error occurred during installation," even on a clean system. I traced it down to a specific legacy driver package failing its health check, which triggers the installer to roll back everything it just successfully installed. Confirmed with logs and a controlled experiment. Support (chat/email) has not engaged with the technical details after multiple attempts.
Setup
Windows 11 (build 26100/26200)
Quest 2, connecting via Air Link
Visual Studio installed (relevant to one sub-issue below)
Symptom
Meta Horizon Link installer always ends with:
"Restart your computer. Unfortunately, an error occurred during installation. Restart the computer and try running the Link installer again. If the problems don't disappear, contact Quest support."
This happens on every attempt: fresh downloads, --unattended mode, different installer sources, after full uninstall/reinstall, regardless of antivirus state.
Investigation summary
1. Visual C++ Redistributable prerequisite loop (separate bug, worked around)
The installer bundles outdated VC++ 2013/2015/2017 sub-installers. On a system where a newer VC++ runtime is already registered (e.g. via Visual Studio), these sub-installers fail with 0x80070666: Cannot install a product when a newer version is installed. Worse: the installer doesn't remember success between runs, so it re-attempts this chain from scratch every time, and can even conflict with its own previously installed VC++2017 package. Workaround: removing the conflicting VC++2017 x64 registry entry before each run lets the chain complete cleanly. This is annoying but not the final blocker.
2. Real root cause: "Rift S USB Driver" install failure triggers a full rollback
With the VC++ issue worked around, the installer proceeds to install drivers via oculus-driver.exe (OculusDriverInstaller, ODI v1.21.5.0). The logs show:
[Warning] Couldn't find matching oem*.inf file in C:\WINDOWS\INF
Sub Install Step: GetOEMName: Rift S USB Driver
[Info] FAILURE! Failed to install driver: Rift S USB Driver
[Error] Process oculus-driver.exe exited with code -1 (failure)
[Debug] Install 'Dawn.Setup.InstallDriversStep' failed.
Because this one sub-step fails, the outer "Dawn" installer engine triggers a full automatic rollback — uninstalling the Meta Horizon app and every driver it just installed, including ones that installed successfully. I don't own a Rift S; I'm Quest 2 only. The Rift S driver package appears to be installed unconditionally regardless of which headset the user owns, and this specific legacy package is what's failing its post-install health check on current Windows builds.
3. Confirmed via a controlled experiment
Using Process Monitor + a script that intercepts riftsusb.inf/riftsusb.cat out of the installer's temp folder the instant they're extracted (before oculus-driver.exe can process them):
Every other driver installed and reported Health status: HEALTHY, including the previously-failing Meta Virtual Screen Driver, Oculus Virtual Audio Device, Reality Labs XRSP Interface, and VR Air Bridge.
The application files were fully installed to C:\Program Files\Meta Horizon\.
The outer installer still triggered an automatic rollback ~1 second after the successful install completed.
I then tested killing the oculus-driver.exe --installType uninstall process the instant it launched, to block the rollback at the driver level. This worked (confirmed via logs) — but C:\Program Files\Meta Horizon was deleted anyway, meaning the outer Setup.exe/Dawn process performs its own, independent file-level rollback of the install directory, not gated on the driver uninstall step.
So there are at least two redundant, independent rollback mechanisms, both triggered by the same legacy driver failure.
Other things ruled out along the way
Full clean reinstall (manual removal of Program Files/ProgramData/AppData remnants)
sfc /scannow and DISM /RestoreHealth — no corruption found
Disabling Windows Defender real-time protection entirely — no change
Running the official unattended installer directly from the CDN (Setup.exe --unattended) — same failure
Out of desperation, tried a workaround floating around for an unrelated-sounding issue: renaming libcrypto-3-x64.dll to libcrypto.dll in System32 (had to takeown/icacls first since it's a protected system file) — did not help, unsurprising in hindsight since it doesn't relate to the actual root cause identified above. Reverted this change afterward and would not recommend it as a general fix.
Support response so far
First response: generic "try installing on a different drive" suggestion, no engagement with the attached logs. Follow-up requesting escalation to engineering also got a generic reply asking me to capture a device log from the Link app — the exact app that fails to install in the first place.
Anyone else hitting this?
If you're getting the same "Restart your computer" loop, check %LocalAppData%\Oculus\OculusSetup.log and %LocalAppData%\Temp\OculusDriverInstaller_*.log for the same GetOEMName: Rift S USB Driver / InstallDriversStep failed signature. Curious whether this is universal or specific to certain Windows builds / having Visual Studio installed.
If anyone has encountered this and solved the problem, I would appreciate any help.
