无法安装Visual Studio Community,提示Microsoft.C2RSignatureReader.Native.dll缺失
注意:我已经在相关社区SuperUser提出过该问题,但未收到回复,因此选择在此提问。
请注意我不希望重装或重置Windows系统
此前我的Visual Studio 2019运行正常,一个月前我想要安装更多组件,运行installer_shell.exe时收到更新提示,完成更新后仍反复弹出更新请求,无更新完成迹象,随后我将该问题反馈至Microsoft Developer Community。
之后我参考了多种解决方案,其中一种是执行安装清理后重新安装Vs_community.exe。
执行该方案后我甚至无法运行Vs_community.exe安装包,该情况与该方案下的原始提问用户遇到的问题一致。
运行新下载的vs_community.exe时,日志文件显示报错:DllNotFoundException, Message = Unable to load DLL 'Microsoft.C2RSignatureReader.Native.dll'
同时,该dll文件在我的笔记本,以及安装了可正常运行的Visual Studio 2019的朋友的笔记本中均无法找到。
生成的日志文件内容如下:
Beginning of the log. Start Time: 11/13/2021 3:49:56 PM VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Commandline arguments = --env,_SFX_CAB_EXE_PACKAGE:C:\Users\Daniyal Shaikh\Downloads\vs_community__1177568830.1625520809.exe _SFX_CAB_EXE_ORIGINALWORKINGDIR:C:\Users\Daniyal Shaikh\Downloads VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Caught Exception: Type = DllNotFoundException, Message = Unable to load DLL 'Microsoft.C2RSignatureReader.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E), StackTrace = at C2RSignatureReader.Interop.C2RSignatureReaderNative.ParseArguments(String path, String[]& argumentsArray) at C2RSignatureReader.Interop.C2RSignatureReaderInterop.ParseArguments(String path, String[]& arguments) at Microsoft.VisualStudio.Setup.Bootstrapper.Program.Parse(String[] args, IServiceProvider serviceProvider, IC2RSignatureReaderInterop c2rSignatureReader, String entryAssemblyProcessName, String entryAssemblyProcessFullName) at Microsoft.VisualStudio.Setup.Bootstrapper.Program.Run(String[] args) VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: General Failure. Message:Unable to load DLL 'Microsoft.C2RSignatureReader.Native.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) Callstack: at C2RSignatureReader.Interop.C2RSignatureReaderNative.ParseArguments(String path, String[]& argumentsArray) at C2RSignatureReader.Interop.C2RSignatureReaderInterop.ParseArguments(String path, String[]& arguments) at Microsoft.VisualStudio.Setup.Bootstrapper.Program.Parse(String[] args, IServiceProvider serviceProvider, IC2RSignatureReaderInterop c2rSignatureReader, String entryAssemblyProcessName, String entryAssemblyProcessFullName) at Microsoft.VisualStudio.Setup.Bootstrapper.Program.Run(String[] args) Inner Message: Internal Exception: VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: Sending Watson Bucket with: VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P1 = vs_setup_bootstrapper VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P2 = 3.0.4492.23473 VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P3 = VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P4 = VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P5 = VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P6 = n/a VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P7 = 5002 VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P8 = -2146233052 VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P9 = VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: P10 = VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: Including dmp file VisualStudio Bootstrapper:11/13/2021 3:49:57 PM: Watson: Including Log : C:\Users\Daniyal Shaikh\AppData\Local\Temp;\dd_bootstrapper_20211113154956.log
我已经尝试了开发者社区反馈帖中提到的几乎所有解决方案,此处不再一一列举。
我还尝试过拷贝朋友设备上的安装程序和Visual Studio文件夹到我的电脑,运行时仅能启动数秒就会自动退出,安装程序和IDE均是如此。
总结
已尝试的解决方案
- 更新Windows系统
- 修复.NET FrameWork
- 执行故障排查
尝试但未成功的解决方案
- 安装Windows安全更新KB5001337
- 查找Microsoft.C2RSignatureReader.Native.dll文件
因上述问题,我未执行提到的干净启动操作。
请求协助解决该问题,以下是我怀疑可解决问题但暂不知道如何执行的操作:
可能可行的待执行方案
以下操作可能可以解决问题,但我暂不了解执行方法:
- 启动相关的微软服务(不清楚哪些服务与该问题相关)
- 若dll存在则授予其访问安全权限(无法定位该dll)
- 检查.NET Framework的machine.config是否被修改(不知道如何检查,且修复工具未检测到相关错误)
再次提醒我不希望重装或重置Windows系统
内容的提问来源于stack exchange,提问作者Daniyal Shaikh

