繁体   English   中英

无法安装 Visual Studio Community Edition (IDE),总是遇到 dll not found 异常

[英]Cannot Install Visual Studio Community Edition (IDE) and always run into dll not found exception

注意:我已经在SuperUser上问过这个问题,因为它是一个相关的社区,但我在那里没有得到任何答案,所以我想在这里问。

请注意,我不想在我的电脑上重新安装 windows 或重置它

所以,我在 1 个月前使用 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

我已经尝试了我的dev_community 报告中提到的几乎所有解决方案。

我不想在这里一一列举。 如果有人愿意提供帮助,他们可以查看上面我发布原始问题的链接。

我尝试的另一个解决方案是从我的朋友那里获取安装程序和 visual studio 文件夹。 我复制并粘贴了我电脑中的所有文件夹和文件。 它们会启动几秒钟,然后自动关闭。 (安装程序和 IDE)。

所以总结一下

我尝试过的解决方案:

更新 Windows

修复 .NET FrameWork

疑难解答

我尝试但失败的解决方案:

Windows 安全更新 KB5001337

找到 Microsoft.C2RSignatureReader.Native.dll 文件

由于上述问题,我没有继续执行上述链接中提到的干净启动。

请帮助我解决问题,这里有一些我无法执行的可能性。

我怀疑可以解决我的问题的事情

以下可能是可能的解决方案,但我无法应用它们,因为我不知道如何

  1. 启动相关的微软服务(不知道是什么服务相关)。
  2. 授予安全权限以访问 dll(如果存在)。 (我找不到 dll)。
  3. 检查 .net 框架中的 machine.config 是否已更改。 (我不知道如何检查它是否被更改)但是当我运行修复工具时它没有发现任何错误。

请注意我不想在我的电脑上重新安装 windows 或重置它

对我有用的是:将 TEMP 和 TMP 设置为类似

set TEMP=c:\temp 
set TMP=c:\tmp 
vs_community.exe

(微软缺乏逻辑,其网站给出了“安装路径”少于80个字符的奇怪提示)

如您所见,安装程序认为您的路径是:

C:\Users\Daniyal Shaikh\AppData\Local\Temp;\dd_bootstrapper_20211113154956.log

它在您的 TEMP 路径中添加了该分号。 如果您在 windows 中打开您的高级系统设置,环境变量,并编辑 TEMP 变量,您将在末尾看到一个分号。 单击编辑,然后单击编辑文本,删除分号并保存。 安装程序现在应该打开了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM