尽管尝试使用 Windows Fix It 工具、删除/重新安装 .NET 3.5 等,IIS 7 仍无法在 Windows 7 上安装

尽管尝试使用 Windows Fix It 工具、删除/重新安装 .NET 3.5 等,IIS 7 仍无法在 Windows 7 上安装

我并不是第一个在 Windows 7 机器上安装 IIS 7 时遇到问题的人,但到目前为止,还没有人真正解决这个问题。当我尝试安装 IIS 7 时,我收到以下消息:

发生错误。并非所有功能均已成功更改。

如果我尝试完整安装(而不是基本安装).NET Framework 3.5,也会发生这种情况。

我尝试了其他几种方法来解决 IIS 7 问题:

  • 卸载 .NET 3.5,重新启动,重新安装 .NET 3.5(基本安装),然后安装 IIS 7。

  • 卸载 .NET 3.5,重新启动,不是重新安装它,但继续安装 IIS 7。

  • 运行 Windows Fix It 工具。(它检测到安装 IIS 7 时出现问题,但在尝试修复时遇到了某种错误。)

  • 在 Windows Fix It 工具成功修复其他一些问题后,获取了大量 Windows 更新,重新启动,然后安装 IIS 7。

  • 确保HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Start设置为3,而不是4

  • ETC。

从几个月前我在同一台计算机上遇到同样的问题并最终继续前进时起,这个问题在顶部被记录了好几次iis7.log

[06/23/2014 20:47:57] [ ***** IIS 7.0 Component Based Setup ***** ]
[06/23/2014 20:47:57] "C:\Windows\System32\inetsrv\iissetup.exe" /launch C:\Windows\System32\inetsrv\appcmd.exe reset config -section:system.applicationHost/applicationPools
[06/23/2014 20:47:57] Launching command C:\Windows\System32\inetsrv\appcmd.exe, with params C:\Windows\System32\inetsrv\appcmd.exe reset config     -section:system.applicationHost/applicationPools
[06/23/2014 20:47:58] LaunchCommand Succeeded
[06/23/2014 20:47:58] Success!

在其中几次之后,以及在更多次之前,记录了以下内容:

[06/23/2014 20:47:59] [ ***** IIS 7.0 Component Based Setup ***** ]
[06/23/2014 20:47:59] "C:\Windows\System32\inetsrv\iissetup.exe" /install SharedLibraries
[06/23/2014 20:48:00] Successfully added IIS_IUSRS ACE to DACL at %ProgramData%\Microsoft\Windows\WER\ReportQueue.
[06/23/2014 20:48:00] Created NetFrameworkConfigurationKey key containter
[06/23/2014 20:48:00] Created NetFrameworkConfigurationKey user key
[06/23/2014 20:48:00] Set ACLs on NetFrameworkConfigurationKey
[06/23/2014 20:48:00] Created iisWasKey key container
[06/23/2014 20:48:00] Created iisWasKey user key
[06/23/2014 20:48:00] Created iisConfigurationKey key container
[06/23/2014 20:48:00] Created iisConfigurationKey user key
[06/23/2014 20:48:00] Set ACLs on iisConfigurationKey
[06/23/2014 20:48:00] iisConfigurationKey already exists
[06/23/2014 20:48:00] Created AesProvider
[06/23/2014 20:48:00] Created IISWASOnlyAesProvider
[06/23/2014 20:48:00] Install of component SharedLibraries succeeded!
[06/23/2014 20:48:00] Success!
[06/23/2014 20:48:00] [ End of IIS 7.0 Component Based Setup ]

日志会在这里和那里发生一些变化,但有一件事是从昨晚的尝试中重复出来的,那就是:

