Related
I'm registering a global hotkey in my WPF application using exactly this approach. It works fine when debugging or running from Visual Studio, but after publishing app with Visual Studio Installer project and installing it on my PC, app throws following errors (from Event Viewer).
Things I've tried:
running as administrator,
disabling Windows Defender,
running on another Windows 10 PC with no antivirus
building in x86 configuration
Error message:
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
at MS.Internal.AppModel.ResourcePart.GetStreamCore(System.IO.FileMode, System.IO.FileAccess)
at System.IO.Packaging.PackagePart.GetStream(System.IO.FileMode, System.IO.FileAccess)
at System.IO.Packaging.PackagePart.GetStream()
at System.Windows.Application.LoadComponent(System.Uri, Boolean)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at MyAppName.App.Main()
Followed by:
Faulting module name: KERNELBASE.dll, version: 10.0.18362.778, time stamp: 0x692cf0ab
Exception code: 0xe0434352
Fault offset: 0x00114192
Faulting process id: 0x274
Faulting application start time: 0x01d61fae9d4b314d
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: d5ca4cee-54ea-4f22-a2e5-86674c74d942
Faulting package full name:
Faulting package-relative application ID:
The problem was indeed a missing dll - app resources.dll. Apparently WPF app is always shipped with culture folder (en-US by default). It's copied to output directory on build (.\bin\Debug\en-US) but Visual Studio Installer doesn't pick it up and it has to be added manually.
It's done in VS Installer project's File System -> new Project Output...
I have created setup file using visual studio 2017. When I installed it in my system it was installed properly and worked properly. But I am trying to install in some other system than set up gets installed properly but when user tries to open it then it does not opened.
When I checked it in event viewer it gives following error.
I got following error in event viewer(.Net runtime)
Application: FaultyStatus.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileNotFoundException at System.Reflection.RuntimeAssembly._nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean) at System.Reflection.RuntimeAssembly.nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(System.Reflection.AssemblyName, System.Security.Policy.Evidence, System.Reflection.RuntimeAssembly, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean, Boolean, Boolean) at System.Reflection.RuntimeAssembly.InternalLoad(System.String, System.Security.Policy.Evidence, System.Threading.StackCrawlMark ByRef, IntPtr, Boolean) at System.Reflection.RuntimeAssembly.InternalLoad(System.String, System.Security.Policy.Evidence, System.Threading.StackCrawlMark ByRef, Boolean) at System.Reflection.Assembly.Load(System.String) at DevExpress.Utils.AssemblyHelper.GetAssembly(System.String) at DevExpress.Xpf.Core.Theme.GetAssembly() at DevExpress.Xpf.Core.Theme.get_Assembly() at DevExpress.Xpf.Core.ThemedElementsDictionary.GetThemeAssembly(System.String) at DevExpress.Xpf.Core.ThemedElementsDictionary.ForceThemeKeysLoading(System.String) at DevExpress.Xpf.Core.ThemeManager.ChangeTheme(System.Windows.DependencyObject, System.String, Boolean, Boolean, System.String) at DevExpress.Xpf.Core.ThemeManager.ThemeNamePropertyChanged(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs) at System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs) at System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs) at System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs) at System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex, System.Windows.DependencyProperty, System.Windows.PropertyMetadata, System.Windows.EffectiveValueEntry, System.Windows.EffectiveValueEntry ByRef, Boolean, Boolean, System.Windows.OperationType) at System.Windows.DependencyObject.SetValueCommon(System.Windows.DependencyProperty, System.Object, System.Windows.PropertyMetadata, Boolean, Boolean, System.Windows.OperationType, Boolean) at System.Windows.DependencyObject.SetValue(System.Windows.DependencyProperty, System.Object) at DevExpress.Xpf.Core.DXMessageBox.ShowCore(DevExpress.Xpf.Core.DXMessageBoxCreator, System.Windows.FrameworkElement, System.String, System.String, System.Windows.MessageBoxButton, System.Windows.MessageBoxImage, System.Windows.MessageBoxResult, System.Windows.MessageBoxOptions, DevExpress.Xpf.Core.FloatingMode, Boolean, Double) at DevExpress.Xpf.Core.DXMessageBox.Show(System.String) at FaultyStatus.MainWindow..ctor() Exception Info: System.Windows.Markup.XamlParseException at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri) at System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri) at System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean) at System.Windows.Application.LoadBamlStreamWithSyncInfo(System.IO.Stream, System.Windows.Markup.ParserContext) at System.Windows.Application.LoadComponent(System.Uri, Boolean) at System.Windows.Application.DoStartup() at System.Windows.Application.<.ctor>b__1_0(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame) at System.Windows.Application.RunDispatcher(System.Object) at System.Windows.Application.RunInternal(System.Windows.Window) at System.Windows.Application.Run(System.Windows.Window) at System.Windows.Application.Run() at FaultyStatus.App.Main()
Log Name: Application
Source: Application Error
Date: 4/04/2019 6:25:57 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
Description:
Faulting application name: FaultyStatus.exe, version: 1.0.0.0, time stamp: 0x5ca3b1ee
Faulting module name: KERNELBASE.dll, version: 10.0.17134.556, time stamp: 0xadca2670
Exception code: 0xe0434352
Fault offset: 0x001118a2
Faulting process id: 0x1ea8
Faulting application start time: 0x01d4ea424abf8640
Faulting application path: C:\Program Files (x86)\Vesta\FaultyProduct\FaultyStatus.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: d303086d-4bbf-4497-9c98-a71963842a88
Faulting package full name:
Faulting package-relative application ID:
Event Xml:
1000
2
100
0x80000000000000
16288
Application
LAPTOP-GIILLVJT
FaultyStatus.exe
1.0.0.0
5ca3b1ee
KERNELBASE.dll
10.0.17134.556
adca2670
e0434352
001118a2
1ea8
01d4ea424abf8640
C:\Program Files (x86)\Vesta\FaultyProduct\FaultyStatus.exe
C:\WINDOWS\System32\KERNELBASE.dll
d303086d-4bbf-4497-9c98-a71963842a88
I resolved issue by looking the error log in Event viewer log file with the extension .Net Runtime. issue was some of the dev express supporitng file were missing. Need to deploy all Dls using devexpress deploy tool.
UPDATE: just some pointers:
Please be aware of several limitations of Visual Studio Installer Projects.
Maybe consider alternative tools.
And a link to show the prerequisites view of VS Installer Projects.
Very common query that comes up all the time. Usually a lacking runtime or you have a bad configuration setting somewhere in your configuration files or registry settings. Here is one comment of late on similar issues.
Please check for the above mention issues first, then maybe have a look at the below checklists (linked, and some inlined keywords). Verify very basic runtime requirements such as .NET runtime, Visual C++ Runtimes and Java runtime requirements and similar, simple and fundamental runtimes first of all.
Just to inline the gist of it from the linked comment above:
Debug common application launch problems (please do skim)
Older version of the check list
Tools for debugging (Visual Studio, ProcMon.exe (rudimentary sample), etc...).
Keywords: Missing Dependencies / Runtimes? (Java, .NET, etc...). Configuration Error? (pointing to UAT-server, etc...). Encoding? Licensing? Drivers? Bitness? Permissions? Privileges? Registry Registration? Authentication / Authorization? Lockdown? (security software, etc...)
Some Links:
Visual Studio 2017 Installer Project - include VC++ 2015 Redistributable
Additional Setup in Visual Studio Installer Projects
I have a C# program in MS Framework 4.0 that use StimulSoft Report 2010 to show and print some reports.
My program work quite right in my computer, but when I try to run it on a remote virtual computer it has problem and give me this error:
Application: MyApplication.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.DirectoryNotFoundException
Stack:
at Stimulsoft.Report.StiReport.Load(System.String)
at Tavanmand.StoneCut.ManagementApplication.SlabForm.PrintForm(System.Object, System.Windows.RoutedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject, System.Windows.RoutedEventArgs, System.Windows.RoutedEvent)
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
at System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions, Int32, Int32, Int32)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run()
at Tavanmand.StoneCut.ManagementApplication.App.Main()
I just have problem with this part of my program. Other parts are working well.
I had been add all the stimulreport dll files near myApplication.exe and even install StimulSoft Report 2010 but it still doesn't work.
What should I do now?
The final call in the stack trace is when you try to load your report file. (the MRT).
This seems a clear sign that you don't have correctly setup the folder where you search for your report files and thus you get the exception
Directory Not Found
For your second comment, absolutely yes.
You need to redistribute the DLL required by your project. If you look at the programming manual you will find a section dedicated to the redistribution of the assembly. They change according to your kind of project. (Section 21.12 Redistributable files in Reports.Net)
The Stimulsoft files can be simply copied in the same folder where you have installed your application. Of course you could also add them to the GAC of the target machine. But I find simpler to copy them in the same folder of the application
I have a C# program that runs ok on my 64 bit Win 7 pc. I use VS 2010 pro. It is a simple program that uses the Scimore embedded db. But, when I try and install and run this program on my old Win XP (32 bit) laptop for testing on that platform, it crashes. Here is the crash dump
Application: DevelopmentDirBackupWPF.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Windows.Markup.XamlParseException
Stack:
at System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri)
at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
at System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(System.IO.Stream, System.Windows.Markup.ParserContext)
at System.Windows.Application.LoadComponent(System.Uri, Boolean)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at System.Threading.ExecutionContext.runTryCode(System.Object)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at System.Windows.Application.Run()
at DevelopmentDirBackupWPF.App.Main()
I have tried a lot of things. I have set VS build config to both "Any CPU" and "x86" and it still crashes. I have installed the 32 bit configuration of Scimore db on my pc. Anyone have any ideas? Thanks.
Ed Cohen
VS makes it easy to confuse 32bit Platform and 32bit Platform Target.
Try this on your 64bit Win 7 PC.
It will tell both 64 and 32 bit windows to run your application on the 32 bit environment.
Check to see if the error is the same when your run with this config. You may have installed a 32 bit binary - but you could still be pointing to a 64bit DLL in your VS config. Check that as well.
Remeber to do the same for your 'Release' configuration.
I wrote an app that can install and work on my development PC (a Window 7).
Development Environment: Window 7, VS2010 WPF C# with both .NET 4 and .NET 3.5 installed
On other client computer (XP SP3, 2 and 1), it install with no error, but can not start. In task manager, I can see the application takes up memory briefly before closing by itself.
I had made sure .NET 3.5 consistency across my develop PC and various client XP machines by following:
The application targets .NET 3.5 (or 3.5 Client Profile)
Use VS2010 Installer for deployment: targets .NET 3.5 in Launch Condition
No error whatsoever about .NET compatibility during debug of application and installer project
eventvwr caught the following warning:
¬º˛¿‡–Õ: ¥ÌŒÛ
¬º˛¿¥‘¥: .NET Runtime
¬º˛÷÷¿‡: Œfi
¬º˛ ID: 1026
»’∆⁄: 2011-10-18
¬º˛: 15:18:32
”√ªß: N/A
º∆À„ª˙: WWW-9DB69D5A3AF
√Ë ˆ:
Application: Foo.exe
Framework Version: v4.0.30319
Description: ”…”⁄Œ¥æ≠¥¶¿Ìµƒ“Ï≥££¨Ω¯≥Ã÷’÷π°£
“Ï≥£–≈œ¢: System.Windows.Markup.XamlParseException
∂—’ª:
‘⁄ System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri)
‘⁄ System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
‘⁄ System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
‘⁄ System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
‘⁄ System.Windows.Application.LoadBamlStreamWithSyncInfo(System.IO.Stream, System.Windows.Markup.ParserContext)
‘⁄ System.Windows.Application.LoadComponent(System.Uri, Boolean)
‘⁄ System.Windows.Application.DoStartup()
‘⁄ System.Windows.Application.<.ctor>b__1(System.Object)
‘⁄ System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
‘⁄ MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
‘⁄ System.Windows.Threading.DispatcherOperation.InvokeImpl()
‘⁄ System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
‘⁄ System.Threading.ExecutionContext.runTryCode(System.Object)
‘⁄ System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
‘⁄ System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
‘⁄ System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
‘⁄ System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
‘⁄ System.Windows.Threading.DispatcherOperation.Invoke()
‘⁄ System.Windows.Threading.Dispatcher.ProcessQueue()
‘⁄ System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
‘⁄ MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
‘⁄ MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
‘⁄ System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
‘⁄ MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
‘⁄ System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
‘⁄ MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
‘⁄ MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
‘⁄ System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
‘⁄ System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
‘⁄ System.Windows.Threading.Dispatcher.Run()
‘⁄ System.Windows.Application.RunDispatcher(System.Object)
‘⁄ System.Windows.Application.RunInternal(System.Windows.Window)
‘⁄ System.Windows.Application.Run(System.Windows.Window)
‘⁄ System.Windows.Application.Run()
‘⁄ FooSoftware.App.Main()
”–πÿ∏¸∂‡–≈œ¢£¨«Î≤Œ‘ƒ‘⁄ http://go.microsoft.com/fwlink/events.asp µƒ∞Ô÷˙∫Õ÷ß≥÷÷––ƒ°£
there was this XamlParseException causing my app to not start on XP Window Machine. What is going on?
XamlParseException is the generic error that happens when there is a problem at application start. I suggest you modify you application startup code to trace what's really going on and get, not only the XamlParseException, but also the inner exception(s) which should help you determine the root of the problem. Here is an example:
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
// hook on error before app really starts
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
base.OnStartup(e);
}
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
// put your tracing or logging code here (I put a message box as an example)
MessageBox.Show(e.ExceptionObject.ToString());
}
}
}
For starters, you'd actually have better luck if you built on VS2010 .. but actually targeted for a lower version of .Net (3.5, or even 2.0).
It would definitely be helpful if you post a bit of code.
Make sure you've copied all the necessary files for your application (app.config, etc).
This link sounds similar:
.NET 4 Program written/compiled on Windows 7 machine won't run on XP
And it points to these excellent troubleshooting tips:
Using Fusion Log Viewer
You can remote debug. Basically this is done by installing the remote debug server on the target machine, then attach to it from your visual studio when you start the application. Some more info can be found here : http://msdn.microsoft.com/en-us/library/bt727f1t.aspx
and there's a somewhat elderly tutorial here : http://www.cprogramming.com/tutorial/visual_studio_remote_debugging.html
Please note that you must deploy with debug symbols (pdbs) and the software debugged must be in the same version that your code is in.
Although you were targetting .NET 3.5 your client hat .NET 4 installed and used it. The string
Framework Version: v4.0.30319
does tell me this.
To force your client to actually use .NET 3.5 you should add an App.config to your application and add:
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
It could be that you are getting an exception because .NET 4 treats your XAML in a different way. Did you try to let your application run under .NET 4? If you have no App.config supplied you did test your application with .NET Framework 4 anyway although you did target .NET Framework 3.5.
If your client is nice enough you can let him create a dump file so you have an easy way to debug it directly.
Download Procdump from the SysInternals tool suite and send it along with your application to your client. The let him execute
procdump -ma -e -t -x foo.exe %temp%\dump.dmp
This will generate a full process dump for every unhandled exception and another one when the process terminates into the %TEMP% directory. Visual Studio 2010 has gotten much better dump analysis support so you should be able to analyze it within Visual Studio 2010.
If that does not help you can download Windbg (32 bit here), load the dump and type
!analyze -v
to see what the last exception was. That should do the trick. There may be issues with the managed extensions to load the right debugging dll (sos.dll for .NET 2,3,3.5, and clr.dll for .NET 4) but there are plenty of tutorials online how to do it. Besides this I would recommend to add exception handlers into your application so you get a nice log file when your application does terminate in an unexpected way.
If the output did not lead to the right stack you shold use
!ClrStack
and
!Threads
to find out which threads have exceptions on their stack.
Usually what I do is put log files in between processes so I know the flow of my program.
If this is a console application, put Console.WriteLine(some string) and then you can put Console.ReadLine() at the end to pause the execution of your program.
Came across a similar problem recently. The problem I had is on windows 7, I was using .ico (icon files). But there is no support for these on XP. In your application, if you are using any icon files, try removing them.. see if this solves the issuse.
Start commenting out lines of code and entire classes/methods from your code until you get it working (Or start by commenting out everything). Then slowly start introducing lines of code and method calls etc. Until it breaks. This should give you an idea of any particular code/class or reference that is causing the problem. This is admittedly a tedious method, but at the same time, fairly mechanical and within an hour or so you should have a fairly good idea of culprit.
I heard that some commented codes affected on execute output file to behavior something like that happened for your app.(specially in VS 2010 not other earlier version)
but in other side,last year i was working on a program that in it i used the Dev Component suite. as you know its crack just work in .Net Framework 3.5 and my program platform was .Net Framework 4.same thing happen for your app, happened fro my app.i had to downgrade my platform to 3.5 and its work good.maybe this personal experience help you dude.
i want to say some thing else,this some errors are not depend on CPU architecture.Dot worry about it.
good luck. Ali Foroughi
The "TryCathcWhen"-related line makes me think about some unhandled exception on startup, or an exception is being thrown in a catch block on startup.
Seeing your startup code would be helpful.
I've seen this happen on machines where the installation of .NET 3.5/4 had failed/not successfully completed. However, this is also highly unlikely.
You should try to install remote debugging on the machine (fairly easy process) and then setting the remote machine as the target in Visual Studio, run the program in debug mode. The program will then launch on the remote machine and you will get the full error within Visual Studio.
I had a .Net 2.0 app that worked with debugging on But not in a release build(after install).
I wasn't getting any logging from my Application directly, my Errors came straight from .NET. The issue was I had created my Own Program class with a static void MAIN() inside the main I had a try...catch..finally block. For some reason .NET was choking on the finally. Do you have anything like that in your program?
This is really a generic error. In my case freshly installed application failed to create its own event source due to insufficient permissions. Resolved (ugly one) by running the app one time in "as admin" mode. Make sure that all inner exceptions are handled. Events is also a good source of information.
In my case, the problem solved when the user installed the same .Net FW version that I was developing for. (I has FW 4.5.1 and user had FW 4.0).
So, check the FW version:
http://msdn.microsoft.com/library/hh925568(v=vs.110).aspx
And install exactly the same before trying again to execute
Please note that I had a similar exception:
Application: Foo.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
at CommonServiceLocator.ServiceLocator.get_Current()
at Prism.Regions.RegionManager.CreateRegion(System.Windows.DependencyObject)
at Prism.Regions.RegionManager.OnSetRegionNameCallback(System.Windows.DependencyObject, System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs)
at System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex, System.Windows.DependencyProperty, System.Windows.PropertyMetadata, System.Windows.EffectiveValueEntry, System.Windows.EffectiveValueEntry ByRef, Boolean, Boolean, System.Windows.OperationType)
at System.Windows.DependencyObject.SetValueCommon(System.Windows.DependencyProperty, System.Object, System.Windows.PropertyMetadata, Boolean, Boolean, System.Windows.OperationType, Boolean)
at System.Windows.Baml2006.WpfMemberInvoker.SetValue(System.Object, System.Object)
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(System.Xaml.XamlMember, System.Object, System.Object)
at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(System.Object, System.Xaml.XamlMember, System.Object)
Exception Info: System.Windows.Markup.XamlParseException
at System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
at System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(System.IO.Stream, System.Windows.Markup.ParserContext)
at System.Windows.Application.LoadComponent(System.Uri, Boolean)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1_0(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
at System.Windows.Application.RunDispatcher(System.Object)
at System.Windows.Application.RunInternal(System.Windows.Window)
at System.Windows.Application.Run(System.Windows.Window)
at System.Windows.Application.Run()
at Foo.App.Main()
The key part in my case above was the CommonServiceLocator.ServiceLocator.get_Current(). My application did not use ServiceLocator anywhere; however, it appears that it was being used by a NuGet package I had installed.
I solved the problem by performing this in the NuGet Package Manage console for my main app project:
PM> Install-Package CommonServiceLocator -Version 2.0.5