[PATCH 5/5] msi: Implement UI messages in MsiOpenPackage().

Hans Leidekker hans at codeweavers.com
Mon Jun 26 04:09:33 CDT 2017


> @@ -1610,6 +1617,35 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, MSIPACKAGE **pPackage)
>      if (gszLogFile)
>          package->log_file = CreateFileW( gszLogFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL,
>                                           OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
> +
> +    /* FIXME: when should these messages be sent? */
> +    data_row = MSI_CreateRecord(3);
> +    /* FIXME: field 0 should be NULL */
> +    MSI_RecordSetInteger(data_row, 1, 0);
> +    MSI_RecordSetInteger(data_row, 2, package->num_langids ? package->langids[0] : 0);
> +    MSI_RecordSetInteger(data_row, 3, msi_get_string_table_codepage(package->db->strings));
> +    MSI_ProcessMessage(package, INSTALLMESSAGE_COMMONDATA, data_row);
> +
> +    info_row = MSI_CreateRecord(0);
> +    GetTimeFormatW(LOCALE_USER_DEFAULT, 0, NULL, time_format, timet, 100);
> +    GetDateFormatW(LOCALE_USER_DEFAULT, 0, NULL, date_format, datet, 100);
> +    LoadStringW(msi_hInstance, IDS_INFO_LOGGINGSTART, info_template, 1024);
> +    sprintfW(info_message, info_template, datet, timet);
> +    MSI_RecordSetStringW(info_row, 0, info_message);
> +    MSI_ProcessMessage(package, INSTALLMESSAGE_INFO|MB_ICONHAND, info_row);
> +
> +    MSI_ProcessMessage(package, INSTALLMESSAGE_COMMONDATA, data_row);
> +
> +    productname = msi_dup_property(package->db, INSTALLPROPERTY_PRODUCTNAMEW);
> +    MSI_RecordSetInteger(data_row, 1, 1);
> +    MSI_RecordSetStringW(data_row, 2, productname);
> +    MSI_RecordSetStringW(data_row, 3, NULL);
> +    MSI_ProcessMessage(package, INSTALLMESSAGE_COMMONDATA, data_row);

Error handling.





More information about the wine-devel mailing list