[02/17/2015 21:12:29] [ ***** IIS 7.0 Component Based Setup ***** ]
[02/17/2015 21:12:29] "C:\Windows\WinSxS\amd64_microsoft-windows-iis-sharedlibraries_31bf3856ad364e35_6.1.7601.17514_none_6f0f7833cb71e18d\iissetup.exe" /launch_uninstall C:\Windows\System32\inetsrv\appcmd.exe clear config -section:system.webServer/security/applicationDependencies
[02/17/2015 21:12:29] < WARNING! > Failed to detect if config redirection is enabled. result=0x80070032.Assuming config is not redirected and continuing.
[02/17/2015 21:12:29] Launching command C:\Windows\System32\inetsrv\appcmd.exe, with params C:\Windows\System32\inetsrv\appcmd.exe clear config -section:system.webServer/security/applicationDependencies
[02/17/2015 21:12:29] Ignoring acceptable LaunchCommand failure 0x80070002
[02/17/2015 21:12:29] Success!
[02/17/2015 21:12:29] [ End of IIS 7.0 Component Based Setup ]

最后,我们以这样的几件事结束(可能是因为我昨晚最后花了几分钟试图清理一些东西):

[02/17/2015 21:12:30] [ ***** IIS 7.0 Component Based Setup ***** ]
[02/17/2015 21:12:30] "C:\Windows\WinSxS\amd64_microsoft-windows-iis-sharedlibraries_31bf3856ad364e35_6.1.7601.17514_none_6f0f7833cb71e18d\iissetup.exe" /uninstall SharedLibraries
[02/17/2015 21:12:30] < WARNING! > Failed to detect if config redirection is enabled. result=0x80070032.Assuming config is not redirected and continuing.
[02/17/2015 21:12:30] Uninstall of component SharedLibraries succeeded!
[02/17/2015 21:12:30] Success!
[02/17/2015 21:12:30] [ End of IIS 7.0 Component Based Setup ]

我确实检查了0x80070002错误,但研究错误只会让我陷入更深的困境。还有什么可能阻碍 IIS(和完整的 .NET 3.5)安装?谢谢!

编辑

这是 CBS 日志的链接,正如评论中所推荐的:

https://onedrive.live.com/redir?resid=5D4A777E3F287EA8!109&authkey=!ABZ6iUqUubMhaA4&ithint=file%2czip

答案1

真正功劳要归功于 magicandre1981。

本质上这是由于 ZeroAccess 根工具包造成的,使用 ESETSirefefCleaner 和 RogueKiller(至少是 RogueKiller)几乎能够消除它,或者至少将它排除在安装 IIS 的途径之外。


我记不太清楚所有的步骤。有一次,magicandre1981 建议将日志从 CBS 文件夹中发布出来,他发现了文件未找到异常。他建议使用sfc /scannow

每次我运行它,它都会在 65% 左右失败。 CHKDSK基本上没有任何帮助。sfc /scannow在安全模式下运行,也许还有其他一些操作,也没有多大用处。

但后来,我尝试使用sfc /verifyonly,它说内容已损坏。 随后查看 CBS 日志,发现有四行错误日志组合在一起,第一行显示(F) STATUS_FILE_IS_A_DIRECTORY和之类的内容"\SystemRoot\WinSxS\amd64_security-malware-windows-defender-events_31bf3856ad36‌​4e35_6.1.7600.16385_none_118cf1dcd54a3dea\MpEvMsg.dll"

在互联网上查找后发现,ZeroAccess 似乎会扭曲该 dll 的内容,使其路径引用目录\Windows\system32\config,而不是 dll。有人在谈论此事http://www.sevenforums.com/system-security/290614-sfc-warning.html,它似乎很有帮助,但主要建议在我的特定情况下并没有完全发挥作用。

不过我确实使用了 ESETSirefefCleaner,dll 问题似乎仍然存在。我尝试了几次,并对其进行了一点小调整,但即使它对问题有所帮助,也没有完全解决问题。显然其他人已经能够使用该程序完全修复 dll 问题,所以我想这真的取决于每个人的情况。

我在某处看到的一个较长的建议是运行五六个不同的程序来摆脱这个东西,包括 ESETSirefefCleaner 和 RogueKiller,还有 Combofix。但从其他来源来看,使用 Combofix 似乎非常危险,而且出于其他原因,我决定运行 RogueKiller 看看会发生什么。果然,在使用 ESET 和 RogueKiller 之后,两者sfc /verifyonlysfc /scannow能够顺利完成并且没有检测到任何问题,dll 看起来很正常,并且能够安装 IIS。

答案2

也许尝试使用 Microsoft 工具来检测此类问题...

https://support.microsoft.com/es-es/kb/947821

相关内容