.NET 4无法安装,因为SECUREREPAIR无法创建文件SetupResources.dll的CreateContentHash:用于计算哈希错误:997

Jac*_*_de 10 .net installation windows-installer

我在Windows 7 x64计算机上安装任何.NET Framework时遇到问题,我不断收到以下日志文​​件,可能是什么原因引起的?

OS Version = 6.1.7601, Platform 2, Service Pack 1
OS Description = Windows 7 - x64 Ultimate Edition Service Pack 1
CommandLine = C:\09b8fe547577883fe82c\\Setup.exe /x86 /x64
TimeZone = Mitteleuropäische Zeit
Initial LCID = 1031
Using Simultaneous Download and Install mechanism
Operation: Installing
Package Name = Microsoft .NET Framework 4 Setup
Package Version = 4.0.30319
User Experience Data Collection Policy: AlwaysUploaded
Number of applicable items: 11
Exe (C:\09b8fe547577883fe82c\SetupUtility.exe) succeeded.
Exe Log File: dd_SetupUtility.txt
ServiceControl operation succeeded!
ServiceControl operation succeeded!
Exe (C:\09b8fe547577883fe82c\Windows6.1-KB958488-v6001-x64.msu) failed with 0x240006 - (null).
Exe (C:\09b8fe547577883fe82c\SetupUtility.exe) succeeded.
Exe Log File: dd_SetupUtility.txt
MSI (C:\09b8fe547577883fe82c\netfx_Core_x64.msi) Installation failed. Msi Log: Microsoft .NET Framework 4 Setup_20150116_161918591-MSI_netfx_Core_x64.msi.txt
Final Result: Installation failed with error code: (0x80070643), "Schwerwiegender Fehler bei der Installation. " (Elapsed time: 0 00:00:11).
Run Code Online (Sandbox Code Playgroud)

我已经从MSI文件粘贴了一个LOG文件,你能看一下吗?

https://paste.ee/p/zXSWH

主要问题似乎是我在安装日志中找到的以下信息(参见上面日志中的第2981到2999行):

MSI (s) (78!78) [16:11:30:749]: SECUREREPAIR: Failed to CreateContentHash of the file: 1033\SetupResources.dll: for computing its hash. Error: 997
MSI (s) (78!78) [16:11:30:750]: SECREPAIR: Failed to create hash for the install source files
MSI (s) (78!78) [16:11:30:750]: SECUREREPAIR: SecureRepair Failed. Error code: 3e5F7CE34B8
Aktion gestartet um 16:11:30: CA_NgenUpdateHighestVersion_I_RB_amd64.3643236F_FC70_11D3_A536_0090278A1BB8.
MSI (s) (78!78) [16:11:30:753]: 
Run Code Online (Sandbox Code Playgroud)

我发现有关Secrepair问题的唯一信息是KB2918614,我完全卸载了它,重新启动,但问题仍然存在.此外,我重新安装了KB2918614,应用了其修补程序(KB3000988),问题仍然存在.

它发生在.NET Framework 4.0和4.5中,无论我尝试安装哪一个.

我第一次注意到这个问题在尝试应用.NET 4.5.2的更新时失败了,所以我完全卸载了.NET framework 4和4.5,现在无法安装任何这些.

你有什么想法可能导致这种奇怪的行为吗?

Tor*_*ier 19

Thaoden提供的解决方案(卸载KB2918614,KB3000988和KB3008627)对我不起作用.卸载这些更新后,我遇到了同样的错误.

对我有用的是JohnL999 在此建议的白名单解决方法.

那么,我要做的就是安装它:

  1. 创建一个以SecureRepairPolicyvalue 2in 命名的DWORDHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer

  2. 创建关键SecureRepairWhitelistHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer

  3. SecureRepairWhitelist,使用要将名称列入白名单的产品ID创建一个String.就我而言,这是{3911CF56-9EF2-39BA-846A-C27BD3CD0685}.您可以在msi日志文件中找到产品ID,错误之前会显示一些行

    SECUREREPAIR: Failed to CreateContentHash of the file: 1030\SetupResources.dll: for computing its hash. Error: 997.
    
    Run Code Online (Sandbox Code Playgroud)

    它看起来像这样:

    SECREPAIR: Hash Database: C:\windows\Installer\SourceHash{3911CF56-9EF2-39BA-846A-C27BD3CD0685}
    
    Run Code Online (Sandbox Code Playgroud)

    或这个:

    SOURCEDIR product ==> {3911CF56-9EF2-39BA-846A-C27BD3CD0685}
    
    Run Code Online (Sandbox Code Playgroud)

    根据您要安装的MSI,可能是不同的产品ID.

  • 这对我也有帮助.如果无法获得无法安装的软件包的产品ID(GUID),则可以临时将SecureRepairPolicy设置为值1. (4认同)

Tha*_*den 5

经过一段漫长的无聊搜索,我偶然发现了https://forums.lenovo.com/t5/ThinkVantage-Technologies/Install-of-Sytem-update-fails-with-MSI-installer-Error-997/td-p/1802731.它说要卸载KB2918614,KB3000988和KB3008627.这对我有用.
显然,罪魁祸首是KB3008627,因为我在之前的尝试中没有卸载那个.


Ram*_* A. 5

即使卸载了 KB2918614 等后,我仍然不断收到此错误,最终为我解决的问题是重命名C:\\ProgramData\\Microsoft\\Crypto\\RSA\\S-1-5-18C:\\ProgramData\\Microsoft\\Crypto\\RSA\\S-1-5-18.bak例如。只有这样重试失败的安装才会成功!:)

\n

失败的安装将重新创建该文件夹。

\n

我在这个的评论部分找到了这个解决方案博文

\n
\n

Gerd H\xc3\xbcbner 2015 年 9 月 4 日上午 6:15 #

\n

简而言之:重命名文件夹 C:\\ProgramData\\Microsoft\\Crypto\\RSA\\S-1-5-18

\n
\n