屏幕捕获作业在使用EE4 SDK启动时崩溃 [英] Screen Capture Job crashes on start using EE4 SDK

查看:68
本文介绍了屏幕捕获作业在使用EE4 SDK启动时崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,

我使用了表达式编码器4 sp2 sdk来创建一个简单的屏幕捕获应用程序。调试时,它在我的工作正常。但在任何其他电脑上启动时崩溃。它使用c#和xaml构建。我已添加引用并为所需的EE dll设置
复制本地 Microsoft.Expression.Encoder.dll,  Microsoft.Expression.Encoder.Types.dll,  Microsoft.Expression.Encoder.Utilities.dll

I have used expression encoder 4 sp2 sdk to create a simple screen capture application. It works fine on mine, when debugging. But crashes on start on any other pc. Its built using c# and xaml. I have added references and set copy local for the required EE dlls (Microsoft.Expression.Encoder.dll, Microsoft.Expression.Encoder.Types.dll, Microsoft.Expression.Encoder.Utilities.dll)

这是堆栈跟踪: 

Here's the stacktrace: 

应用程序:sample.exe

框架版本:v4.0.30319

描述:由于未处理的异常,进程终止。

例外信息: System.Resources.MissingSatelliteAssemblyException

Stack:

    at System.Resources.ManifestBasedResourceGroveler.HandleSatelliteMissing()

    at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(System.Globalization.CultureInfo,System.Collections.Generic.Dictionary`2< System.String,System.Resources.ResourceSet> ;, Boolean,Boolean,System.Threading.StackCrawlMark
ByRef)

    at System.Resources.ResourceManager.InternalGetResourceSet(System.Globalization.CultureInfo,Boolean,Boolean,System.Threading.StackCrawlMark ByRef)

    at System.Resources.ResourceManager.InternalGetResourceSet(System.Globalization.CultureInfo,Boolean,Boolean)

    at System.Resources.ResourceManager.GetString(System.String,System.Globalization.CultureInfo)

    at MS.Internal.Expression.Encoder.Properties.StringTable.get_EEScreenDllNotFound()

    at Microsoft.Expression.Encoder.ScreenCapture.ScreenCaptureJob.InitLibrary()

    at Microsoft.Expression.Encoder.ScreenCapture.ScreenCaptureJob..ctor()

    at sample.MainWindow.vcScreen_init()

    at sample.MainWindow.btStart_Click(System.Object,System.Windows.RoutedEventArgs)

    at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object,System.Windows.RoutedEventArgs)

    at System.Windows.EventRoute.InvokeHandlersImpl(System.Object,System.Windows.RoutedEventArgs,Boolean)

   在System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject,System.Windows.RoutedEventArgs)

   在System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs)

    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)

   在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)

   在MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)

    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate,System.Object,Int32)

   在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)

   在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.Threading.Dispatcher.Run()

    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 sample.App.Main()

Application: sample.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Resources.MissingSatelliteAssemblyException
Stack:
   at System.Resources.ManifestBasedResourceGroveler.HandleSatelliteMissing()
   at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(System.Globalization.CultureInfo, System.Collections.Generic.Dictionary`2<System.String,System.Resources.ResourceSet>, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
   at System.Resources.ResourceManager.InternalGetResourceSet(System.Globalization.CultureInfo, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
   at System.Resources.ResourceManager.InternalGetResourceSet(System.Globalization.CultureInfo, Boolean, Boolean)
   at System.Resources.ResourceManager.GetString(System.String, System.Globalization.CultureInfo)
   at MS.Internal.Expression.Encoder.Properties.StringTable.get_EEScreenDllNotFound()
   at Microsoft.Expression.Encoder.ScreenCapture.ScreenCaptureJob.InitLibrary()
   at Microsoft.Expression.Encoder.ScreenCapture.ScreenCaptureJob..ctor()
   at sample.MainWindow.vcScreen_init()
   at sample.MainWindow.btStart_Click(System.Object, System.Windows.RoutedEventArgs)
   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)
   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.Threading.Dispatcher.Run()
   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 sample.App.Main()

它安装了.NET Profile 4.0。 

It has .NET Profile 4.0 installed. 

谢谢!

更新:

如果我安装表达式编码器4(在其他个人电脑上),它会按预期工作。我错过了一个dll吗? 

If I install expression encoder 4 (on the other pcs), it works as expected. Am I missing a dll? 

推荐答案

从我记忆中看,EE4的EULA 指出需要为基于SDK的应用程序安装EE4才能正常工作。简而言之,不允许在您的应用程序中重新分发SDK  DLL。

From what I remember, the EULA of EE4 points out that EE4 is required to be installed for applications based on its SDK to properly work. In a nutshell, redistributing the SDK DLLs with your application isn't permitted.


这篇关于屏幕捕获作业在使用EE4 SDK启动时崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