Oculus PC app setup crashes before launching, making installation impossible
(Event log details at the end) Trying to run OculusSetup.exe from the Meta website seems to be impossible on my home PC, as the installer hard crashes before any UI is even shown.
As expected, Meta support is completely and utterly fucking worthless. All they know how to do is email you the basic instructions already on their worthless ass website.
I am running Windows 10 x64 Home, and can be bothered to provide further tech specs if someone provides a specific reason for needing them. I also have Avast AV installed, but completely uninstalling and rebooting made absolutely no difference in outcome or error output.
No, I am not open to reinstalling Windows.
Running the installer results in 3 administrative error events :
.NET Runtime
spoiler
Log Name: Application
Source: .NET Runtime
Date: 7/2/2024 2:26:29 AM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: ----
Description:
Application: OculusSetup.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArithmeticException
Exception Info: System.OverflowException
at System.Windows.Media.Imaging.ColorConvertedBitmap.FinalizeCreation()
at System.Windows.Media.Imaging.ColorConvertedBitmap..ctor(System.Windows.Media.Imaging.BitmapSource, System.Windows.Media.ColorContext, System.Windows.Media.ColorContext, System.Windows.Media.PixelFormat)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at System.Windows.Media.Imaging.BitmapImage.EndInit()
at System.Windows.Media.Imaging.BitmapImage..ctor(System.Uri, System.Net.Cache.RequestCachePolicy)
at Daybreak.Gooey.SleekImage..ctor(System.Uri)
at Dawn.Gooey.DawnWindow.OnLoaded(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)
at System.Windows.BroadcastEventHelper.BroadcastEvent(System.Windows.DependencyObject, System.Windows.RoutedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(System.Object)
at MS.Internal.LoadedOrUnloadedOperation.DoWork()
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object)
at System.Windows.Media.MediaContext.RenderMessageHandler(System.Object)
at System.Windows.Media.MediaContext.Resize(System.Windows.Media.ICompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(MS.Internal.Interop.WindowMessage, IntPtr, IntPtr)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name=".NET Runtime" />
<EventID Qualifiers="0">1026</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2024-07-02T08:26:29.5208066Z" />
<EventRecordID>79576</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>Application</Channel>
<Computer>----</Computer>
<Security />
</System>
<EventData>
<Data>Application: OculusSetup.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArithmeticException
Exception Info: System.OverflowException
at System.Windows.Media.Imaging.ColorConvertedBitmap.FinalizeCreation()
at System.Windows.Media.Imaging.ColorConvertedBitmap..ctor(System.Windows.Media.Imaging.BitmapSource, System.Windows.Media.ColorContext, System.Windows.Media.ColorContext, System.Windows.Media.PixelFormat)
at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
at System.Windows.Media.Imaging.BitmapImage.EndInit()
at System.Windows.Media.Imaging.BitmapImage..ctor(System.Uri, System.Net.Cache.RequestCachePolicy)
at Daybreak.Gooey.SleekImage..ctor(System.Uri)
at Dawn.Gooey.DawnWindow.OnLoaded(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)
at System.Windows.BroadcastEventHelper.BroadcastEvent(System.Windows.DependencyObject, System.Windows.RoutedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(System.Object)
at MS.Internal.LoadedOrUnloadedOperation.DoWork()
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object)
at System.Windows.Media.MediaContext.RenderMessageHandler(System.Object)
at System.Windows.Media.MediaContext.Resize(System.Windows.Media.ICompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(MS.Internal.Interop.WindowMessage, IntPtr, IntPtr)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
PS, if the only thing you can think of is "HURR JUST WIPE YOUR DRIVE AND DO A CLEAN OS INSTALL", fuck yourself with a pitchfork or I'll fucking find you and do it myself. That's reddit shit and you know it
UPDATE
I'm seeing a lot of references to KERNELBASE.dll, as well as some kind of image drawing/color issue that I don't understand. If anyone has any ideas about those, I'd appreciate it
UPDATE 2
Found a log from the Oculus app its self in my appdata. Main take away so far is this line:
"System.OverflowException: The image data generated an overflow during processing. ---> System.ArithmeticException: Overflow or underflow in the arithmetic operation".
I remember looking up an exception code earlier and something came up about trying to divide by zero. Anyone have a clue here? It almost sounds to me like the Meta people just can't fucking code to save their lives (or careers, which I'm not to confident in right now).
From the first message it sounds like it tries to load some image before it collapses. Do you have some strange color correction, monitor settings, night light? Multiple or external gpus? Variable or 60+ framerate?
Update your gpu drivers, unplug all monitors except the main one, reset any graphic related windows and driver settings youchanged to default.
Interesting idea, I'm running dual monitors and higher than 60 fps on one of them only. That monitor also has g-sync and some other nvidia gimmicks, but as far as I know I don't have any of them enabled. I also keep drivers updated religiously, so we can check that box.
I don't know much about .NET but this looks like it could be a compatibility problem with the version of the .NET runtime that you have installed. Try downloading the latest version of .NET runtime from microsoft's website and see if that fixes it.
I made sure to download the latest runtime after seeing that error the first time, but no dice. They also have no information on their site whatsoever regarding any dependencies for this software or their links in general.
Hey, no idea if this is still an issue for you but it's the only mention of this I could find on the internet and I managed to fix it for myself - based on this GitHub issue the issue seems to be color profiles.
If you go to Windows Settings -> Colour Management -> Advanced and then change Device profile from 'sRGB virtual device model profile' to 'sRGB IEC61966-2.1' then it should fix the problem.
I was also running it in Windows 8 compatibility mode but I'm not certain that made a difference, so if changing the color profile doesn't help try that as well?