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 运行时要求。
目标平台 Windows
标头 msi.h
Library Msi.lib
DLL Msi.dll

另请参阅

接口和日志记录函数

日志记录