Win32Exception (0x80004005): 找不到指定的模块

2024-03-03 02:18

本文主要是介绍Win32Exception (0x80004005): 找不到指定的模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

​[Win32Exception (0x80004005): 找不到指定的模块。][DllNotFoundException: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\WPF\wpfgfx_v0400.dll]MS.Internal.NativeWPFDLLLoader.LoadNativeWPFDLL(UInt16* relDllPath, UInt16* baseDllPath) +9900939


问题出现的原因,上午来工作开始打补丁操作,windows2008 r2 sp1打补丁,40多个补丁,800多M,需要一段时间,因此打补丁的过程中就没再管它,忙其他事。然后中午2点多,有同事反应,网站上不去了。连忙打开公司的两个网站,都报Win32Exception (0x80004005): 找不到指定的模块的错误。上到服务器上查看,所打补丁都失败,然后提示重启,重启过程中看到提示,大意是打补丁失败,正在进行还原操作。然而,服务器重启成功后,仍然报找不到指定模块的错误。网上搜索答案,相近的问题就是Win32Exception (0x80004005): 找不到指定的文件。但是答案与我遇到的根本不沾边。当时我就急了。以前我遇到过这种服务器打补丁造成网站出问题的情况,那次为了解决该问题,服务器甚至重装,花了一天多的时间。自那以后,服务器打补丁这种事一般我不做。这要到了需要重装服务器器的地步,老板不把我吃掉。这次是因为阿里云发来了提示邮件:云服务器存在对外ddos攻击,而我进行服务器检查,并没有找到可疑进程,于是才想着打下补丁。结果打补丁的过程中就出问题了。

因为提示部分补丁安装失败,当时就想,既然网站已经不能访问,那就再次安装下未安装成功的补丁。可是windows update运行了几分钟,进度条都没动一下,果断放弃,这要再安装个几个钟头还得了。由于有提示wpfgfx_v0400.dll 这个dll未发现。但是我实际检查,在这个文件夹下该文件存在。网上找到一个可以修复动态链的方法。

打开CMD窗口输入如下命令注册一下所有的动态链: 

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 回车执行

for %1 in (%windir%\system32\*.ocx) do regsvr32.exe /s %1 回车执行

立即执行,看能否解决,执行后重启服务器,问题依旧。然后又检查服务器,发觉只是网站访问有问题,而sqlserver仍然正常。因为网站运行依赖于.net framework,于是打算重装下.net framework看能否解决此问题。打开服务器,在程序卸载页面发觉安装的版本是4.6.2。但是在错误提示页面,看到最下面的.net framework版本是4.7.2 。 这个时候也不是纠结这个问题的时候,先快速安装4.6.2版本,安装后问题依旧。然后安装.net framework 4.7版本。提示

通过这个提示,知道安装.net framework 4.7需要一个依赖更新。找到了这篇文章:

https://support.microsoft.com/zh-cn/help/4020302/the-net-framework-4-7-installation-is-blocked-on-windows-7-windows-ser

在这篇文章中找到了这句话:

This issue occurs when the computer does not have the update for D3DComplier (D3DCompiler_47.dll) installed.

也就是说系统少一个文件d3dcompiler_47.dll

为了安装这个文件,我往下看


由于我的服务器是windows 2008 64位版,我选的是红框中的链接,下载后的补丁文件为:Windows6.1-KB4019990-x64.msu

双击安装,安装完后,再次安装.net framework 4.7.安装完后,要求重启服务器,重启后再次访问网站,这次网站可以正常访问。不再报Win32Exception (0x80004005): 找不到指定的模块的错误,也没有再报其他的错误。

问题解决后分析,应该是打补丁失败后的回滚,损坏了原来正常的.net framework 4.7文件造成的。

这篇关于Win32Exception (0x80004005): 找不到指定的模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768149

相关文章

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

MySQL8.0找不到my.ini如何解决

《MySQL8.0找不到my.ini如何解决》在配置MySQL主从复制时,发现找不到my.ini配置文件,通过检查路径和打开隐藏文件夹,最终在C:ProgramDataMySQLMySQLSer... 目录问题描述解决方法总结问题描述今天在配置mysql主从复制的时候发现,找不到my.ini这个配置文件。

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit