使用日志解决 2007 Office system 中的安装和配置问题

应用到: Office Resource Kit

 

上一次修改主题: 2015-03-09

本文内容:

  • Windows 应用程序事件日志

  • Office system 安装程序日志记录

  • TCO (GIMME) 日志记录

  • Windows Installer 日志记录

  • Office 2007 OSE 日志记录

本文介绍了五个不同的日志记录选项,可用于帮助您解决安装和配置 2007 Microsoft Office system 时遇到的问题。

Windows 应用程序事件日志

Windows Installer 将各个条目写入 Windows 应用程序事件日志中以记录如下事件:

  • 安装成功或失败,删除产品或修复产品。

  • 产品配置过程中出现的错误。

  • 检测损坏的配置数据。

  • 有关缺少组件导致修复应用程序的信息。

查看应用程序事件日志

Windows 应用程序事件日志可在事件查看器中找到。

系统自动启动修复,但失败时,它通常会在 Windows 应用程序事件日志中记录两个事件。

  • MsiInstaller 事件 1001 将标识产品代码、功能和所需的 keypath 组件代码。

  • MsiInstaller 事件 1004 将标识产品代码、功能和检测为损坏的 keypath 组件代码。

需要指定产品的 MSI 来标识作为损坏的 keypath 引用的确切资源。您可以查看以下任一位置来查找该资源:

  • 控制面板 | 添加/删除程序

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90120000-####-####-0000-0000000FF1CE} 配置单元下的注册表。定位引用 *<产品>*WW.msi 的 GUID。

