今天,我启动了计算机,并出现了一些类似这样的错误,因此自动运行中的某些程序没有启动:
打开许多程序时出现此错误,我什至不能使用7zip。昨天我唯一要做的就是通过Steam安装游戏,现在我无法在PC上使用大约70%的软件(大多数错误在整个程序上出现,部分仅在某些模块上出现)。
我只是运行了一个SFC /scannnow
,结果是:“ Windows资源保护未发现任何完整性违规”。
这可能是某种病毒或Steam弄乱了某些东西吗?我该怎么办?
今天,我启动了计算机,并出现了一些类似这样的错误,因此自动运行中的某些程序没有启动:
打开许多程序时出现此错误,我什至不能使用7zip。昨天我唯一要做的就是通过Steam安装游戏,现在我无法在PC上使用大约70%的软件(大多数错误在整个程序上出现,部分仅在某些模块上出现)。
我只是运行了一个SFC /scannnow
,结果是:“ Windows资源保护未发现任何完整性违规”。
这可能是某种病毒或Steam弄乱了某些东西吗?我该怎么办?
Answers:
感谢您的所有建议,经过一番谷歌搜索后,我发现此解决方案实际上对我有用:
regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\WindowsNT\CurrentVersion\Windows
APPINIT_DLLS
并删除其中的所有内容恐怕很少有人知道神秘的0xC0000018 EXE启动错误的根本原因,因为即使到Windows 10为止,Microsoft都会使它含糊不清。当阅读Jeffrey Richter的MS Windows 4th 编程应用程序时,我碰巧发现了它。
如果DLL需要在固定地址(在进程虚拟地址空间中)加载,但无法满足该要求,则Windows会声明非常0xC0000018错误。但是,没有明显的线索可以确定哪个DLL引起了问题。一个简单的Google搜索“ 0xC0000018”就会弹出大量令人困惑的用户帖子。
要重现,您可以准备一个包含一个EXE和两个DLL的解决方案(Visual Studio术语),并将两个DLL都设置为具有链接器选项/FIXED /BASE:"0x44440000"
,并使EXE隐式加载两个DLL,然后在EXE启动时会看到0xC0000018错误。
是的,清除APPINIT_DLLS
注册表中的内容是摆脱可能的罪魁祸首的第一选择。这些DLL将被加载到您启动的每个进程中,因此可能会破坏您的生命。
那么如何查明实际的罪魁祸首DLL?也许有一种方法,使用dumpbin.exe来检查其中的每个DLL APPINIT_DLLS
或其他可能的自动加载的DLL(在AutoRuns的帮助下),然后使用逐个检查它们dumpbin -headers
。如果没有任何.reloc
节,则它是固定位置的 DLL。
procmon
。进程尝试加载的最后一个DLL必须是触发错误的DLL。
c0000018
则在可执行文件为32位时会发生。Windows使用64位可执行文件,拒绝以“错误图像”错误加载它们,这非常令人困惑。请注意,错误可能会随着调试/发行版的生成而消失,并且在Windows更新更改系统dll的地址空间布局后意外出现。
我已经通过Steam安装了大约40款游戏,并且没有任何问题,不,我认为Steam没什么不好。尝试使用Windows还原点还原系统:http : //windows.microsoft.com/en-ph/windows-vista/system-restore-frequently-asked-questions
[编辑]也许缺少某些DLL,您可以使用Dependency Walker测试无法启动的程序的依赖性:http : //www.dependencywalker.com/
Restore
在我的PC上搜索,因为当我按下Windows按钮并尝试在“设置”选项卡中搜索某些内容时,Metro只会冻结。
Refresh
你的Windows 8
安装。这将需要重新安装桌面应用程序。
可能与以下MS Update和McAfee Data Loss Prevention端点(DLP端点)相关联。似乎MS更新和McAfee Data Loss Prevention Endpoint之间存在冲突。
请访问以下网站: 安装了Data Loss Prevention Endpoint时,Windows 7上的Microsoft补丁MS15-038 Microsoft安全公告MS15-038-重要