我有一個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