麻烦在全球范围内使用文件

时间:2010-05-12 22:49:38

标签: windows-vista directory globalization

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

  

Regsvr32:模块“C:\ Windows \ System32 \ libeay32.dll”无法加载。
  确保二进制文件存储在指定的路径或调试它以检查二进制文件或从属.DLL文件的问题。

     

找不到指定的模块。

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

如果我将与wget一起提供的DLL放在与system32的wget outsite相同的文件夹中,那么他们会将它们添加到带有exe的system32,但它无法读取那些dll文件。

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

1 个答案:

答案 0 :(得分:1)

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

注意:system32中的dll不需要regsvr32,它仅在dll导出DllRegisterServer函数时有效