有关 GUID 的编号方案的信息,请参阅 Microsoft 知识库文章 928516:2007 Office 套件和程序中产品代码 GUID 的编号方案说明 (https://go.microsoft.com/fwlink/?linkid=128098\&clcid=0x804)。

2007 Office system 安装程序日志记录

安装、升级或更新 2007 Office system遇到问题时,解决问题的首要方法就是查看日志文件。通过创建详细的日志,然后分析日志中的返回代码,可以确定许多问题。

在早期版本的 Office 中,是使用 Windows Installer 属性来自定义和控制 Office 安装的。在 2007 Office system中,已重新设计了安装过程,并且日志记录会受以下因素影响:

  • Config.xml 文件中的日志记录元素(推荐方法)。

  • 通过使用 Office 自定义工具 (OCT) 添加的日志记录属性。

默认情况下,2007 Office system安装程序会自动在 %TEMP% 文件夹中创建日志文件。默认情况下,安装程序会将所有信息都记录到内存中;因此,由于安装失败或取消所导致的错误会使安装程序切换到故障点的详细日志记录中。

不会为每个属于已安装产品的 MSI 创建单独的日志文件。同时,日志文件只提供英文版,没有本地化版本。但是,因为 Windows SharePoint Services 是 Windows 的一部分并且是 2007 Office system安装中的一个选项,所以 Windows Installer 日志记录(单独的 2007 Office system安装程序日志记录)将继续支持 Windows MUI 版本的日志记录。

配置日志记录属性

安装程序在 Setup.exe 所在的同一文件夹中查找 Config.xml 副本。如果在此处找不到副本,安装程序会使用要安装的产品的核心产品文件夹中存储的 Config.xml 文件。如果安装源中提供了多个产品,安装程序将在您指定要安装的产品之后,再查找 Config.xml 的副本。由于此设计,当 Config.xml 文件位于 Setup.exe 所在的同一文件夹时,或者使用 Setup /config 命令行选项指定 Config.xml 文件时,日志记录元素只能由安装程序使用。如果安装程序使用产品文件夹中的 Config.xml 文件,则将使用默认的标准日志记录选项。

若要配置安装程序的日志记录属性,请编辑要用于安装的 Config.xml 文件。使用 Config.xml 文件中的日志记录元素来指定安装程序要执行的日志记录类型。将使用以下语法:

<Logging

   Type="Off" | "Standard"(默认值) | "Verbose" | "Debug"

   Path="path"

   Template="filename.txt"

/>

下表提供了可用的安装程序日志记录属性。

属性 说明

Type

Off

安装程序不进行日志记录。

Standard(默认值)

安装程序记录所有安装事件(传递的命令行属性、传递的 Config.xml 属性、应用的修补程序)、本地安装源 (LIS)、MSI 日志记录(自定义操作和功能状态),在其中显示成功或失败的事件、错误、用户选择和 UI。

Verbose

安装程序将所有安装信息写入日志文件。

Debug

安装程序编写所有详细的日志记录信息以及其他调试信息。对于识别代码中的错误片段非常有用。

Path

Path

用于存储日志文件的文件夹的完全限定路径。可以使用环境变量。默认值为 %%TEMP%

Template

filename .txt

日志文件的名称。如果在文件名中的任意位置插入字符串 *,则会为安装程序执行的每个安装创建唯一的日志文件。如果不包含 * 并且指定的文件名已存在,则日志信息会附加到现有文件中。必须指定文件扩展名。默认模板为 SetupExe(*).log。环境变量(例如 %COMPUTERNAME%)可用于创建容易识别的唯一日志。

可以在 Template 值的任意位置指定 *。安装程序会使用以下格式在该位置插入字符串:

YYYYMMDDHHMMSS xxx

其中:

  1. YYYY = 年

  2. MM = 月

  3. DD = 日

  4. HH = 小时

  5. MM = 分钟

  6. SS = 秒

  7. xxx = 安装程序生成的唯一字符串

Setup.exe 日志文件包含了为安装指定的命令行,因此可用于确认正确的语法、拼写和路径等。

有关如何编辑 Config.xml 文件的详细信息,请参阅 2007 Office system 中的 Config.xml 文件

查看安装程序日志

如果安装程序由系统运行,您可以在 C:\Windows\%TEMP% 文件夹中找到日志文件。如果安装程序在用户帐户下运行,该日志文件则位于用户的 %TEMP% 文件夹中。

安装程序日志中的倒数第二行将包含返回代码。常用的返回代码:0 表示成功安装,3010 表示需要重新启动,1642 表示错误的修补程序版本,1603 表示致命错误。其他返回代码值的信息可以在 Microsoft 知识库文章 290158 中找到:Office 2003 产品和 Office XP 产品中 Windows Installer 进程的错误代码和错误信息列表 (https://go.microsoft.com/fwlink/?linkid=128248\&clcid=0x804)。

如果在安装过程中收到一个错误消息,可在日志文件中搜索错误编号。请按照以下步骤诊断问题:

  1. 搜索日志文件中的错误编号。如果收到了 1603 错误消息,则搜索“返回值 3”(已本地化)以帮助确定发生故障的原因。

  2. 从包含错误编号的行开始,仔细阅读每行的内容。通常您会看到表示失败的行,该行的最终结果是安装错误。

  3. 如果您没有收到错误编号,也可以搜索单词“Error”。

  4. 如果没有生成或记录明显的错误,则会搜索字符串“Note”。“Note”往往是希望发生的一种错误(例如,检查已删除的文件是否存在,希望收到“未找到文件”错误)。但有时它确实表示一个真正的错误。

虽然返回代码 0 通常表明没有问题,有时不会生成错误消息,但安装过程无法按预期那样完成。

有关启用详细日志记录后由 2007 Office system安装使用的错误代码的详细信息,请参阅 2007 Office system 安装的错误代码

TCO (GIMME) 日志记录

在 2007 Office system的多 MSI 模型中,各种功能遍及多个 MSI 内部,每个 MSI 都有自己的产品代码。若要处理这个新的多 MSI 模型,GIMME API 使用 Setup.exe(而不是 Windows Installer)执行即需即装 (IOD) 和按需修复 (ROD) 操作。实质上,GIMME API 标识了正在进行 IOD 或 ROD 调用,确定哪个 MSI 集包含所需的选项,然后启动 Setup.exe 进行安装。对这些操作的日志记录称为 TCO 日志记录。

“GIMME”不是一个缩写术语,而是用于描述处理安装请求操作(由 MSO.DLL 执行)的 API 的术语。它作为围绕 Windows Installer 运行时 API 的扩展“包装”。Gimme 从字面上翻译为“给我”(Give Me)。也就是说,当加载应用程序时,它会不停地试图将其所有组件汇集在一起,并验证是否已正确安装了这些组件。

使用 TCO 日志的原因如下:

  • Office 执行重复修复。

  • 查看可再生故障前的活动。

  • Office 没有使用已安装的组件。

如果触发事件不在应用程序事件日志中,TCO 日志将最有用。在诊断发生需求安装的原因时,该日志也非常有帮助。

启用 TCO 日志记录

若要启用 2007 Office system的日志记录,请添加以下注册表设置:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Debug]
"TCOTest"=dword:00000001
"TCODarwinTest"=dword:00000001
"TCOAssertInstalls"=dword:00000001
"TCOTrace"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"Logging"="voicewarmupx"
"Debug"=dword:00000007

安装程序不会将命令行中输入的信息写入日志中(除非设置了调试系统策略)。若要将命令行写入日志中,请将调试系统策略的值设置为 7。

将在 Office.log 所在的 %TEMP% 文件夹中创建日志文件。日志名称是不可控的,在日志名称已满时,将被覆盖。

查看 TCO 日志

启用 TCO 日志记录后,可再现问题和查看 Office.log 在 %TEMP% 文件夹中创建的日志文件。

查找 GimmeFile() 项,这些项表示文件是否缺失、损坏或是错误的版本,然后在日志文件中进一步检查该文件名以确定是否进行了成功安装。

如果未成功安装该文件,则检查为该文件提供的源路径以确保该路径有效。

如果问题与按需修复或即需安装有关,请查找相关的 GimmeFile() 项找到问题的根源。

禁用 TCO 日志记录

若要禁用(删除)2007 Office system的 TCO 日志记录条目,请将以下注册表设置放入 .reg 文件中,并使用 Regedit.exe –s 命令:

REGEDIT4

[-HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Debug]

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"Logging"=-
"Debug"=-

不要手动删除 keypath 资源(文件或注册表值)来触发修复。如果您怀疑文件已损坏,请启用日志记录、重新在维护模式中运行 Office 安装程序,然后使用修复 Office 选项。

Windows Installer 日志记录

随着 2007 Office system多 MSI 安装模型的出现,效率低下的 Windows Installer 日志记录即成为 2007 Office system安装程序日志记录的辅助文件。但是,在有些情况下,只有 Windows Installer 日志记录提供了所需的其他级别的详细信息。

由于日志大小会产生重大影响,所以应该仅在需要时才启用详细 Windows Installer 日志记录,并且问题一旦解决,应立即禁用日志记录。

虽然在 2007 Office system中使用 Windows Installer 功能会受到限制,Setup.exe 最终依赖于 Windows Installer 来执行许多进程。因此,在确定是否存在真正的 2007 Office system问题之前,可能需要纠正 Windows Installer 自身存在的某些常见问题。在启用 Windows Installer 日志记录之前,应检查以下内容:

  • 验证 Windows Installer 服务是否已启用。

  • 检查系统策略限制。

  • 清除临时文件。

  • 验证 DCOM 权限。

验证 Windows Installer 服务是否已启用

  1. 转到“开始”|“运行”,键入 services.msc,然后按“Enter”按钮。

  2. 双击名为“Windows Installer”的服务。

  3. 检查“启动类型”字段中的值。如果当前设置为“禁用”,这就是问题所在。请从下拉框中选择“手动”,将此设置更改为手动启动。

检查系统策略限制

  1. 转到“开始”|“运行”,键入 GPEdit.msc,然后按 Enter 按钮。

  2. 打开“计算机配置”|“管理模板”|“Windows 组件”|“Windows Installer”树。

  3. 确认是否所有可能会影响安装的策略均已启用或禁用;例如,“禁用 Windows Installer”。

组策略对象编辑器

组策略编辑器

清除临时文件

  1. 您可以创建包含以下行的简单脚本/批处理文件以自动清空所有临时文件夹,并清除试图删除正在使用的临时文件时导致的错误:

    @Echo off
    cd %temp%
    del *.* /Q
    exit
    

    或者,您可以使用以下步骤手动删除临时文件。

  2. 清空 %SYSTEMDRIVE%\temp 文件夹。

  3. 清空 %WINDIR%\Temp 文件夹。

  4. 清空 %TEMP% 文件夹。

验证 DCOM 权限

启用 Windows Installer 日志记录

若要启用 Windows Installer 日志记录,通过使用 Regedit.exe 打开注册表,并创建以下路径和项:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
Reg_SZ: Logging
Value: voicewarmupx

值字段中的字母可以按任意顺序排列。每个字母可打开一个不同的日志模式。MSI 版本 1.1 中每个字母的实际功能如下表所示:

说明

v

详细输出

o

磁盘空间不足的消息

i

状态消息

c

初始化 UI 参数

e

所有错误消息

w

非致命警告

a

启动操作

r

操作相关的记录

m

内存不足或致命的退出信息

u

用户请求

p

终端属性

+

附加到现有文件

!

将每行刷新到日志中

x

附加的调试信息。只有在 Windows Server 2003 和更高版本的操作系统、MSI 可再发行版本 3.0 以及更高版本的 MSI 可再发行文件中才提供“x”标记。

*

通配符,记录所有信息(除 v 和 x 选项之外)。若要包括 v 和 x 选项,请指定“/l*vx”。

Windows Installer 日志记录应只用于疑难解答,并且不应该始终开启,这是因为它会对系统性能和磁盘空间产生不利影响。每次使用控制面板中的“添加/删除程序”时,都会创建一个新的 Msi*.log 文件。

有关如何启用 Windows Installer 日志记录的详细信息,请参阅 Microsoft 知识库文章 223300:如何启用 Windows Installer 日志记录 (https://go.microsoft.com/fwlink/?linkid=128265\&clcid=0x804)。

通过使用 Windows Installer Verbose Log Analyzer 来查看 Windows Installer 日志

Windows Installer Verbose Log Analyzer (Wilogutl.exe) 可帮助您分析 Windows Installer 安装的日志文件,并且可显示针对日志文件中发现的错误所建议的解决方案。

默认情况下,不会显示非关键性错误。Wilogutl.exe 可以以安静模式或通过用户界面 (UI) 运行。该工具会在 UI 和安静模式中生成作为文本文件的报告。它最适用于详细的 Windows Installer 日志文件,但也可用于非详细的日志。有关详细信息,请参阅日志记录(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128276\&clcid=0x804)。

有关 Windows Installer Verbose Log Analyzer (Wilogutl.exe) 的详细信息,请参阅 Wilogutl.exe(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128277\&clcid=0x804) 和 Microsoft Windows SDK 博客 - Windows SDK 的未被挖掘的宝藏:第 1 部分(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128278\&clcid=0x804)。

若要下载 Windows Installer Verbose Log Analyzer (Wilogutl.exe),请参阅 Windows Vista 的 Microsoft Windows 软件开发工具包更新(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128279\&clcid=0x804)。

在 UI 模式中运行时,Wilogutl.exe 将显示下表中显示的对话框。

名称 说明

Windows Installer Verbose Log Analyzer

“Windows Installer Verbose Log Analyzer”对话框使用户能够选择日志文件进行分析:

  • 通过“Open”按钮可以在记事本中打开文件。“Preview” 区域可用于验证是否选择了正确的日志文件。

  • 使用“Analyze”按钮开始进行日志文件分析并显示“Detailed Log File View”对话框。

Windows Installer Verbose Log Analyzer

Windows Installer 详细的日志分析器

Detailed Log File View

“Detailed Log File View”对话框会显示记录的错误信息。使用“Back”和“Next”按钮可浏览多个错误。

若要显示非关键性错误,请选择“Show Ignored Debug Errors”复选框。此时将显示计算机上(用于运行记录的安装)的安装程序版本。如果记录的安装以提升的权限运行,则选择“Elevated install?”复选框并在“Client Side Privilege Details”和“Server Side Privilege Details”文本框中提供信息。“Detailed Log File View”对话框包含以下按钮:

  • States - 显示“Feature and Component States”对话框。

  • Properties - 显示“Properties”对话框。

  • Policies - 显示“Policies”对话框。

  • HTML Log - 将日志显示为带有批注的 HTML 文件。

  • Save Results - 将报告文件保存到指定的目录。

  • Error Help - 显示安装程序错误消息帮助。

  • Help - 显示 Windows Installer 安装程序日志分析器的帮助。

  • How to Read a Log File - 显示日志文件帮助文档。

Detailed Log File View

详细的日志文件视图

Feature and Component States

“Feature and Component States”对话框将显示功能和组件栏的以下状态:

  • “Feature”栏显示安装包中的功能名称。

  • “Component”栏显示安装包中的组件名称。

  • “Installed”栏显示安装结束时功能或组件的状态。

  • “Request”栏显示安装过程中用户对功能或组件状态的选择。

  • “Action”栏显示安装程序对功能或组件所执行的操作。

有关详细信息,请参阅 MsiGetComponentState 功能(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128284&clcid=0x804) 和 MsiGetFeatureState 功能(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128285&clcid=0x804)。

Properties

“Properties”对话框会显示安装结束时 Windows Installer 的属性及其值。您可以使用以下选项卡对属性按名称或按值排序:

  • “Client”选项卡显示的是客户端安装部分的属性和值。

  • “Server”选项卡显示的是服务器端安装部分的属性和值。

  • “Nested”选项卡显示的是任何并发安装的属性和值。

有关详细信息,请参阅属性(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128287&clcid=0x804) 和并发安装(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128288&clcid=0x804)。

Policies

“Policies”对话框显示安装后的系统策略集:

  • 为策略设置的值为 0(零)指未启用策略。

  • 值为 1(一)指启用了策略。

  • 值为 ?(问号)指策略值没有在日志中记录。

如果需要未包含在日志中的策略值,请尝试使用 Regedit.exe 在安装失败的计算机上检查注册表项。

有关系统策略的详细信息,请参阅系统策略(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=128292&clcid=0x804)。

有关 Windows Installer 问题的疑难解答的详细信息,请参阅 Microsoft 知识库文章 907749:Windows Installer 的基本疑难解答步骤 (https://go.microsoft.com/fwlink/?linkid=128294\&clcid=0x804)。

Office 2007 OSE 日志记录

Office Source Engine (OSE) 日志记录仅在使用 Microsoft 产品支持时使用,通常不包含对任何人(产品开发人员除外)有用的信息。同样地,如果要求通过 Microsoft 产品支持获取 OSE 日志记录时,可提供此引用来提供所需的步骤。

安装 2007 Office system时,安装程序将使用系统服务 — Office Source Engine (Ose.exe) — 通过将所需的安装文件从安装点复制到计算机上的某个隐藏位置,创建所需的本地安装源 (LIS),然后安装程序将使用此 LIS 作为源来安装 2007 Office system。

由于 Office Source Engine 是安装和维护过程中重要的部分,因此提供了一种方法只记录由 Office Source Engine 本身执行的操作。

以下两个示例显示了由 Office Source Engine 生成的错误。

CLView 错误消息

CLView 错误消息

Microsoft Office 帮助查看器错误消息

Microsoft Office 帮助查看器错误消息

启用 OSE 日志记录

若要启用 OSE 日志记录,请手动输入以下注册表项:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Delivery\SourceEngine\Settings]
"LogLevel"=dword:00000002
"TraceLevel"=dword:00000003
"TraceFiles"=dword:00000001

查看 OSE 日志

OSE 日志最初是在安装用户的 %TEMP% 目录中创建的,这是因为 Office Source Engine 尚未建立为系统服务。

一旦成功安装和注册了 Office Source Engine,日志记录将切换到 %WINDIR%\Temp 目录。

如果要求,请向 Microsoft 产品支持提供此日志以进行分析。