2

たとえば、VB .Net プログラムに VC++ lib を追加しています。

<DllImport("KMpeg4.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Shared Function KOpenInterface() As System.IntPtr
End Function

実行時にエラーが発生しました:

DLL 'KMpeg4.dll' をロードできません: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E)

私はこのライブラリを を含むあらゆる場所に配置しましたがsystem32、まだ運がありませんKMpeg4.dll

だから私は欠落しているライブラリを私に与えた依存関係ウォーカーを実行しました:

API-MS-WIN-CORE-COM-L1-1-0.DLL  
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL  
API-MS-WIN-CORE-WINRT-L1-1-0.DLL  
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL  
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL  
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL  
DCOMP.DLL
GPSVC.DLL  
IESHIMS.DLL

そして悪いリンク機能:

c:\windows\system32\API-MS-WIN-CORE-THREADPOOL-L1-1-0.DLL
c:\windows\system32\OLE32.DLL
c:\windows\system32\DWMAPI.DLL
c:\windows\system32\IEFRAME.DLL
c:\windows\system32\IMM32.DLL
c:\windows\system32\MFPLAT.DLL
c:\windows\system32\NDFAPI.DLL
c:\windows\system32\USERENV.DLL
c:\windows\system32\UXTHEME.DLL

依存関係ウォーカーは次のエラーを出します:

警告: 少なくとも 1 つの遅延読み込み依存モジュールが見つかりませんでした。警告: 遅延読み込み依存モジュールにエクスポート機能がないため、少なくとも 1 つのモジュールに未解決のインポートがあります。

Microsoft VC++ 2005、2008、2010 x86 および x64 と .Net Framework 4 を既にインストールしています。

同様に、sysinternalプロセスモニターを使用してポップアップが表示されるかどうかを確認しようとしましたが、プログラムがエラー例外を取得する前にKMpeg4.dllロードされませんKMpeg4.dll

それらのライブラリがどのパッケージから得られるかについてのアイデアはありますか?

または、この問題を回避する方法は?

4

1 に答える 1