zoukankan      html  css  js  c++  java
  • Office 2016安装失败解决方案

    Office 2016安装失败解决方案

    简介

    手贱卸载了Office 2013改装2016,然后就呵呵了,安装失败,且没有报错信息。F**k 微软。

    解决方案

    找日志

    首先在文件资源管理器,也就是文件夹的导航里输入%Temp%,然后搜索SetupExe,根据文件名查看出错时的日志,例如SetupExe(2018081612405095C).log,明显能够看到时间。
    ##报错信息
    文件末尾,你会看到

    Catalyst execution finished: 08/16/2018 12:09:12. Return code: 1603.

    这个错误代码1603,在谷歌百度上有铺天盖地的该问题解决方案,包括微软自己的网站也有各种方法,反正我试了不行。1603实际是一个通用的错误代码,我们需要在日志文件中找到底是哪里出错了。

    各种翻日志,我找到了这一段

    2018/08/16 12:04:04:963::[14144] MSI(ACTIONSTART): ‘操作 12:04:04: InstallFinalize。’
    2018/08/16 12:04:04:963::[14144] MSI(INFO): ‘操作开始 12:04:04: InstallFinalize。’
    2018/08/16 12:04:05:010::[14144] MSI(COMMONDATA): ‘消息类型: 0,参数: 0’
    2018/08/16 12:04:05:010::[14144] MSI(COMMONDATA): ‘消息类型: 1,参数: Microsoft Office Professional Plus 2016’
    2018/08/16 12:04:05:010::[14144] MSI(ACTIONSTART): ‘操作 12:04:05: CryptRegAction。’
    2018/08/16 12:04:05:073::[14144] MSI(INFO): ‘CryptRegAction: Registering the Office Provider.’
    2018/08/16 12:04:05:088::[14144] MSI(ACTIONSTART): ‘操作 12:04:05: MsoHtmEdSelfReg。’
    2018/08/16 12:04:05:260::[14144] MSI(ACTIONSTART): ‘操作 12:04:05: CAPopulateSPPCache。’
    2018/08/16 12:04:05:276::[14144] MSI(INFO): ‘CAPopulateSPPCache: OMSICA : Initializing CustomAction CAPopulateSPPCache’
    2018/08/16 12:04:05:432::[14144] MSI(ACTIONSTART): ‘操作 12:04:05: CARegisterHeartbeat。’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CAQuietExec: ???’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CAQuietExec: Error 0x80070001: Command line returned an error.’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CAQuietExec: Error 0x80070001: CAQuietExec Failed’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CustomAction CARegisterHeartbeat returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘操作结束 12:04:05: InstallFinalize。返回值 3。’

    没有经验的可以尝试所有“返回值3”,英文版估计是“Return Code 3”。为什么搜这个?因为返回值3就说明操作失败了。在我的记录里,上一段之后,直接就开始回滚了,说明一定是这里出了问题。回滚的日志开头如下

    2018/08/16 12:04:05:510::[14144] MSI(COMMONDATA): ‘消息类型: 2,参数: 0’
    2018/08/16 12:04:05:526::[14144] MSI(COMMONDATA): ‘消息类型: 2,参数: 0’
    2018/08/16 12:04:05:526::[14144] MSI(COMMONDATA): ‘消息类型: 0,参数: 0’
    2018/08/16 12:04:05:526::[14144] MSI(COMMONDATA): ‘消息类型: 1,参数: Microsoft Office Professional Plus 2016’
    2018/08/16 12:04:05:526::[14144] MSI(ACTIONSTART): ‘操作 12:04:05: Rollback。正在回退操作:’
    2018/08/16 12:04:05:526::[14144] Log level changed from: Standard to: Verbose
    2018/08/16 12:04:05:526::[14144] MSI(COMMONDATA): ‘消息类型: 2,参数: 1’
    2018/08/16 12:04:05:526::[14144] MSI(COMMONDATA): ‘消息类型: 2,参数: 0’
    2018/08/16 12:04:05:620::[14144] MSI(COMMONDATA): ‘消息类型: 0,参数: 0’
    2018/08/16 12:04:05:620::[14144] MSI(COMMONDATA): ‘消息类型: 1,参数: Microsoft Office Professional Plus 2016’
    2018/08/16 12:04:05:620::[14144] MSI(ACTIONSTART): ‘操作 12:04:05: Rollback。正在回退操作:’

    那么错误到底是啥呢?很明显是CARegisterHeartbeat错了

    2018/08/16 12:04:05:432::[14144] MSI(ACTIONSTART): ‘操作 12:04:05: CARegisterHeartbeat。’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CAQuietExec: ???’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CAQuietExec: Error 0x80070001: Command line returned an error.’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CAQuietExec: Error 0x80070001: CAQuietExec Failed’
    2018/08/16 12:04:05:510::[14144] MSI(INFO): ‘CustomAction CARegisterHeartbeat returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)’

    如何解决?百度是不靠谱的,还是要在谷歌搜索。这里可以搜索CARegisterHeartbeat或者CAQuietExec。

    ##解决

    在我的这个例子里,微软自己的卸载工具https://support.office.com/zh-cn/article/%E4%BB%8E-pc-%E5%8D%B8%E8%BD%BD-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8?ui=zh-CN&rs=zh-CN&ad=CN 用了是不好使的,但是还有用,因为大部分的东西他都会帮忙弄好。所以首先要先用对应版本的小工具把Office残留的东西清理一下,清理完记得重启系统。

    在某个帖子里发现这个Heartbeat与“计划任务”相关,在注册表里有表项。那么就查注册表。原贴:https://social.technet.microsoft.com/Forums/office/en-US/cda04233-4b97-4c0a-a873-2d61f848f903/office-2016-proplus-failed-installation?forum=Office2016setupdeploy。

    打开task schedule,任务计划程序,从左边栏中找到Microsoft/Office,如果能正常删除,那就删除,然后重启重装应该就ok,不行往下看。(这里可以按帖子里的说法,在硬盘中把计划的任务Office文件夹删了,但是我的硬盘中就没有这个文件夹,所以就没管,在"%windir%/system32/tasks"里面找)

    但是Win+R,regedit打开注册表之后,用帖子中给的"hklm/software/microsoft/windows nt/current version/Schedule/taskcache/tasks" 和"hklm/software/microsoft/windows nt/current version/Schedule/taskcache/tree"并不能正确找到注册表项,实际位置在:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionScheduleTaskCacheTree和HKEY_LOCAL_MACHINEsoftware/microsoft/windows nt/current version/Schedule/taskcache/tasks,就是需要在HKEY_LOCAL_MACHINE里面找这两个表项。

    之后就按照原贴的说法

    When I opened up the …taskcache/tree registry entry there was a subkey for “Microsoft/Office”, Inside that key, there was an ID entry that contained a GUID that pointed to a folder inside the …taskcache/tasks registry entry. So I looked for the GUID under the “…taskcache/tree/Microsoft/Office"registry entry and used that GUID to locate the correct entry in the “…taskcache/tasks” registry key. Then I delete the key that matches the GUID under the …taskcache/tasks” key and then deleted the “Microsoft/Office” entry under the …taskcache/tree" registry entry.

    在tree的子键"Microsoft/Office"中挨个点击,查看该键的ID,就是"{}"的那个值,并且在tasks里面找对应的,把对应的见删了,之后在把"Microsoft/Office"都删了。

    重启系统,安装Office,成功。

    这个错误是微软自己的清理工具没清干净,或者是本机注册表乱了,因为在注册表里能够看到相关的键,但是在task schedule中并不能看到任何计划的任务。实际上就是老版本的Heartbeat已经在注册表里存在了,清理程序又没把它删掉,导致新的版本在装自己的heartbeat时出错了(微软这个东西做的也是够了)。

    最后

    log做的还是比较详细的,每个人碰到的情况不一定一样,但是按照本文的方法一定能够找到解决方案。

  • 相关阅读:
    Hanoi塔
    采药
    进制转换(大数)
    Load Balancing with NGINX 负载均衡算法
    upstream模块实现反向代理的功能
    epoll
    在nginx启动后,如果我们要操作nginx,要怎么做呢 别增加无谓的上下文切换 异步非阻塞的方式来处理请求 worker的个数为cpu的核数 红黑树
    粘性会话 session affinity sticky session requests from the same client to be passed to the same server in a group of servers
    负载均衡 4层协议 7层协议
    A Secure Cookie Protocol 安全cookie协议 配置服务器Cookie
  • 原文地址:https://www.cnblogs.com/liangqihui/p/13821396.html
Copyright © 2011-2022 走看看