我已经阅读了通过谷歌在这个问题上找到的所有帖子,但仍然没有找到任何方法来找到它的实际原因和补救措施。
请允许我在下面的几个层面中解决这个问题。
[1]情况
我有两天前在我的机器上成功注册的32位dll(让我们说它的名字是' 32bit.dll')。但今天,它只是不起作用。首先,让我展示一下我尝试的两种方式。
A)regsvr32 32bit.dll(位于32bit.dll所在的文件夹中)
B)regsvr32' /path/32bit.dll' (在~SysWOW64文件夹中,32bit.dll的路径正确)
我知道,很多人说你必须在~syswow64文件夹中,然后使用regsvr32' path / 32bit.dll'。但是我已经成功注册了32位dll,只需转到它所在的文件夹,然后执行A)。
但是今天,由于某种原因,当我做A)或B)时,它不起作用。
[2]错误
当我这样做时,这就是我的电脑中发生的事情 1)CMD处理器占用CPU和内存的60%以上,并运行一段时间。 2)然后它发出错误消息。其中包括
"确保二进制文件存储在指定的路径中或调试它以检查二进制或从属.DLL文件的问题"
"页面文件太小,无法完成此操作"
"找不到' SHELL32.dll'"
"无法找到' SGService.dll'"
"找不到' SGCrypto.dll'"
3)然后,当我clikc' ok'在这些错误消息上,计算机屏幕变黑,并且几分钟后返回。
4)当它返回时,即使我关闭CMD窗口,CMD处理器仍然会占用CPU和内存。
[3]思考
我很困惑,因为做A)两天前没有引起任何问题。 我已经完成了系统文件检查程序,DISM来修复系统映像......等等,post之后,但它没有任何帮助。
到目前为止,我花了整整两天的时间来查看原因并解决问题,注册dll并继续调试。
现在我感到沮丧;我只是想知道原因是什么,为什么会发生这种情况,以及我如何解决它。但我在这个世界上是个新手,所以请求一些帮助。
如果您希望我尝试其他任何事情并与您分享会发生什么,请给我任何建议。
感谢您的阅读和帮助。
最佳,
宋
答案 0 :(得分:1)
使用COMMAND提示符来了解实际情况。使用Windows资源管理器会为您提供虚假信息!!!这适用于32位和64位,Win 7和Win 10。
如果您先前已成功将文件复制到%windir%\ system32(或%windir%\ sysWoW64),则随后尝试通过使用Windows资源管理器复制另一个版本来覆盖,它将要求您确认是否要覆盖并报告已完成操作,并在正确的位置显示新版本的日期和文件大小。但是它在说谎!!!
在COMMAND提示符下,您将发现它确实已将其复制到: %LOCALAPPDATA%\ VirtualStore \ Windows !!!某些程序会在新位置找到它,但大多数程序会在%windir%\ system32中使用原始副本。
要执行所需的操作,请以管理员身份运行COMMAND,删除不需要的副本,然后重新复制所需的副本(并在错误的位置删除该副本,这样它就不会在其中提供错误的信息未来)。
祝你好运。即使您暂时解决了问题(或已放弃),也可能会帮助其他人...