msi: Update the UI in the RemoveODBC action.
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 59b756a..897e9c9 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -5723,6 +5723,8 @@
static UINT ITERATE_RemoveODBCDriver( MSIRECORD *rec, LPVOID param )
{
+ MSIPACKAGE *package = param;
+ MSIRECORD *uirow;
DWORD usage;
LPCWSTR desc;
@@ -5736,11 +5738,19 @@
FIXME("Usage count reached 0\n");
}
+ uirow = MSI_CreateRecord( 2 );
+ MSI_RecordSetStringW( uirow, 1, desc );
+ MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
+ ui_actiondata( package, szRemoveODBC, uirow );
+ msiobj_release( &uirow->hdr );
+
return ERROR_SUCCESS;
}
static UINT ITERATE_RemoveODBCTranslator( MSIRECORD *rec, LPVOID param )
{
+ MSIPACKAGE *package = param;
+ MSIRECORD *uirow;
DWORD usage;
LPCWSTR desc;
@@ -5754,11 +5764,19 @@
FIXME("Usage count reached 0\n");
}
+ uirow = MSI_CreateRecord( 2 );
+ MSI_RecordSetStringW( uirow, 1, desc );
+ MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
+ ui_actiondata( package, szRemoveODBC, uirow );
+ msiobj_release( &uirow->hdr );
+
return ERROR_SUCCESS;
}
static UINT ITERATE_RemoveODBCDataSource( MSIRECORD *rec, LPVOID param )
{
+ MSIPACKAGE *package = param;
+ MSIRECORD *uirow;
LPWSTR attrs;
LPCWSTR desc, driver;
WORD request = ODBC_REMOVE_SYS_DSN;
@@ -5791,6 +5809,13 @@
}
msi_free( attrs );
+ uirow = MSI_CreateRecord( 3 );
+ MSI_RecordSetStringW( uirow, 1, desc );
+ MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) );
+ MSI_RecordSetInteger( uirow, 3, request );
+ ui_actiondata( package, szRemoveODBC, uirow );
+ msiobj_release( &uirow->hdr );
+
return ERROR_SUCCESS;
}