我有一个C#DirectShow.Net应用程序,我想测试它在其他计算机上以发行模式运行。我怎样才能确保我的程序能够运行在其他没有包含windows sdk和它可用的过滤器的机器上?如何在其他计算机上运行DirectShow.net应用程序
我将不得不包括dirctshow DLL等,但我能做些什么关于过滤器本身?
更新: 我有虚拟机来运行它,但此外我怎么能确保某个directx过滤器是在计算机上,如果它不是,抓住DLL并从代码注册到计算机?
编辑: 我有注册的DLL后,我运行我的程序。它没有运行,所以我抓住了Graphstudio,并将我的程序图形附加到graphstudio,没有任何过滤器连接,当我尝试手动连接它们时,它们拒绝连接。
EDIT2:
Can you post more details about the scenario you are having problems with?
我正在我的应用程序,它在我的Windows 7工作的32位机器上我的VirtualBox的VM。 virtualbox不会允许我访问我的USB设备用于流式传输目的,所以我注释了依赖它的代码。当我运行它时,过滤器不会连接。我做了一些测试,并尝试重新创建没有源代码的图形,并且它们不会连接在一起,因此实际上可能是问题所在。
OS version?
目前,我正在运行32位XP的VirtualBox虚拟机
which filters you are using?
我使用
Source -> Smart tee (capture) -> GMFBridgeSinkFilter
Smart tee (preview) -> AVI Decompressor -> Video REnderer
GMFBridgeSource -> ffdshow video encoder -> avi mux -> File writer
(W)riter已被小写一些奇怪的原因。开发机具有(W)riter和(W)riter
Which filters do you have there that you are not using?
你的意思是这是OS或过滤器,我把代码中的标准,我不连接到?
You could also try with the original GraphEdit instead of GraphStudio, and you could debug your application remotely and see where it is failing exactly.
Graphedit只在全窗口sdk进来,这是一个痛苦下载im的地方。
恕我直言,最好的方法是使用虚拟机。您可能无法获得预期的性能,但您可以尝试不同的配置和操作系统版本。 – HiperiX
SDK安装过滤器?这对我来说是新闻。你真的尝试过吗? –
试过了什么?我有我的开发机器与7个不同的Windows SDK版本,我创建了一个应用程序合并directshow过滤器。我将应用程序移动到我的一台虚拟机上,然后我注册了相应的DLL(directshowlib,gmfbridge,ffdshow等)。我运行该应用程序,但它不会运行。我下载graphstudio来查看程序,并没有任何过滤器连接,他们不会连接,即使在graphstudio – Grant