Asnivor / MedLaunch

A Windows (.NET) Front-End for the Mednafen Emulator
http://medlaunch.asnitech.co.uk/
Other
36 stars 6 forks source link

SlimDx.dll?? #177

Closed CharlesCardigan closed 6 years ago

CharlesCardigan commented 7 years ago

I keep trying to install medlaunch, and when i get to the part when it asks to pick a directory i choose the unzipped file of mednafen on my desktop. It tries to load and then it says it has stopped working and closes. So i check the exceptions and this is what it says. Been trying to search for a solution but cant really seem to find anything. So i have resorted seeing if anyone on here has solved this. help would be really appreciated.

**** Exception detail - 9/4/2017 8:30:09 AM - ****

HResult: -2147024770 HelpLink:
Message: Could not load file or assembly 'SlimDX.dll' or one of its dependencies. The specified module could not be found. Source: MedLaunch StackTrace: at MedLaunch.Classes.Controls.InputManager.KeyInput.Initialize(MainWindow window) at MedLaunch.Classes.Controls.InputManager.Input.Initialize(MainWindow mw) at MedLaunch.MainWindow..ctor() at MedLaunch.App.ApplicationStart(Object sender, StartupEventArgs e) at System.Windows.Application.OnStartup(StartupEventArgs e) at System.Windows.Application.<.ctor>b__1_0(Object unused) 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)


**** Exception detail - 9/4/2017 8:30:09 AM - ****

HResult: -2147024770 HelpLink:
Message: Could not load file or assembly 'SlimDX.dll' or one of its dependencies. The specified module could not be found. Source: MedLaunch StackTrace: at MedLaunch.Classes.Controls.InputManager.KeyInput.Initialize(MainWindow window) at MedLaunch.Classes.Controls.InputManager.Input.Initialize(MainWindow mw) at MedLaunch.MainWindow..ctor() at MedLaunch.App.ApplicationStart(Object sender, StartupEventArgs e) at System.Windows.Application.OnStartup(StartupEventArgs e) at System.Windows.Application.<.ctor>b__1_0(Object unused) 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.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(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.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at System.Windows.Application.RunDispatcher(Object ignore) at System.Windows.Application.RunInternal(Window window) at System.Windows.Application.Run(Window window) at MedLaunch.App.Main()

Asnivor commented 7 years ago

Can you check your anti-virus logs? The exception is basically saying that the SlimDX.dll cannot be found (this is located in the MedLaunchdir\lib)

If when you look in that folder you cannot see SlimDX.dll it is possible your anti-virus/security software is detecting it as something untoward and deleting it I guess...

CharlesCardigan commented 7 years ago

I checked the folder and i see SlimDx.dll in there.

Asnivor commented 7 years ago

And do you have an anti-virus installed that you can check the logs of? Perhaps the file has been 'cleaned' and that is why it isnt loading properly?

CharlesCardigan commented 7 years ago

The only anti virus i have is the stock windows defender that windows 10 comes with. Should i try uninstalling medlaunch and then deactivate defender and try again?

Asnivor commented 7 years ago

Yeah, thats worth a try. Make sure once you have disabled defender that you re-download the latest medlaunch zip, then extract that.

Asnivor commented 7 years ago

Also, you can try right-clicking the medlaunch executable and 'run as administrator'. Just in case there is something weird happening.

CharlesCardigan commented 7 years ago

It still came up as the same exception. The steps i am doing is downloading medlaunch, extracting the files to a file on my desktop called mednafen gui, then i run the exe it bring up the loading screen and asks if i want the auto updater, then it says to find the directory for mednafen so i go to the desktop folder which is mednafen-0.9.47-win64 (pretty much the extracted mednafen file) and when i press select folder then it loads a little and stops working. mednafen works fine so i know that the emulator itself is configured ok. Not sure if maybe im doing something wrong

Asnivor commented 7 years ago

I dont think you are doing anything wrong. At the point that it is crashing medlaunch is starting up and trying to load the slimdx dll. Not sure why it is erroring for you at this point.

Is your windows 10 x86 (32bit) or x64?

CharlesCardigan commented 7 years ago

i have x64

Asnivor commented 7 years ago

Hmm. If you navigate to your MedLaunch folder, in the 'lib' directory, can you right-click on SlimDX.dll and go to properties?

At the bottom of the 'General' tab is there any sort of security message saying the file is blocked?

CharlesCardigan commented 7 years ago

No it doesn't say anything like that. The only thing at the bottom is Attributes

Asnivor commented 7 years ago

Ok, i'll have to get an x64 windows 10 VM up and running at some point soon and see if I can replicate the problem.

CharlesCardigan commented 7 years ago

Thanks, appreciate you trying to help

SteveBurgess commented 7 years ago

You could try installing SlimDX from here

https://slimdx.org/download.php

I'd try the x86 version first. Seems to have fixed a similar issue here https://github.com/Koenvh1/ets2-local-radio/issues/18

CharlesCardigan commented 7 years ago

That fixed the problem, Thank you, really appreciate the support on this.

Asnivor commented 7 years ago

@CharlesCardigan great news.

I'll look to ship the installer with the next release and have medlaunch prompt the user to auto-install it when this exception is generated.

Thanks so much for the feedback.

Asnivor commented 7 years ago

Tested on Win10 x86. Looks like slimdx actually just needs vcredist_x86.exe installed.

https://www.microsoft.com/en-gb/download/details.aspx?id=5555

I will ship this with each release, and check that it is installed everytime medlaunch starts (with the option to auto-install it before proceeding).

Asnivor commented 7 years ago

As of next release, MedLaunch ships with the required vcredist_x86.exe file and user is prompted to auto-install this if the system lacks it.