UPDATE: I've build a WPF app with no code behind, just put in a TextBox and a button and built it. When running this application I can see the same error in this user's machine. You can click on the button, and it works ok, but as soon as you press a key on the keyboard the application throws the same error. Should I reinstall the .Net Framework? Any other recommendations?
Original question: I have a WPF app distributed via ClickOnce in an enterprise environment. Dozens of users are running my app without issues. However there's 1 single user who can't run the app. If I log-in in his machine I also get an error. The error for the user is the standard error message when any exception occurs. So I needed to remote-debug it.
The program loads without issues and it places the focus on a TextBox as soon as the TextBox looses the focus or the user presses a key, the program crashes.
I've attached my visual studio to the my application running on the problematic machine and I managed to capture the following stack trace.
" at MS.Win32.UnsafeNativeMethods.ITfKeystrokeMgr.TestKeyUp(Int32 wParam, Int32 lParam, Boolean& eaten) at System.Windows.Input.TextServicesContext.Keystroke(Int32 wParam, Int32 lParam, KeyOp op) at System.Windows.Input.TextServicesManager.TextServicesKeystroke(TextServicesContext context, KeyEventArgs keyArgs, Boolean test) at System.Windows.Input.TextServicesManager.PreProcessInput(Object sender, PreProcessInputEventArgs e) at System.Windows.Input.InputManager.ProcessStagingArea()\r\n at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) at System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawKeyboardActions actions, Int32 scanCode, Boolean isExtendedKey, Boolean isSystemKey, Int32 virtualKey) at System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(MSG& msg, Boolean& handled) at System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(MSG& msg, ModifierKeys modifiers) at System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter) at System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg) at System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(MSG& msg, Boolean& handled) at System.Windows.Interop.HwndSource.WeakEventPreprocessMessage.OnPreprocessMessage(MSG& msg, Boolean& handled) at System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(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(Window window) at System.Windows.Application.Run() at TIS.SamSeek.WpfClient.App.Main()"
I get a System.Argument exception with the description: "Value does not fall within the expected range.".
InnerException: null
Source: WindowsBase
TargetSite: {Void TestKeyUp(Int32, Int32, Boolean ByRef)}
DeclaringType: {Name = "ITfKeystrokeMgr" FullName = "MS.Win32.UnsafeNativeMethods+ITfKeystrokeMgr"}
Assembly: {WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35}
Declaring method: '((System.Type)(((System.Reflection.MemberInfo)(((System.Exception)($exception)).TargetSite)).DeclaringType)).DeclaringMethod' threw an exception of type 'System.InvalidOperationException'
Message: "Method may only be called on a Type for which Type.IsGenericParameter is true."
source: "mscorlib"
I put all kinds of traces in the code and I am pretty sure that my code is not directly causing this exception. I do not have any KeyUp events in my code.
What do you suggest?
Thanks a lot