int uiHandler(IntPtr context, INSTALLMESSAGE message, string msgstr) { try { switch (message) { case INSTALLMESSAGE.INSTALLMESSAGE_ACTIONDATA: log.Add(message.ToString() + " : " + msgstr); if (forwards) pos += actionmove; else pos -= actionmove; SetProgress(); break; case INSTALLMESSAGE.INSTALLMESSAGE_PROGRESS: log.Add(message.ToString() + " : " + msgstr); parseProgress(msgstr); SetProgress(); break; default: log.Add(message.ToString() + " : " + msgstr); break; } } catch (Exception e) { Trace.WriteLine("UI Handler exception " + e.ToString()); } return 0; }
public static extern int MsiProcessMessage(MSIHANDLE hInstall, INSTALLMESSAGE eMessageType, MSIHANDLE hRecord);