簡體   English   中英

System.Runtime.InteropServices.COMException(0x80040154)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM