Skip to content

Instantly share code, notes, and snippets.

@pushrbx
Created April 16, 2016 09:34
Show Gist options
  • Save pushrbx/520f4c962eaef07416ebfd9caa2cfc2b to your computer and use it in GitHub Desktop.
Save pushrbx/520f4c962eaef07416ebfd9caa2cfc2b to your computer and use it in GitHub Desktop.
Razer Synapse stopped working: When right clicking on its icon in taskbar the coming up context menu freezes.
/// this gist about an issue with the razer synapse: Usually after windows update it doesn't come up ever again when you double
/// click on its icon. Also all the macros and key bindings stop working.
/// The invisible exception's stack trace is the following:
2016-01-04 19:05:33,575 [SynpaseMain::26620] DEBUG Razer.Emily.UI.SynapseApp [(null)] - DeviceMgr::Start
2016-01-04 19:05:33,580 [SynpaseMain::26620] DEBUG Razer.Emily.UI.AppEntryPoint [(null)] - SynapseMain::Failed
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {7CC0C4B6-B68F-4141-9023-E3A189EDE86D} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Razer.Emily.Common.RzDeviceManager..ctor()
at Razer.Emily.UI.App.StartDeviceManager()
at Razer.Emily.UI.App.loadCommonConfig()
at Razer.Emily.UI.App.finishSetup()
at Razer.Emily.UI.App.ForceLogin(Boolean changeUser)
at Razer.Emily.UI.App.Application_Startup(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 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 Razer.Emily.UI.SynapseApp.Run()
at Razer.Emily.UI.AppEntryPoint.Main(String[] args)
/// the solution is:
1. Open a command prompt with admin rights.
2. cd to C:\Program Files (x86)\Razer\Synapse
3. Type in: Regsvr32 -u rzdetmgr.dll
4. Error message shows up, press ok
5. Type in: Regsvr32 rzdetmgr.dll
6. Restart the Synapse
7. It works again.
It seems each time the windows updates it unregisters this COM dll.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment