访问MSI错误表

时间:2012-05-31 19:33:17

标签: wix

如何从自定义操作DLL访问MSI错误表,以便可以将自定义消息添加到错误表中?

1 个答案:

答案 0 :(得分:0)

您可以使用MsiCreateRecord。第一个记录字段必须包含错误表中的错误ID。

UINT __stdcall ShowErrorMessage(MSIHANDLE hInstall)
{
  //Load the error and format it    
  PMSIHANDLE hError = MsiCreateRecord(2);
  MsiRecordSetInteger(hError, 1, <error_id>);
  MsiRecordSetString(hError, 2, <parameter_to_format>);


  //Display the message
  MsiProcessMessage(hInstall,INSTALLMESSAGE_ERROR,hError);
  return ERROR_SUCCESS; 
}