Как загрузить зависимую DLL в память? - PullRequest
0 голосов
/ 04 февраля 2019

Я использую DLL в моем проекте Java.«mydll.dll» имеет зависимости, такие как:

C:\WINDOWS\WinSxS\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2\msvcm90d.dll

C:\WINDOWS\WinSxS\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2\MSVCR90D.dll

C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll

C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll   

C:\WINDOWS\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9445_none_d08c58b4442ba54f\MSVCR80.dll

C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll

C:\Windows\Microsoft.NET\Framework\v2.0.50727\diasymreader.dll

Вот моя проблема: без установки vs2008 выдает ошибку ниже, даже если требуемые dll существуют в указанных местах:

Приложению не удалось запуститься из-за неправильной конфигурации рядом

Я предполагаю, что Windows не может найти требуемые DLL в Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs, поэтому я ищу совет для загрузки этих зависимых DLL впамяти до запуска моего проекта.

Я пытался установить все против сред.И мой код, который загружает DLL:

private SimpleDLL simpleDLL = SimpleDLL.INSTANCE;
static {
    System.loadLibrary("MyDll");
}
...