亲测解决unable to load library steamclient64.dll的一种方法(7.12最佳方案)
本帖最后由 mdcn 于 2019-10-17 15:54 编辑注意:
看此贴前,首先确认自己电脑配置符合游戏要求,系统也正常,运行库都装好了……
如果不清楚,建议先试cpy1.12版的能否进入,若旧版能进的话,基本上能玩1.7的了,这时出现这问题再来看……
特别说明下:注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs中无dsound项的却仍发生此错的证明问题不是出在注册表,
这要么是用户权限不足需要右击以管理员身份运行,要么是某个安全软件限制了游戏下的那两个DLL,否则就只能认为是系统本身问题了……
static/image/hrline/1.gif
2019.10.17 补充更新个注册表权限问题解决方案,一直以为用户没管理员权限注册表也会修改不了,结果遇到了开启超级管理员用户注册表仍然会发生权限问题,
此问题发生在以前在虚拟机上装的俄老精简win7 64位上,以前没注意过,上次测试用的也不是这个系统,现在突然发现注册表权限不知什么原因被未知用户霸占了,其实并没这用户,结果导致改不了注册表。
如下图,这里以超级管理员用户为例:
1.右击注册表KnownDLLs选项,选权限,会发现多了个未知用户,选中此用户点高级,点到所有者项,发现当前用户竟变成了这货,很明显抢了权限
2.如上选中真正的当前用户,点应用,便改回了当前用户管理,如下,再点确定
3.然后如下,选中那货点删除,再点应用
4.最后如下选中真当前用户,在完全控制那一栏打钩,再点应用,确定,就行了。
其它什么注册表权限问题差不多也是这个思路吧
static/image/hrline/1.gif
前文:
SAOFB 1.7.0 CODEX版出来十几天了,最常见问题:unable to load library steamclient64.dll
各种所谓解决方法皆不是,近两天利用虚拟机终于取得了进展,新装win7 64位没问题,一旦安装了360杀毒重启后就会出现此问题,卸载,强删,还原注册表等皆没用,
最终反复比对,得出这样的猜测:
一旦安装了如360杀毒等此类软件,或其它什么补丁的,重启系统后会在注册表增加一些东西导致问题,还原注册表之所以没用是因为这并不能删除后面增加的东西,那么到底增加了什么呢,
如下:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\KnownDLLs\comres
键值: 字符串: "comres.dll"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\KnownDLLs\ddraw
键值: 字符串: "ddraw.dll"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\KnownDLLs\dsound
键值: 字符串: "dsound.dll"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\KnownDLLs\comres
键值: 字符串: "comres.dll"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\KnownDLLs\ddraw
键值: 字符串: "ddraw.dll"
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\KnownDLLs\dsound
键值: 字符串: "dsound.dll"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs\comres
键值: 字符串: "comres.dll"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs\ddraw
键值: 字符串: "ddraw.dll"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs\dsound
键值: 字符串: "dsound.dll"
static/image/hrline/1.gif
后文:
关于这些值添加原意应该是为了防dll劫持,却不料发生了冲突,看以下防dll劫持说明:分别为百度文与360文,内容是一样的
https://baike.blacksheepgame.com/item/dll%E5%8A%AB%E6%8C%81
或
https://baike.so.com/doc/3700862-3889171.html
2019.7.12最后更新最佳方案:
大胆猜测:根据上文关于防dll劫持说明,可以知道在注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs 中添加键值
是为了让某程序在调用相关DLL时首先从系统目录搜寻,一旦在系统目录找到就不会再去此程序找,而CODEX补丁为了绕过D,可能需要用到在游戏目录直接调用dsound,
故指定dsound的指向导致了绕D失败而报错……
因此,现在确认最佳方案应该是将dsound值设为空,这样就相当于删除+改名,既让其没起到作用,又防止了反弹还原,具体如下,视情况三种选一种:
1.直接导入空值dsound注册,再重启即可,一般情况下这个最简单。
2.开始-运行,输入:regedit 按确定打开注册表编辑器,
将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
中dsound的值删空, 然后重启系统即可,这种情况属于想自己手动操作的,有点麻烦。
看图:
3.同2,开始-运行,输入:regedit 按确定打开注册表编辑器,
然后删掉HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs 中所有值,
再导入已包含dsound值为空的完整KnownDLLs值,最后重启系统即可,这属于不能单独改dsound值的特殊情况!
注意:此为win7 64位的设定,未测试win8 64位和win10 64位是否也一样,硬要使用前请先对照一下。
p.s. 请看清:视情况三种选一种,建议选1和2,不要随便选3,除非系统没救了,抱着系统重装的觉悟!
static/image/hrline/1.gif
2019.7.14添加后续测试说明:
测试1:在新win7 64位系统中,先添加dsound值为空的设定,再安装360杀毒,重启后发现其它两值添加了而dsound值却仍为空,未被覆盖,可认为这启到了预防作用。
测试2:第一步:在新win7 64位系统中,先测试游戏未报steamclient64.dll错,然后添加dsound值为dsound.dll的设定,重启后,运行游戏报dll错。
第二步:接着到系统目录搜寻dsound.dll,将两个系统目录中的dsound.dll都改名为dsound1.dll,再重启,运行游戏不报dll错。
第三步:将两个系统目录中,较小的应为32位dsound1.dll改回dsound.dll,再重启,运行游戏仍不报dll错。
第四步:将两个系统目录中,较大的应为64位dsound1.dll改回dsound.dll,再重启,运行游戏又报dll错。
以上说明什么,第一,添加dsound值为空的设定,能启到预防被添的作用。第二,装不装360杀毒都一样有被其它情况添加的可能,只要任何可能添加了dsound值为dsound.dll的设定,重启后,运行游戏就会报dll错。
第三,实测证明了这种HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs 中添dll值设定的作用的确是让程序调用相关dll时首先指向系统目录,一旦系统目录有这个,就不会去程序目录调用。
第四,游戏是64位运行环境,调用的也是64位的dsound.dll,不会管32位dsound.dll。
最后总结一下,改dsound值为空的设定应是最佳的解决方案,系统应会无视这个空添加,不会产生多余影响,而删除法可能会还原,改名法又可能会引起系统进行一下判定即使用户看不见……
还有就算添加dsound值为空的设定能启到预防被添的作用,没遇到时也并不建议去实行,毕竟当遇到时再改也不迟……
以下为过去,暂作备份保留,不建议再去试用:
static/image/hrline/1.gif
2019.7.11解决方案再更新:由于删除方法容易反弹,为了降低关机反弹还原机率,采用修改键值方案,实测暂未发现反弹还原,具体如下(两种操作任选一种):
1.提供个直接添加注册表,改dsound值为:dsound.dlls(也可改其它名,未测),请下这个附件:注册表改dsound.reg ,双击添加到注册表,重启系统即可。
2.动手能力强的或怕什么的手动修改,如上同样是改dsound值为:dsound.dlls(也可改其它名,未测),具体为:
开始-运行,输入:regedit 按确定打开注册表编辑器,
修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
中dsound的值为dsound.dlls, 然后重启系统即可。
如图:
注意:发现有些人系统权限问题,改不了注册表,请自行百度,因为每台电脑实际情况不一样,只能针对性自行找解决方案,不存在一个通用的方案……
还有些电脑特殊情况,不能直接改一个项,需要先删掉整个KnownDLLs信息,再导入个没什么问题的已改了dsound名的KnownDLLs信息,然后重启才行,看51楼。
这里加个自己的整个KnownDLLs信息,已改了dsound名,
如果多次重启系统或关机,或又什么操作,可能会导致还原,则再改一次,重启即可!以上……
附:这可能只是解决此问题的一种方法,本人电脑win7 64位已解决,成功进游戏附图:
希望用此方法解决了此问题的人,回贴让更多人知道,更希望会做修改器或CE脚本的跟上来……
不得不说楼主是真的厉害又有毅力 LZNB!同win764位原本已经放弃了,按lz给出的办法已顺利进入游戏。请各位同样成功的朋友们回复下,以便让更多人看到! 楼主真心给力,造福大众 有毅力,佩服。 啊。。。。刚刚放弃彻底删除了才看到。。。 本帖最后由 fox78911 于 2019-7-10 20:32 编辑
亲测!“古墓”那边也解决了。LZ一战封神了。 确实可用,楼主牛B!!! 我认为楼主的研究很有价值,这种锲而不舍的研究精神,正是大多人缺乏的。不像有些人只知道瞎喷,自己有问题就喷补丁不行。事实证明玩不了的人,就是你的系统有问题,没什么是重装系统不能解决的。 楼主好样的 WIN10 1803 删了这个后也能用
本帖最后由 ccbfreedom 于 2019-7-10 19:56 编辑
牛逼,亲测用了楼主办法成功进游戏了,应该是其他几个游戏通用的我试的是新高达破坏者。 楼主你就是神啊!解决了可以玩了!
请问怎么删除?删除不了啊 WIN10 1803系统 foxstar 发表于 2019-7-10 20:33
请问怎么删除?删除不了啊 WIN10 1803系统
百度一下吧 WIN10 删注册表要改授权的
太感动了,谢谢楼主的努力。WIN7的我也进到去了。 LZNB!同win764位原本已经放弃了,按lz给出的办法已顺利进入游戏。 这次问题的最大原因,可能就是360导致,现在你们知道360有多垃圾
为什么外国找不到出错原因呢?因为外国人不用360 非常感激楼主,下了三天的游戏,差点就删了,幸亏楼主的出现,太厉害了!!! 果然可以,win7 64 win7也删不掉咋整 厉害,真的完美解决了 win7也删不掉咋整 有效!!!原来是360的余毒!!! realizexp 发表于 2019-7-10 23:04
win7也删不掉咋整
https://jingyan.blacksheepgame.com/article/3aed632ec4b9257010809183.html
好使了 楼主牛逼 感谢楼主!!!!!!!!!!!!!!!
真的有用:D:D:D
PS:本人操作系统WIN7 64 特地从新高达破坏者那边过来感谢!感谢技术大神锲而不舍的毅力,和无私分享的精神! 楼主牛啤!!! 本帖最后由 02657758 于 2019-7-11 05:47 编辑
我这里虽然不提示unable to load library steamclient64.dll错误了变成点了等了好久也没有反应怎么办啊?
卧槽原来是因为开了火绒。。。国产真是神奇
:lol某些人真是舔的超恶心的没解决还使劲吹,虽然不想玩了但还是谢谢楼主帮到了进不去的朋友们;P