DanielKote / Foreman2

Visual planning tool for Factorio
Other
158 stars 14 forks source link

Foreman V2.0 - dev.13-current fix doesn't work on Windows 11 #82

Closed SehiiRohoza closed 6 months ago

SehiiRohoza commented 6 months ago

Hello,

Recently I switched from Windows 10 to Windows 11. Unfortunately, Foreman V2.0 - dev.13-current fix doesn't work as expected on Windows 11 - whenever I tried to add an item I've got an error message:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************ Exception Text ************
System.TypeInitializationException: The type initializer for 'Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE' threw an exception. ---> System.TypeInitializationException: The type initializer for 'SWIGExceptionHelper' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'google-ortools-native': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE.SWIGExceptionHelper.SWIGRegisterExceptionCallbacks_operations_research_linear_solver(ExceptionDelegate applicationDelegate, ExceptionDelegate arithmeticDelegate, ExceptionDelegate divideByZeroDelegate, ExceptionDelegate indexOutOfRangeDelegate, ExceptionDelegate invalidCastDelegate, ExceptionDelegate invalidOperationDelegate, ExceptionDelegate ioDelegate, ExceptionDelegate nullReferenceDelegate, ExceptionDelegate outOfMemoryDelegate, ExceptionDelegate overflowDelegate, ExceptionDelegate systemExceptionDelegate)
   at Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE.SWIGExceptionHelper..cctor()
   --- End of inner exception stack trace ---
   at Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE.SWIGExceptionHelper..ctor()
   at Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE..cctor()
   --- End of inner exception stack trace ---
   at Google.OrTools.LinearSolver.operations_research_linear_solverPINVOKE.Solver_CreateSolver(String jarg1)
   at Google.OrTools.LinearSolver.Solver.CreateSolver(String solver_id)
   at Foreman.GoogleSolver..ctor() in D:\software\Factorios\Foreman 2\Foreman\Models\Solver\GoogleSolver.cs:line 20
   at Foreman.ProductionSolver..ctor(Boolean pullOutputNodes, Double outputObjectiveC, Double factoryObjectiveC, Double overflowObjectiveC, Double errorObjectiveC, Double lowPriorityMultiplier) in D:\software\Factorios\Foreman 2\Foreman\Models\Solver\ProductionSolver.cs:line 80
   at Foreman.ProductionSolver..ctor(Boolean pullOutputNodes, Double pullPower, Double minRecipeOutRate, Double lowPriorityMultiplier) in D:\software\Factorios\Foreman 2\Foreman\Models\Solver\ProductionSolver.cs:line 70
   at Foreman.ProductionGraph.OptimiseNodeGroup(IEnumerable`1 nodeGroup) in D:\software\Factorios\Foreman 2\Foreman\Models\Solver\GraphOptimisation.cs:line 28
   at Foreman.ProductionGraph.OptimizeGraphNodeValues() in D:\software\Factorios\Foreman 2\Foreman\Models\Solver\GraphOptimisation.cs:line 16
   at Foreman.ProductionGraph.UpdateNodeValues() in D:\software\Factorios\Foreman 2\Foreman\Models\ProductionGraph.cs:line 313
   at Foreman.ProductionGraphViewer.<>c__DisplayClass108_0.<AddRecipe>g__ProcessNodeRequest|0(Object o, RecipeRequestArgs recipeRequestArgs) in D:\software\Factorios\Foreman 2\Foreman\ProductionGraphView\ProductionGraphViewer.cs:line 287
   at Foreman.RecipeChooserPanel.IRButton_MouseUp(Object sender, MouseEventArgs e) in D:\software\Factorios\Foreman 2\Foreman\Controls\IRChooserPanel.cs:line 652
   at System.Windows.Forms.Control.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************ Loaded Assemblies ************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9181.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
Foreman
    Assembly Version: 2.0.12.0
    Win32 Version: 2.0.12.0
    CodeBase: file:///C:/Foreman/Release/Foreman.exe
---

As I can see, I have preinstalled .Net (and I'm not able to replace/update it). In addition to that I installed Visual C++ from here https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022 x86 version.

How can I fix this issue?

SehiiRohoza commented 6 months ago

Sorry, my bad, x64 Visual C++ from here https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2015-2017-2019-and-2022 solved the issue.