title: Crystal Reports app crashes when printing on Windows XP (WPF)
body: <p>This issue happens on version <strong>13.0.4</strong> (<a href="http://scn.sap.com/docs/DOC-7824" rel="nofollow">downloaded from here</a>) <strong>(32bit)</strong> using WPF.</p>
  
  <p>I'm using the WPF Crystal Report Viewer. If I click the print button, the application simply crashes showing the window telling you that you could send this information to microsoft.</p>
  
  <p>To avoid any other chance of bug, I developed a sample app with a Report within showing just a label. Then the issue occurs on a machine with Windows XP service pack 3</p>
  
  <p><strong>EDIT : I traced the following stacktrace</strong></p>
  
  <pre><code>at System.Windows.Size..ctor(Double, Double)
  at SAPBusinessObjects.WPF.Viewer.ReportPaginator.GetPage(Int32)
  at System.Windows.Xps.Serialization.Toolbox.GetPage(System.Windows.Documents.DocumentPaginator, Int32)
  at System.Windows.Xps.Serialization.NgcDocumentPaginatorSerializer.SerializeObject(System.Object)
  at System.Windows.Xps.Serialization.NgcSerializationManager.SaveAsXaml(System.Object)
  at System.Windows.Xps.XpsDocumentWriter.SaveAsXaml(System.Object, Boolean)
  at System.Windows.Xps.XpsDocumentWriter.Write(System.Windows.Documents.DocumentPaginator)
  at System.Windows.Controls.PrintDialog.PrintDocument(System.Windows.Documents.DocumentPaginator, System.String)
  at SAPBusinessObjects.WPF.Viewer.PrintControl.Print()
  at SAPBusinessObjects.WPF.Viewer.ReportAlbum.PrintReport()
  at SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer.PrintReport_Executed(System.Object, System.Windows.Input.ExecutedRoutedEventArgs)
  at System.Windows.Input.CommandBinding.OnExecuted(System.Object, System.Windows.Input.ExecutedRoutedEventArgs)
  at System.Windows.Input.CommandManager.ExecuteCommandBinding(System.Object, System.Windows.Input.ExecutedRoutedEventArgs, System.Windows.Input.CommandBinding)
  at System.Windows.Input.CommandManager.FindCommandBinding(System.Windows.Input.CommandBindingCollection, System.Object, System.Windows.RoutedEventArgs, System.Windows.Input.ICommand, Boolean)
  at System.Windows.Input.CommandManager.FindCommandBinding(System.Object, System.Windows.RoutedEventArgs, System.Windows.Input.ICommand, Boolean)
  at System.Windows.Input.CommandManager.OnExecuted(System.Object, System.Windows.Input.ExecutedRoutedEventArgs)
  at System.Windows.UIElement.OnExecutedThunk(System.Object, System.Windows.Input.ExecutedRoutedEventArgs)
  at System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(System.Delegate, System.Object)
  at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
  at System.Windows.RoutedEventHandlerInfo.InvokeHandler(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.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean)
  at System.Windows.Input.RoutedCommand.ExecuteImpl(System.Object, System.Windows.IInputElement, Boolean)
  at System.Windows.Input.RoutedCommand.ExecuteCore(System.Object, System.Windows.IInputElement, Boolean)
  at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(System.Windows.Input.ICommandSource, Boolean)
  at System.Windows.Controls.Primitives.ButtonBase.OnClick()
  at System.Windows.Controls.Button.OnClick()
  
  at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)
  at System.Windows.UIElement.OnMouseLeftButtonUpThunk(System.Object, System.Windows.Input.MouseButtonEventArgs)
  at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate, System.Object)
  at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
  at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
  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.UIElement.OnMouseUpThunk(System.Object, System.Windows.Input.MouseButtonEventArgs)
  at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate, System.Object)
  at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
  at System.Windows.RoutedEventHandlerInfo.InvokeHandler(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.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
  at System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean)
  at System.Windows.Input.InputManager.ProcessStagingArea()
  at System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
  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.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 TestCrystalReports.App.Main()
  </code></pre>