MATLAB引擎应用程序尝试从Windows\System32加载不兼容的DLL

MATLAB引擎应用程序尝试从Windows\System32加载不兼容的DLL,windows,matlab,winapi,dll,matlab-deployment,Windows,Matlab,Winapi,Dll,Matlab Deployment,我编写了一个应用程序,我的同事需要在他们自己的Windows计算机上使用不同版本的MATLAB(即MATLAB安装的位置不同)。为了让应用程序找到MATLAB库 其中一些MATLAB库依赖于其他dll,如tbb.dll,这些dll也是随MATLAB提供的。在某些计算机上,Windows\System32目录中也可能存在此DLL的不兼容版本,导致MATLAB应用程序无法启动(因为它试图加载不兼容的版本) 如何确保我的MATLAB引擎应用程序仅尝试加载这些DLL的正确版本(位于MATLAB的安装目录

我编写了一个应用程序,我的同事需要在他们自己的Windows计算机上使用不同版本的MATLAB(即MATLAB安装的位置不同)。为了让应用程序找到MATLAB库

其中一些MATLAB库依赖于其他dll,如
tbb.dll
,这些dll也是随MATLAB提供的。在某些计算机上,
Windows\System32
目录中也可能存在此DLL的不兼容版本,导致MATLAB应用程序无法启动(因为它试图加载不兼容的版本)

如何确保我的MATLAB引擎应用程序仅尝试加载这些DLL的正确版本(位于MATLAB的安装目录中),而不是
Windows\System32
中不兼容的版本


可能是相关的。

Windows\System32
之前,将MATLAB的目录首先放在路径上是否安全?它会起作用吗?问题是我不能直接在我同事的机器上进行测试,他们声称它不起作用。我会从根本上解决问题,并从中删除这些非系统文件system32@DavidHeffernan这不可能破坏安装了DLL的程序吗?程序在System32中安装DLL是否仍然很常见?在System32中安装DLL是不可接受的。将tbb.dll放入其中的任何程序都可以通过将其移动到应用程序目录来修复。考虑到该DLL存在多种变体,任何将其放入系统目录的操作基本上都会在计算机上的任何其他应用程序上留下痕迹。@DavidFeffernan我对Windows的最新版本不太熟悉。这是否意味着当使用Windows资源管理器浏览时,DLL实际上可能不会显示在
C:\Windows\System32
中?或者我可以完全忘记这个重定向器吗?我只是想确定该告诉我的同事什么。