![](/img/trans.png)
[英]System.Runtime.InteropServices.COMException 0x80040154 with CLSID 29131539-2EED-1069-BF5D-00DD011186B7
[英]System.Runtime.InteropServices.COMException (0x80040154)
當我試圖在目標機器上解復我的應用程序時,我收到此錯誤。
我用Google搜索並發現某些dll需要注冊(在我的應用程序中使用)
所以,我將dll復制到System32並執行了regsvr32
然后我得到了這個錯誤
Interop.ShockwaveFlashObject.dll已加載但未找到DllRegisterServer入口點。 該文件無法注冊
一個奇怪的是,應用程序不能只在一台機器上運行。 我在10台不同的機器上測試過,一切運行良好。 它不僅適用於一台機器。
有人可以幫我這個嗎?
Interop dll不需要注冊它實際上包含指向現有COM注冊對象的指針。
如果它遵循通常的命名約定,看起來好像ShockwaveFlashObject.dll沒有在機器上注冊(這將是你應該運行regsvr32的DLL)。 大概你需要安裝Shockwave / Flash(和/或檢查安裝的版本是否正確,如果你認為它已經在盒子上)。
例如,您可以以管理員身份運行cmd並瀏覽到system32目錄並運行以下命令:
for %1 in (*.dll) do regsvr32 /s %1
和
for %1 in (*.ocx) do regsvr32 /s %1
這個interop dll不是一個需要在regsvr32.dll中注冊的COM dll,它是一個interop dll來管理COM東西和托管內容之間的鏈接,我相信。
可能你需要注冊一些其他的DLL(即任何和所有COM dll,可能是ShockwaveFlashObject.dll)或你有一些其他缺少依賴。 與它所使用的機器相比,它不起作用的機器有什么不同? 是否所有依賴項都安裝在所有計算機上(如flash?)os是否與眾不同? 也許一些較新的操作系統沒有舊機器所具有的所有舊依賴關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.