MessageBoxes с использованием DTF

Функция MsiProcessMessage doco в MSDN показывает этот пример:

PMSIHANDLE hInstall;
PMSIHANDLE hRec;
MsiProcessMessage(hInstall, 
                  INSTALLMESSAGE(INSTALLMESSAGE_ERROR|MB_ABORTRETRYIGNORE|MB_ICONWARNING),
                  hRec);

Как это сделать, используя Session.Message в DTF? Единственная перегрузка занимает Session.InstallMessage как аргумент. Я вижу перечисление MessageBoxButtons, и я конвертирую оба типа в In32 и выполняю логический или, но я не уверен, как вернуть его в API.

Я что-то упустил или DTF что-то упустил?

Ответ 1

Я не много делал с DTF, но я понимаю, что вам нужно что-то вроде:

Session.Message(InstallMessage.Error | 
                (InstallMessage)((int)MessageButtons.AbortRetryIgnore |
                                 (int)MessageIcon.Warning), 
                record);

Не очень красиво. Я отформатировал messageType agument, чтобы лучше вписываться в текстовое поле. Отформатируйте свой код в соответствии с вашими правилами кодирования.:)