2012-05-31 2 views
0

Как получить доступ к таблице ошибок MSI из настраиваемой DLL-задачи, чтобы пользовательские сообщения могли быть добавлены в таблицу ошибок?Доступ к таблице ошибок MSI

+1

Неограниченная C++ DLL или управляемая C#/VB.NET dll? Каков ваш прецедент, который требует, чтобы сообщения об ошибках добавлялись во время установки, а не время сборки? –

ответ

0

Вы можете использовать MsiCreateRecord. Первое поле записи должно содержать идентификатор ошибки в таблице ошибок.

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; 
} 
Смежные вопросы