[小技巧] 巧妙解决Office365登录/激活时报错0xCAA70004的问题
本文完整阅读约需 12 分钟,如时间较长请考虑收藏后慢慢阅读~
众所周知,几乎所有的微软软件都不会提供错误码和实际问题的对应表,正如微软也不会在用户手册中列举每个注册表的键值含义。本文将为读者介绍Office365在登录/激活时提示
0xCAA70004
错误的解决方法,希望能帮助到在绝望之中搜索到本文的,正版软件的受害者们。
0x01 问题介绍
该问题多发于公司/学校Outlook账户的登录过程中,表现如下图所示:
0x02 问题分析
首先,笔者按照解决网络问题的常规方式进行如下尝试,但均无法解决此问题:
- 修改DNS
- 接入国际互联网
- 使用其他运营商
- 关闭所有软件
- 在Internet设置中启用TLS1.1和TLS1.2
- 重装系统(是的,重装系统也无法解决问题)
搜索该错误码相关的资料,也很难得到有用的信息:
How can I fix error code: 0xCAA70004? – Microsoft Community
Word 2016 error 0xCAA70004 when attempting to sign in – Microsoft Community
Outlook Error 0xCAA70004 after updating to Windows 10 1809 – Microsoft Community
Outlook error 0xCAA70004 and Microsoft Store and Feedback Hub wont – Microsoft Community
Windows office 无法登陆学校账户,报错0xcaa70004_cugandrew的博客-CSDN博客_0xcaa70004
Outlook 2016, Office 365 – error 0xcaa70004 in Fiddler | Telerik Forums
正在笔者焦头烂额之时,笔者突然想起来上面的登录过程:
- 输入邮箱地址
- 转圈三分钟
- 提示
0xCAA70004
错误
我们可以大胆分析一下:问题是否是出现在这个转圈的过程中呢?有没有办法能让我们直接输入账号密码呢?
抱着这样的疑问,笔者搜索了一下Office force password input
,在上百个网页中找到了这条Reddit帖子:Outlook 2016 force password prompt? : sysadmin
在该帖子中,有用户提到了需要关闭Modern Authentication
,这是什么?笔者再搜索了一下Office Modern Authentication
,找到了微软的官方知识库:Hybrid Modern Authentication overview and prerequisites for use with on-premises Skype for Business and Exchange servers – Microsoft 365 Enterprise | Microsoft Docs。根据微软官方所说,Modern Authentication
能提供账号密码以外的多种认证方式(如2FA、OTP、生物验证、智能卡验证等),但我们并不需要此功能,我们只想要正常的输入密码,即只需要Basic Authentication
。
继续阅读该知识库,终于,我们在知识库的How modern authentication works for Office 2013 and Office 2016 client apps – Microsoft 365 Enterprise | Microsoft Docs页面中,找到了一些蛛丝马迹:
0x03 问题解决
如上一节图片所示,红框标注的部分是我们需要的选项,结合该文档的上下文,我们需要做的是在注册表的HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\Identity
目录中新建一个REG_DWORD
键,将其命名为EnableADAL
,并设定值为0,如下图所示:
需要注意的是,目录中的16.0
为Office 2016及以后的版本号,所有Office365版本的版本号都是16.0
,但如果读者使用的是之前的版本,需要将其修改为自己的Office版本,对应关系如下表所示:
版本名称 | 版本号 |
---|---|
Office 97 | 8.0 |
Office 98 | 8.5 |
Office 2000 | 9.0 |
Office 2002/XP | 10.0 |
Office 2003 | 11.0 |
Office 2007 | 12.0 |
Office 2010 | 14.0 |
Office 2013 | 15.0 |
Office 2016 | 16.0 |
Office 2019 | 16.0 |
Office 365 / Microsoft 365 | 16.0 |
注册表修改后,重启电脑,再次打开Office,会发现登录界面从左图所示变成了右图所示(右图需要先输入邮箱地址,然后点击下一步才会出现):
在右图所示的界面中,我们输入邮箱和密码,Boom!登录成功~
P.S. 笔者在撰写本文,尝试重现部分截图时候,发现Office会出现一些奇怪的错误,如“您的组织中的其他账户已经登录此计算机”,遇到这种情况,请删除注册表中的HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\Identity
目录,然后重启电脑,打开Word(初始化默认配置),按照上文操作新建注册表键值,然后重启电脑,再打开Word,进行账号登录。
0x04 小结
作为业界毒瘤,微软的软件产品或多或少(无论开源或闭源)都有着庞杂的配置项、怪异的错误码、生硬的文案、让人无法接受的BUG和无能的技术支持,并且用户在遇到问题时往往需要采用非常规的方法来解决。
以本文为例,尽管笔者最终也不知道为什么报错,为什么可以解决,但只要打开思路,大胆猜测(微软大部分产品都可以套用这种方式,当推出一个新功能的时候,对应的旧功能大概率只是被默认隐藏),没有无法解决的问题。希望本文不仅能为读者解决这个奇怪的问题,也能给读者提供一些解决同类问题的思路。