vmware cmd原因;perl.exe-找不到序号“;错误

vmware cmd原因;perl.exe-找不到序号“;错误,vmware,Vmware,我用于启动和停止VMWare Server虚拟机的自动脚本已停止工作。vmware cmd已开始引发错误: 在动态链接库LIBEAY32.dll中找不到序号3288 我不知道发生这种情况时有任何具体的更改或更新 我发现其他一些人报告这个问题(或非常类似),但没有解决方案 你知道是什么导致了这个错误,和/或如何修复这个错误吗?我会说一定有什么东西更新了LIBEAY32.dll或依赖它的另一个dll。您可以使用找到一些有用的信息。如果您使用它打开perl.exe,那么它应该突出显示产生问题的依赖路径

我用于启动和停止VMWare Server虚拟机的自动脚本已停止工作。vmware cmd已开始引发错误:

在动态链接库LIBEAY32.dll中找不到序号3288

我不知道发生这种情况时有任何具体的更改或更新

我发现其他一些人报告这个问题(或非常类似),但没有解决方案


你知道是什么导致了这个错误,和/或如何修复这个错误吗?

我会说一定有什么东西更新了LIBEAY32.dll或依赖它的另一个dll。您可以使用找到一些有用的信息。如果您使用它打开perl.exe,那么它应该突出显示产生问题的依赖路径。您可以将其与运行perl的其他机器进行比较


ordinal实际上是perl或dll所期望的函数,但在您拥有的LIBEAY32.dll版本中不存在。Dependes工具非常清楚地说明了这一点。

发现,只有当脚本在与EXE所在驱动器不同的驱动器上运行时,才会发生这种情况。为了解决这个问题,我只是简单地移动了脚本的执行

显然,DLL与SSL相关,而SSL与我正在做的事情无关,因此这是一个合适的解决方法。我猜这个问题是由EXE中如何确定相对路径的更改引起的(不清楚,因为什么都没有更改(AFAICT))。或者%PATH%环境变量已更改(更有可能)


希望这对将来的人有所帮助。

请检查路径设置,并查看是否包含用于VMware管理的“C:\Program Files\VMware\VMware Workstation”。一旦删除它,您就不会再看到错误了。

被接受为答案,因此有一个文档化的解决方案来解决我的原始问题。当从
K:
驱动器(由
SUBST映射)启动一个包含“LWP::UserAgent”和HTTPS URL的简单脚本时,Perl和SSLeay.dll遇到了同样的问题。通过从
C:
驱动器(Perl和模块所在的位置)启动避免了问题。使用Procmon更新我之前的注释,我发现了真正的问题。从
路径
加载了另一个
LIBEAY32.DLL
。正确的版本是使用Microsoft Visual Studio 9.0(
cl.exe
)编译的,加载的版本是使用GCC编译的。路径
可能很棘手。