hellzerg / optimizer

The finest Windows Optimizer
GNU General Public License v3.0
13.64k stars 917 forks source link

15.0 and after versions instantly crash when opened #458

Closed qyurila closed 6 months ago

qyurila commented 7 months ago

Describe the bug

When I try to open 15.0 or after version of Optimizer, the window does not function for a few seconds and crashes.

14.9 and before versions work without any problems.

Expected behavior

Screenshots

Logs

16.4

[ERROR] [1/4/2024 6:05:28 PM] in function [Integrator.TakeOwnershipExists]
Object reference not set to an instance of an object.

   at Optimizer.IntegratorHelper.TakeOwnershipExists()

15.0

[ERROR] [1/4/2024 6:00:00 PM] in function [Integrator.TakeOwnershipExists]
Object reference not set to an instance of an object.

   at Optimizer.Integrator.TakeOwnershipExists()

Desktop (please complete the following information):

hellzerg commented 7 months ago

@qyurila Seems the crash error is happening too early to be logged inside the app's logger. Can you inspect the Event Viewer? also check that .net framework 4.8.1 is installed

qyurila commented 7 months ago

@hellzerg Here is the event log:

Log Name:      Application
Source:        .NET Runtime
Date:          2024-01-04 오후 11:22:52
Event ID:      1026
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Hyeon-PC-2305
Description:
Application: Optimizer-16.4.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: exception code c0000005, exception address 00007FF9FD64A423
Stack:
   at System.Windows.Forms.UnsafeNativeMethods.SetFocus(System.Runtime.InteropServices.HandleRef)
   at System.Windows.Forms.UnsafeNativeMethods.SetFocus(System.Runtime.InteropServices.HandleRef)
   at System.Windows.Forms.ContainerControl.FocusActiveControlInternal()
   at System.Windows.Forms.ContainerControl.SetActiveControlInternal(System.Windows.Forms.Control)
   at System.Windows.Forms.ContainerControl.set_ActiveControl(System.Windows.Forms.Control)
   at System.Windows.Forms.Control.Select(Boolean, Boolean)
   at System.Windows.Forms.Control.SelectNextControl(System.Windows.Forms.Control, Boolean, Boolean, Boolean, Boolean)
   at System.Windows.Forms.Form.SetVisibleCore(Boolean)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at Optimizer.Program.StartMainForm()
   at Optimizer.Program.Main(System.String[])

So it seems that Optimizer is trying to use .NET 4.0. The thing is, I don't think .NET 4.8 is not installed on my PC unless I have no idea how to install it properly.

When I try to install it with the online installer, it says '.NET Framework 4.8.1 or a later update is already installed on this computer', even after I temporarily uninstalled the .NET 8.0 SDK. I also tried to enable 4.8 through the 'Turn windows features on or off' window. Optimizer still crashes with the same exception stack even after all of this (and a restart).