全局使用文件时出现问题

发布于 2024-08-31 23:49:32 字数 633 浏览 1 评论 0原文

最近我遇到了麻烦,因为我发现 vista 限制了可以安装到 system32 目录中的内容,即使我是这台计算机的管理员。它不允许我注册 dll 文件,因此我可以像使用“nslookup”等程序一样全局使用 wget 等程序。一直给我这个错误。

Regsvr32:模块“C:\Windows\System32\libeay32.dll”加载失败。
确保二进制文件存储在指定路径或对其进行调试以检查二进制文件或相关 .DLL 文件是否存在问题。

找不到指定的模块。

将所需的 DLL 文件移动到 system32 提示我确认需要管理员权限才能移动这些文件,因此我授予权限,将文件复制到 system32,然后运行 ​​wget 进行确认。这是它告诉我它找不到运行所需的 DLL 的地方,当使用 regsvr32 时,它说它找不到入口点,因此它不会加载 DLL,询问我它是否是有效的 DLL 或 OCX 文件。

如果我将 wget 附带的 DLL 留在与 system32 外的 wget 相同的文件夹中,它们会通过 exe 将它们添加到 system32 中,但不会工作,说它无法读取这些 dll 文件。

有没有办法解决这个问题,或者我是否需要升级到 Windows 7 才能摆脱这些问题/限制?

Recently I ran into trouble when I discovered that vista restricts what can be installed into the system32 directory even though I am the administrator for this computer. It will not allow me to register dll files so I can use programs like wget globally like how programs "nslookup" etc are used. Keeps giving me this error.

Regsvr32: The module "C:\Windows\System32\libeay32.dll" failed to load.
make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.

The specified module could not be found.

Moving the required DLL files to system32 prompts me to confirm administrator privileges are needed to move these files, So I give the permission, copy the files to system32, and run wget to confirm. This is where it tells me it cannot find the DLL's required to run and when using regsvr32 it says it cannot find the entry point so it will not load the DLL asking me if it is a valid DLL or OCX file.

If I leave the DLL's that came with wget in the same folder as wget outsite of system32 they work vice adding them to system32 with the exe it will not work saying it cannot read the those dll files.

Is there a way around this or Do I need to Upgrade to Windows 7 to get away from these problems/restrictions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

疯到世界奔溃 2024-09-07 23:49:32
  • 在 wget.exe 上尝试 Dependency Walker 并查看它,它会为您提供有关问题的更多信息
  • 这可能是一个权限将文件复制到system32时出现问题?确保您的用户对其具有读取/执行权限,
  • 将其(和 wget.exe)放在同样位于 %path% 中的其他文件夹中。 c:\windows(丑陋)或添加到系统变量的自定义文件夹,例如 c:\tools。
  • 使用不依赖于该 dll 的 wget 版本

注意:不需要 regsvr32对于system32中的dll,仅当dll导出DllRegisterServer函数时才有效

  • Try Dependency Walker on wget.exe and see it it gives you more info about the problem
  • Could it be a permission problem when you copy the file to system32? Make sure your user has read/execute rights to it
  • Put it (and wget.exe) in some other folder that also is in %path%. c:\windows (Ugly) or a custom folder like c:\tools that you add to the system variables.
  • Use a version of wget that does not depend on that dll

Note: regsvr32 is not required for dlls in system32, it only works when the dll exports the DllRegisterServer function

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文