Closed AndrewCarvalho closed 4 years ago
@AndrewCarvalho, Can you please help us fix this issue by clarifying the following - Do you have the Wox app installed on your system? If yes, then what version is it and was Wox running when you were trying to run PowerToys Run? If you do have Wox installed then can you please specify which plugins you have running. Thank you!
@ryanbodrug-microsoft, @somil55
Note: PushResults
was previously used in the wox code base. (commit ac81d38acc76438028dc3f06704f21c147adc565 and c596039453523fdfa7d4daceaa91bce8f9df783d were the changes made to use it in one of the plugins and the second commit is where it was removed). The PushResults
function is still present in the PublicAPIInstance class of the Wox codebase (https://github.com/Wox-launcher/Wox/blob/fe5f997b9534dcc1ec8344bc9fac0c3eda4a0b66/Wox/PublicAPIInstance.cs#L146-L147) but it is not used by any of the default plugins. It is considered an obsolete function and would no longer be supported from version 1.4 of Wox.
However, I don't understand why this would be affecting PT Run because we don't have any plugin calling it and neither is our model extensible to install other plugins at the moment.
Hi @alekhyareddy28 I do not currently have, or have ever previously had, Wox installed. I did have issues with installing 0.20.0 as noted in #5545, in case there is any relation.
Thank you @AndrewCarvalho. To help debug further can you please share the log file located at C:\Users\USERNAME\AppData\Local\Microsoft\PowerToys\PowerToys Run\Logs\1.0.0?
Also, we have an error reporting window which should pop-up with the error message. Did that pop-up along with the error message? Thank you.
No reporting window popped up. I can see in the Details view of the Task Manager that PowerLauncher.exe appears briefly, then silently exits, when launched.
This is the most recent log from the folder: 2020-08-05.txt
@AndrewCarvalho, Can you please go to this folder (C:\Program Files\PowerToys\modules\launcher) and share the versions for the following dlls - PowerLauncher.dll, PowerLauncher.exe, Wox.Core.dll, Wox.Plugin.dll, Wox.Infrastructure.dll? You can do so by just hovering over the item, it should be present in the tooltip data (as File Version:)-
Also, can you clarify if there is a Wox.dll present in that folder?
Thanks a lot for helping us debug this issue. We really appreciate it. I've been trying to reproduce it but havn't been able to yet.
@AndrewCarvalho, after sharing the above information can you please try if the following MSI fixes the issue? Test_Build.zip
Thank you once again for taking the time to help us debug.
NOTE: This is a locally built unsigned build, to be used only for testing. Please uninstall it before installing the next official build of PowerToys.
PowerLauncher.dll -> 0.20.1.0 PowerLauncher.exe -> 0.20.1.0 Wox.Core.dll -> 1.0.0.0 Wox.Plugin -> 1.0.0.0 Wox.Infrastructure -> 1.0.0.0 Wox.dll -> 1.0.0.0
I've installed the unsigned MSI and can confirm that the issue is resolved: PowerLauncher.exe is running and my assigned shortcut key is functioning as expected. The Wox dlls form this version of the installer (99.0.1.0) are present and I have nothing showing up in event viewer.
Thanks so much and I'll make sure to uninstall before upgrading to 0.21.x.
@AndrewCarvalho, thank you for your help with fixing this issue. Just to wrap it up can you confirm that you no longer see a Wox.dll in this folder (C:\Program Files\PowerToys\modules\launcher)?
I actually do still have the Wox.dll present in that folder, though it seems to be functioning correctly with it present.
@ryanbodrug-microsoft, I've removed reference to the Wox dll in all of our code in the above PR so the above exception would not be thrown, however the older Wox.dll still persists.
@enricogior, the previous dll doesn't seem to be getting removed. We removed an assembly (Wox.dll) but on upgrade it doesn't seem to be getting removed from the user's installation directory. To add to that the version of Wox.dll was previously set to 1.0.0 and it did not follow the versioning of PowerToys, do you think this might be the reason for that? I have tried to reproduce it but the Wox.dll gets deleted for me on upgrade.
@alekhyareddy28 how was the upgrade done? Using the .exe (auto update) or manually using the .msi? The .exe does a full uninstall before installing, so it should not be possible that the old dll was still there. On the other hand, the .msi does an upgrade and in theory it's possible that the old dll is still in use.
I used the MSI.
It's very likely that some issues I was dealing with previously (0.20.0 would not install) and some of the noodling I had done to try and deal with it may have caused some artifacts to be left over, so it wasn't exactly a clean test. To be fair, that could have been the cause of the issue to begin with.
If you have any additional tests you'd like me to run (like uninstalling, rolling back, and trying the upgrade or this unsigned build again) I can give that a shot.
@AndrewCarvalho I would say that it was just a glitch because of the 0.20.0 installer problems.
This should be resolved in our 0.21.1 release of PowerToys. https://github.com/microsoft/PowerToys/releases/tag/v0.21.1 to download it.
ℹ Computer information
📝 Provide detailed reproduction steps (if any)
✔️ Expected result
PowerLauncher.exe runs in the background. Pressing the keyboard shortcut for PowerToys Run brings up the search bar.
❌ Actual result
PowerLauncher.exe appears in task manager briefly before disappearing. Pressing the keyboard shortcut for PowerToys Run does nothing.
Additional Details
The following unhandled exception is logged in Event Viewer:
Application: PowerLauncher.exe CoreCLR Version: 4.700.20.20201 .NET Core Version: 3.1.4 Description: The process was terminated due to an unhandled exception. Exception Info: System.TypeLoadException: Method 'PushResults' in type 'Wox.PublicAPIInstance' from assembly 'PowerLauncher, Version=0.20.1.0, Culture=neutral, PublicKeyToken=null' does not have an implementation. at PowerLauncher.App.<>c__DisplayClass16_0.b1()
at Wox.Infrastructure.Stopwatch.Normal(String message, Action action)
at PowerLauncher.App.OnStartup(Object sender, StartupEventArgs e)
at System.Windows.Application.OnStartup(StartupEventArgs e)
at System.Windows.Application.<.ctor>b1_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 MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
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.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run()
at PowerLauncher.App.Main(String[] args)