我最近从 Vista 64 位 SP2 Professional 升级到了 Windows 7 64 位 Professional。大多数操作都很顺利,但是更新后,每当我尝试使用使用 .Net 4 或 4.5 的应用程序时,我都会得到一个修复工具,它会运行一段时间,但它似乎什么也没做,下次它又会恢复。
某些 .Net 4 和 4.5 应用程序可以运行,但有些则不行。我尝试使用 .Net 4.5 的修复工具,但失败了。我还尝试使用清理工具,然后重新启动,但重新安装失败,现在没有基于 .Net 4 或 4.5 的应用程序可以运行。
有什么想法可能导致我的 .Net 运行时如此混乱吗?有什么想法可以修复它吗?这是否可能与 4.5.1 与 Vista SP2 一起安装但与未安装 SP 1 的 Windows 7 不兼容有关?
这里是请求的 CBS 日志文件。
答案1
此问题是由于 Vista SP2 上已经安装了 .Net 4.5.1,而 Windows 7 RTM 上与 .Net 4.5.1 不兼容。此外,Windows 7 RTM 无法理解 .Net 4.5.1 是什么,因此在尝试删除它时会出现错误,这让问题变得更加复杂。
而且看起来 Microsoft .Net Cleanup Tool 并没有意识到它应该检查这种情况,因为它首先检查当前的操作系统并且并不期望安装 4.5.1。
在进一步检查 .Net 4 安装程序的日志文件后,我能够获取 .Net 4.5.1 安装的 GUID,并手动将其输入到 MSIExec 中,使用 /x 命令行参数和安装 GUID 进行卸载。
卸载 .Net 4.5.1 后,.Net 版本以及 SP1 的安装顺利进行,并且 .Net 应用程序恢复正常工作。