X-Hax / SA-Mod-Manager

A new mod manager for the Sonic Adventure games.
MIT License
79 stars 17 forks source link

Mod Manager crash when clicking on Save And Play #108

Closed Tartellu closed 5 months ago

Tartellu commented 7 months ago

Exception Report

SAMM Information:
    Manager Version: 1.2.6
    Current Game: Sonic Adventure 2
    Game Directory: C:\Program Files (x86)\Steam\steamapps\common\Sonic Adventure 2
    Manager Location: C:\Users\joe\Desktop\
    Running as Admin: False
    Mod Loader Version (Hash): e23b7f10705afedf4e562625f2f05b69ac23a82b
Exception Information:
    Type: Win32Exception
    Exception: An error occurred trying to start process 'Launcher.exe' with working directory 'C:\Windows\system32'. The system cannot find the file specified.
    Source: System.Diagnostics.Process
    In Function: Boolean StartWithShellExecuteEx(System.Diagnostics.ProcessStartInfo)
    StackTrace:    at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
       at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
       at SAModManager.MainWindow.StartGame()
       at SAModManager.MainWindow.SaveAndPlayButton_Click(Object sender, RoutedEventArgs e)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.Controls.Primitives.ButtonBase.OnClick()
       at System.Windows.Controls.Button.OnClick()
       at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
       at System.Windows.Input.InputManager.ProcessStagingArea()
       at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
       at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
       at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
       at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
       at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
       at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
       at System.Windows.Application.RunDispatcher(Object ignore)
       at System.Windows.Application.RunInternal(Window window)
       at SAModManager.App.Main()
Sora-yx commented 7 months ago

I don't know what you did, but there is nothing right with this set up, your game location is in program files but somehow it looks for "launcher.exe" in system32? Anyway, best move is to reset the Manager, go in AppData -> Local and delete the folder SAManager.

PiKeyAr commented 7 months ago

The system32 path may be from launching the program with admin rights. Maybe the Manager was trying to run Launcher.exe using relative paths?

Tartellu commented 7 months ago

Ok so I did try a couple of your suggestions, I tried deleting the folder in AppData and I still got the same error. I decided to go back to the old launcher and found that it also gave me the same error, I even uninstalled and reinstalled the game. I think it is something on my end, the launcher works perfectly fine with SA1 but when I launch SA2 it will recognize mods but will crash. I first downloaded this launcher through the upgrade path provided through the old SA2 Mod Loader. I think my SA2 has always been broken for me as I only recall getting it to work once with my game so I don't think its anything wrong with your program. Sorry that I left such a big comment but thank you for helping me!!!

Sora-yx commented 7 months ago

Do you have sonic2app.exe? The error mentions launcher.exe, but the Manager originally uses sonic2app to start the game, if you renamed it, it won't work.

Tartellu commented 7 months ago

yes, I validated my files and replaced it. The old mod manager would strangely boot into the sonic2app but would take forever to load once I got into the game, the new one won't even do the for me.

Sora-yx commented 7 months ago

Can you try to manually re set the game location in the Manager Config tab?

Tartellu commented 7 months ago

Yes, I moved the game files to my desktop and it still crashes.

ItsEasyActually commented 5 months ago

Found the issue, it was related to custom executables included with mods. Whatever mod you're using that did this is probably not something you should be using. Mainly because it's using Launcher.exe as its executable name, so it's either some customized launcher (which is maybe fine to use) or it's just a mod packaged with the game's shoddy launcher program or a renamed sonic2app.exe (or the decrypted executable) under the title of Launcher.exe

Regardless, thanks to this report, we found the bug and got it fixed as of bf7be21.