MsiEnableLogA 函数 (msi.h)

MsiEnableLog 函数为调用过程中启动的所有后续安装设置日志模式。

语法

UINT MsiEnableLogA(
  [in] DWORD  dwLogMode,
  [in] LPCSTR szLogFile,
  [in] DWORD  dwLogAttributes
);

参数

[in] dwLogMode

指定日志模式。 此参数可以是以下一个或多个值。

价值 意义
INSTALLLOGMODE_FATALEXIT
注销内存不足或严重退出信息。
INSTALLLOGMODE_ERROR
记录错误消息。
INSTALLLOGMODE_EXTRADEBUG
将额外的调试信息(例如处理创建信息)发送到日志文件。

Windows 2000 和 Windows XP:不支持此功能

INSTALLLOGMODE_WARNING
记录警告消息。
INSTALLLOGMODE_USER
记录用户请求。
INSTALLLOGMODE_INFO
记录未显示的状态消息。
INSTALLLOGMODE_RESOLVESOURCE
请求确定有效的源位置。
INSTALLLOGMODE_OUTOFDISKSPACE
指示磁盘空间不足。
INSTALLLOGMODE_ACTIONSTART
记录新安装操作的开始。
INSTALLLOGMODE_ACTIONDATA
使用安装操作记录数据记录。
INSTALLLOGMODE_COMMONDATA
记录用户界面初始化的参数。
INSTALLLOGMODE_PROPERTYDUMP
在终止时记录属性值。
INSTALLLOGMODE_VERBOSE
记录所有其他日志模式中的信息,INSTALLLOGMODE_EXTRADEBUG除外。 这会将大量信息发送到日志文件,对用户来说并不一般有用。 可用于技术支持。
INSTALLLOGMODE_LOGONLYONERROR
收集日志记录信息,但不太频繁地保存到日志文件中。 这可以提高某些安装的性能,但对于大型安装来说可能没有什么好处。 安装成功后,会删除日志文件。 如果安装失败,所有日志记录信息都会保存到日志文件中。

Windows Installer 2.0:此日志模式不可用。

[in] szLogFile

指定保存日志文件的完整路径的字符串。 输入 null 会禁用日志记录,在这种情况下,将忽略 dwlogmode 。 如果提供了路径,则 dwlogmode 不得为零。

[in] dwLogAttributes

指定刷新日志缓冲区的频率。

价值 意义
INSTALLLOGATTRIBUTES_APPEND
如果设置了此值,安装程序将追加由 szLogFile指定的现有日志。 如果未设置,则覆盖由 szLogFile 指定的任何现有日志。
INSTALLLOGATTRIBUTES_FLUSHEACHLINE
强制在每行后刷新日志缓冲区。 如果未设置此值,安装程序将通过调用 FlushFileBuffers在 20 行后刷新日志缓冲区。

返回值

价值 意义
ERROR_INVALID_PARAMETER
指定了无效的日志模式。
ERROR_SUCCESS
函数成功。

言论

有关日志记录策略的说明,请参阅 系统策略

使用此函数时,日志文件位置的路径必须已存在。 安装程序不会为日志文件创建目录结构。

注意

msi.h 标头将 MsiEnableLog 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer。 有关 Windows Installer 版本所需的最低 Windows Service Pack 的信息,请参阅 Windows Installer Run-Time 要求。
目标平台 窗户
标头 msi.h
Msi.lib
DLL Msi.dll

另请参阅

接口和日志记录函数

日志记录