无法将证书链构建到受信任的根颁发机构

时间:2017-11-08 09:41:53

标签: .net certificate windows-7-embedded

在安装.NET Framework 4.6.2期间,出现错误:

  

.NET Framework安装失败:-2146762486。证书链   无法构建到受信任的根权限

MSDN Blog link给出了上述错误的解决方案,其中说明要执行以下步骤:

1. 在本地下载证书http://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt(例如:C:\ Temp)

2. 您可以使用certmgr.exe实用程序通过命令行添加证书。有关详细信息,请参阅MSDN上的Certmgr.exe(证书管理器工具)主题。

3. 打开管理员命令提示符并运行以下命令:certmgr.exe / add C:\ Temp \ MicRooCerAut2011_2011_03_22.cer / s / r localMachine root

4. 接下来,尝试安装补丁KB3135996或KB3136000

我的问题:

.NET Framework 4.6.2的安装必须在多个生产系统上完成,因此, 是上述标准步骤 ?我的意思是, 在几个系统上安装相同的证书会产生问题吗 ?当系统在某个时刻连接到互联网时,是否会产生冲突?

PS:通过将系统连接到Internet来解决此问题(管理证书)不是我的选择,因为整个过程必须离线

6 个答案:

答案 0 :(得分:33)

我在Win 7 sp1中也遇到了同样的问题。

解决方案如下:

  1. 从Microsoft下载证书文件:MicrosoftRootCertificateAuthority2011.cer

如果某天链接无效,则可以从MicrosoftRootCertificateAuthority2011.cer - github下载。

  1. 立即双击下载的.cer文件,然后按照以下捕获内容安装证书:

Step1


Step2


Step3


Step4

  1. 重新安装.NET Framework 4.6.2安装包。

然后将解决问题。可能对您有帮助。

答案 1 :(得分:2)

  

在几个系统上安装相同的证书会产生问题吗?

不,即使系统将来连接到互联网也不会有问题。

当您将系统连接到互联网并进行更新时,它可以下载一包可信证书。这些证书将添加到受信任的根存储中。现有的只是简单地替换IMO。

答案 2 :(得分:1)

我只是想说我在Windows Server 2008 R2机器上尝试安装.NET 4.7.2时遇到类似的问题。我必须先将其升级到Win 2k8r2 SP1,然后添加d3ddecomplier.dll(KB4019990)的必备更新,然后必须如上所述加载证书存储。毕竟,我终于可以安装.NET 4.7.2。

答案 3 :(得分:0)

我最近遇到了这个问题,防火墙后面的系统没有Internet访问权限。我在.NET Framework 4.6.2 MSI上运行/ extract,并且能够直接运行x64安装程序而无需进行证书检查。也许不是“正确”的方法,但它行得通。

答案 4 :(得分:0)

几乎有同样的问题。 visual c ++错误0x800b010a找不到要下载的证书。安装了Firefox,然后重试安装c ++,并修复了问题。必须是Firefox浏览器才能安装这些证书。

答案 5 :(得分:0)

在OhioDeveloper的带领下,我对所有在Dell OptiPlex 3040中安装时出错的Dell驱动程序包执行了相同的操作... 我从一家即将关闭并因此清算所有资产的公司购买了几台紧凑型OptiPlex 3040,

我一直在各个方面进行战斗,试图制作一个新的Windows 7,在Dell上安装并遇到相同的问题...(Net Framework 4.8)在启动时抛出了(Root Trust Certificate-Error)。在解压缩所有文件并检查主机环境之后进行安装。

首先,我使用(7-Zip)[免费软件],将其指向Net Framework安装文件,并告诉它提取... 7-zip将创建一个文件夹(具有匹配的名称),其中包含文件的所有提取内容。

〜如果您不熟悉打开安装文件以查看其中的内容,则此部分可能看起来“麻烦”,但是我们在这里所做的只是手动运行系统的特定文件,而忽略了其他所有内容。 〜

您正在寻找(.MSI)文件。 例如....

Netfx _ ??????? _ x64.msi

许多文件具有相似的名称,它们仅位于中间(??????)片中,并且名称中具有(x86)或(x64)。


If you’re on a 32 bit system, use the files with {x86} in the file name.

If you’re on a 64 bit system, use the files with {x64} in the file name.

...在这一点上,我对哪一个 (?????)要使用的文件变体。 文件命名有4种变化。

核心/扩展/ 满/修补

这4个文件名的变体根本没有帮助... 我不确定这是否会升级,因为实际上Windows已经安装了(Net Framework 3.something)。

CORE始终是一个重要的文件名,听起来很重要,但实际上并没有什么...

延伸,听起来很愚蠢,再也没躲起来。

所以我选择了FULL,希望它能“完成所有工作”并消除猜测。所以我决定使用(... FULL_x64 ...)版本。

所以我运行了{NETFX_FULL_x64.msi},并且很高兴地报告(Net Framework 4.8)安装没有错误。

...希望这种详尽的介绍对某人有所帮助。

〜TechnoDruid

很抱歉,这是尝试帮助那些(或从未曾)尝试过非传统工作的用户来修复Windows错误。