如何从自定义操作DLL访问MSI错误表,以便可以将自定义消息添加到错误表中?
答案 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;
}