本文由高级支持升级工程师 Eric Ashton 撰写。
本文介绍如何确定和修复 Microsoft Office 安装失败的技术。 这些技术可以应用于使用 Windows Installer (MSI) 的所有 Office 安装。
启用详细日志记录
排查 Office 安装失败问题时,请确保已启用 MSI 详细日志记录。 在 Office 中,有一个默认创建的 setup.exe 日志文件。 但是,它不提供诊断安装失败通常所需的详细信息。 启用详细 MSI 日志记录后,你将获得 Office 安装的每个组件的详细日志文件。 你将获得用于安装 Word 组件、Excel 等的详细日志。
若要启用详细日志记录,请设置以下注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
“Debug”=dword:00000007
“Logging”=“voicewarmup”
有关 Windows Installer 日志记录的详细信息,请参阅 如何启用 Windows Installer 日志记录。
执行安装尝试
如果通过双击“setup.exe”,以登录用户身份在计算机上手动运行安装,则将在执行安装的用户的 %temp% 目录中生成日志文件。
现在,你已启用详细日志记录并知道应在何处查找日志,只需重试安装。 它以前失败,预计会再次失败。 但是,这一次,你已准备好捕获详细程度足以帮助你诊断故障点的日志文件。
分析日志
尝试安装后,你会发现临时目录中的安装有 1 到 20 个日志。
下面是安装尝试的详细日志的屏幕截图。
浏览 MSI 日志时,我们通常需要在日志中查找值 3 条目。 Windows 安装程序在安装期间返回指示特定函数是否成功的代码。
- 值 1 = 成功
- 值 2 = 取消
- 值 3 = 错误
在良好的安装中,通常不会在日志中看到任何 值 3 条目。
因此,有许多日志需要验证。 建议从 setup.exe 日志开始。 发生故障时,此日志中通常有一个值 3 条目。 但是,此日志不够清晰,无法诊断问题。 如果它没有 值 3 条目,请查找 回滚包的第一个实例。 回滚包指示 Office 安装失败,并且 Office 正在尝试“回滚”安装。 此时应该能够立即识别故障。 一旦你在 setup.exe 日志中找到 值 3 或 回滚包 ,你应该能够识别哪个组件正在失败,然后从那里查找与该组件对应的特定 MSI 日志。
通常有多个 值 3 或 回滚包 条目。 应专注于找到的第一个条目。
下面是 Office 安装失败以及如何识别故障点的一些示例。
分析日志示例 1:Office ProPlus 2010 安装
在此示例中,在 setup.exe 日志中找不到 值 3 条目,然后搜索“ 回滚包”setup.exe 日志。
你可能会发现以下错误:
错误:无法安装 product: C:\MSOCache\All Users\GUID-C\ProPlusWW.msi ErrorCode: 1603 (0x643) 。
日志级别已从:标准更改为:详细
回滚链
日期/时间回滚包:ProPlusWW
此错误不会说明安装失败的原因。 但它确实会告诉你,失败发生在安装 ProPlusWW.msi 文件时。 然后,必须找到与 ProPlusWW.msi 关联的详细 MSI 日志。
注意
- 如果你知道失败是在 ProPlusWW.msi,但不想浪费时间查找哪个 MSI 日志是 ProPlus,它通常是最大的日志文件。
- 如果不知道哪个日志是 ProPlusWW.msi 组件的正确日志,请一次打开一个日志并滚动到底部。 它指示刚刚尝试安装或回滚的组件。
例如,从MSIb0bc7.LOG底部可以看到类似于以下内容的信息:
MSI (s) (50:CC) [时间]:注意:1:1724
MSI () (50:CC) [时间]:产品:Microsoft Office Outlook MUI (英语) 2010 -- 删除成功完成。
因此,这是 Office Outlook MUI 组件的详细 MSI 日志,并且该组件来自在此回滚) 之前发生安装失败 (回滚。
当你发现 ProPlus 日志 (它是最大的一个) 时,你将看到以下信息,指示它是 ProPlus 日志:
产品:C:\MSOCache\All Users\GUID-C\ProPlusWW.msi
在日志中搜索 值 3 条目时,可能找不到,但可能会在日志底部看到以下错误:
MSI () (B0:14) [时间]:安装操作期间的内部异常:在 0x7C812AFB 处0xc0000017。MSI () (B0:14) [时间]:已禁用 WER 报告以进行无提示安装。MSI (s) (B0:14) [时间]:内部 MSI 错误。安装程序过早终止。内存不足。在重试之前关闭其他应用程序。MSI () (B0:14) [时间]:MainEngineThread 返回 1603。
这是有关 Windows Installer 的已知问题。 若要解决此问题,请安装 修补程序。 安装修补程序并重启后,安装成功。
分析日志示例 2:Access 2010 独立安装
在此示例中,在 setup.exe 日志中找不到 值 3 条目,然后搜索“ 回滚包”setup.exe 日志。 你可能会发现以下错误:
错误:无法安装 product: C:\MSOCache\All Users\GUID-C\AccessRWW.msi ErrorCode: 1601 (0x641) 。
日志级别已从:标准更改为:详细
回滚链
日期/时间回滚包:AccessRWW
此错误不会告知安装失败的原因,但会告诉你在安装 AccessRWW.msi 文件时发生了失败。 浏览日志文件,可能会发现 AccessRWW.msi 的日志:
产品:C:\MSOCache\All Users\GUID-C\AccessRWW.msi
搜索 值 3 条目时,会发现以下错误:
CAInitSPPTokenStore.x86:OMSICA:初始化 CustomAction CAInitSPPTokenStore.x86CAInitSPPTokenStore.x86:错误:无法初始化 SPP 令牌存储。HResult:0x80070057。CAInitSPPTokenStore.x86:MSI (s) (2C:D0) [Time]:用户策略值为“DisableRollback”为 0MSI (s) (2C:D0) [Time]:计算机策略值“DisableRollback”为 0操作结束时间:InstallExecute。返回值 3。
若要解决此问题,请确保网络服务正在运行,并确保存在以下注册表项。
- HKEY_USERS\S-1-5-20
- HKEY_USERS\S-1-5-19
分析日志示例 3:Office 专业增强版 2010
在下一个示例中,在 setup.exe 日志中找到一个值 3 条目,类似于以下错误:
MSI (错误) :“错误 1304。 写入文件时出错:C:\WINDOWS\winsxs\Policies\x86_policy.8.0.Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_x-ww_5f0bbcff\8.0.50727.4053.policy。 验证你是否有权访问该目录。
日志级别已从:标准更改为:详细
未显示消息,因为已设置抑制模式。 标题:“安装程序”,消息:“错误 1304。 写入文件时出错:C:\WINDOWS\winsxs\Policies\x86_policy.8.0.Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_x-ww_5f0bbcff\8.0.50727.4053.policy。 验证你是否有权访问该目录。
返回的消息:2
MSI (用户) :“你确定要取消吗?
MSI (INFO) :'操作于 14:03:01 结束:InstallExecute。 返回值 3。'
当你在 setup.exe 日志中看到值 3 条目时,它有时会为你提供足够的信息来解决问题,而无需查看详细的 MSI 日志。 在这种情况下,详细 MSI 日志只是重复我们在 setup.exe 日志中找到的内容。
在这种情况下,应考虑更新 .net framework 并验证 c:\windows\winsxs 中的权限。
详细日志中的已知错误和可能的解决方法
其中一些建议讨论使用注册表项。
警告
请仔细遵循本部分中的步骤进行操作。 如果注册表更改不正确,可能出现严重问题。 在更改它之前, 请备份注册表,以便在出现问题时进行还原 。
错误 1935
错误 1935。 安装程序集组件期间发生错误。 HRESULT:0x80070003。 程序集接口:IAssemblyCache,函数:CreateAssemblyCacheItem,程序集名称:Microsoft.VC90.ATL,version=“9.0.30729.4148”,type=“win32”,processorArchitecture=“amd64”,publicKeyToken=“PublicKeyToken”
MSI () (1C:9C) [时间]:用户策略值为“DisableRollback”为 0
MSI () (1C:9C) [时间]:计算机策略值为“DisableRollback”为 0
操作结束时间:InstallExecute。 返回值 3。
解决方案
最常见的原因是升级 Office 时出现问题。 首先尝试在安装新版本之前删除早期版本的 Office。 可以使用 此处的相应工具自动删除早期版本的 Office。 删除早期版本的 Office 后,请尝试安装较新版本的 Office。
1913
错误 1913:安装程序无法更新文件 C:/windows/win.ini。验证系统中是否存在该文件,以及你是否具有更新该文件的足够权限。
原因
Trend Micro 存在一个已知问题,该问题可能导致此问题并阻止 Office 安装。
解决方案
如果使用防病毒或其他安全软件,请考虑将其卸载、重新启动并再次尝试安装。
错误 1714
错误 1714。 安装程序无法删除旧版 Microsoft Office Product_Name 2007。 请联系 Microsoft 产品支持服务 (PSS) 寻求帮助。 有关如何联系 PSS 的信息,请参阅 C:\DOCUME~1\username\LOCALS~1\Temp\Setup00000d64\PSS10R.CHM。
解决方案
- 方法 1:如果尝试执行升级,请先删除早期版本的 Office。 有关如何删除 Office 的详细信息,请参阅 从电脑卸载 Office。
- 方法 2:执行并行安装,而不是升级。 (这是“自定义”按钮) 。
错误 1719
错误 1719。 无法访问 Windows Installer 服务。 如果未正确安装 Windows Installer,则可能会发生这种情况。 请联系支持人员寻求帮助。
原因
如果注册表项在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msiserver 损坏或不正确,则会出现此问题。
解决方案
方法 1:
从使用相同 OS 和 Windows Installer 版本的已知良好计算机导出 msiserver 注册表项。
备份,然后删除以下错误计算机上的现有 msiserver 密钥:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msiserver
将注册表文件从已知良好的计算机导入到错误的计算机。
重启,然后重试安装。
方法 2:
尝试安装 Office 时,请参阅“无法访问 Windows Installer 服务”错误消息。
错误 1406
错误 1406.安装程序无法将值写入注册表项 \CLSID\GUID。 验证是否有足够的权限访问注册表,或者联系 Microsoft 产品支持服务 (PSS) 寻求帮助。 有关如何联系 PSS 的信息,请参阅 C:\Users\ADMINI~1\AppData\Local\Temp\Setup00000e64\PSS10R.CHM。'
日志级别已从:标准更改为:详细
MSI (INFO) :'操作结束时间:InstallExecute。 返回值 3。
原因
此错误指示注册表权限不正确。 在此示例中,你会发现 HKEY_CLASSES_ROOT\CLSID\GUID 注册表权限不正确。
解决方案
用于安装 Office 的用户帐户必须有权访问有问题的注册表项。 还可以比较安装成功的设备上的注册表权限。
错误 1920
错误 1920。 服务“Office Software Protection Platform” (osppsvc) 无法启动。 验证是否有足够的权限来启动系统服务。
日志级别已从:标准更改为:详细。
MSI (INFO) :'操作结束时间:InstallExecute。 返回值 3。
原因
此错误指示对 OfficeSoftwareProtectionPlatform 文件夹的权限可能不正确,或者 HKEY_CLASSES_ROOT\APPID 权限不正确。
解决方案
方法 1:
授予网络服务帐户对 OfficeSoftwareProtectionPlatform 文件夹的完全权限。
方法 2:
- 将来自良好计算机的 HKEY_CLASSES_ROOT\APPID 权限与有问题的计算机进行比较。
- 尝试授予“受限”以下权限: 查询值、 枚举子项、 通知和 读取控制。
错误:IHxRegisterSession::CreateTransaction () 返回 8004036e
IHxRegisterSession::CreateTransaction () 返回 8004036eBeginTransaction () 错误:尝试失败,因为另一个事务正在运行。
尝试回滚当前事务 ({GUID}) IHxRegisterSession::ContinueTransaction () 返回80004005。
BeginTransaction () 错误:无法重启当前事务。
BeginTransaction () 错误:无法回滚当前事务。 HelpFile 注册将中止。
未创建注册会话 {GUID}。
操作结束时间:InstallFinalize。 返回值 3。
解决方案
请参阅 KB 927153 2007 Office 套件或 2010 Office 套件安装程序在初始安装中断后不会重启。
错误:无法注册插件。 HResult:0x80070005
MSI () (08:6C) [时间]:调用远程自定义操作。 DLL:C:\WINDOWS\Installer\MSI4D4.tmp,入口点:CAInstallSppPlugin
CAInstallPlugin.x86:OMSICA:初始化 CustomAction CAInstallPlugin.x86
CAInstallPlugin.x86:注册 PlugIn 'C:\Program Files\Common Files\Microsoft Shared\OfficeSoftwareProtectionPlatform\OSPPOBJS.DLL' 'C:\Program Files\Common Files\Microsoft Shared\OfficeSoftwareProtectionPlatform\osppobjs-spp-plugin-manifest-signed.xrm-ms'
CAInstallPlugin.x86:错误:未能注册插件。HResult:0x80070005。
CAInstallPlugin.x86:MSI (s) (08:58) [时间]:用户策略值为“DisableRollback”为 0MSI (s) (08:58) [时间]:计算机策略值为“DisableRollback”为 0
操作于 12:32:42 结束:InstallExecute。 返回值 3。
原因
问题计算机上的策略 (本地或通过组策略对象 (GPO) ) 配置错误。
解决方案
- 在搜索框中键入 Gpedit.MSC 以打开本地组策略 编辑器。
- 找到“计算机配置>”“Windows 设置”“>安全设置”“>本地策略>”“用户权限分配”。
- 确保每个人都对 “绕过遍历检查 ”策略具有权限。 默认情况下,“安全设置”中列出了“每个人”。
有关详细信息,请参阅 更改安全设置和用户权限分配时可能会出现客户端、服务和程序问题。
错误0x80070005:CAQuietExec 失败
CAQuietExec:“wevtutil.exe”im “C:\Program Files\Microsoft Office\Office14\BCSEvents.man”CAQuietExec:已成功安装发布者和频道。但是,我们无法启用一个或多个发布者和频道。访问被拒绝。
CAQuietExec:错误0x80070005:命令行返回错误。CAQuietExec:错误0x80070005:CAQuietExec 失败
CustomAction RegisterEventManifest 返回了实际错误代码 1603 (请注意,如果转换发生在沙盒)
MSI (s) (88:04) [时间]:用户策略值为“DisableRollback”为 0MSI (s) (88:04) [时间]:计算机策略值为“DisableRollback”为 0
操作结束时间:InstallExecute。 返回值 3。
原因
出现此问题的原因可能是“C:\Windows\System32\winevt\Logs”文件夹上的权限设置不正确。
解决方案
向 所有人 授予该文件夹的完全权限,然后重试安装。 如果此操作成功,可以在之后删除“每个人”组。
错误0x800706b5:CAQuietExec 失败
CAQuietExec:“wevtutil.exe”im “C:\Program Files\Microsoft Office\Office14\BCSEvents.man”CAQuietExec:已成功安装发布者和频道。但是,我们无法启用一个或多个发布者和频道。接口未知。
CAQuietExec:错误0x800706b5:命令行返回错误。CAQuietExec:错误0x800706b5:CAQuietExec 失败
CustomAction RegisterEventManifest 返回了实际错误代码 1603 (请注意,如果转换发生在沙盒) MSI () (6C:6C:1 84) [时间]:用户策略值为“DisableRollback”为 0MSI (s) (6C:84) [Time]:计算机策略值为“DisableRollback”为 0
操作结束时间:InstallExecute。 返回值 3。
原因
如果 Windows 事件日志 服务未运行,则可能会出现此问题。
解决方案
- 单击“开始”或“搜索”,键入 services.msc,然后按 Enter。
- 向下滚动到 Windows 事件日志 服务,并确保将其设置为自动。 如果它未运行,请右键单击它,然后选择 “启动”。
你可能会收到类似于以下内容的错误:
错误 4201:WMI 数据提供程序未将传递的实例名称识别为有效。
在这种情况下,执行以下操作:
- 检查对“c:\windows\system32\logfiles\wmi\RTbackup”文件夹的权限。
- 如果系统帐户没有 “完全控制” 权限,请授予系统帐户 “完全控制 ”权限,然后重启系统。
- 检查并查看 Windows 事件日志服务 是否已在 services.msc 中启动。 如果它现在已正确启动,请再次尝试 Office 安装。