From eff0503f644ddccb5b27328f04e4607bc4c1c497 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Fri, 5 Mar 2010 12:25:55 +0100 Subject: [PATCH] msi: Update the UI in the InstallODBC action. --- dlls/msi/action.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 7a666f5c58c..59b756a846e 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -5487,6 +5487,7 @@ static UINT ITERATE_InstallODBCDriver( MSIRECORD *rec, LPVOID param ) LPWSTR driver, driver_path, ptr; WCHAR outpath[MAX_PATH]; MSIFILE *driver_file, *setup_file; + MSIRECORD *uirow; LPCWSTR desc; DWORD len, usage; UINT r = ERROR_SUCCESS; @@ -5546,6 +5547,13 @@ static UINT ITERATE_InstallODBCDriver( MSIRECORD *rec, LPVOID param ) r = ERROR_FUNCTION_FAILED; } + uirow = MSI_CreateRecord( 5 ); + MSI_RecordSetStringW( uirow, 1, desc ); + MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); + MSI_RecordSetStringW( uirow, 3, driver_path ); + ui_actiondata( package, szInstallODBC, uirow ); + msiobj_release( &uirow->hdr ); + msi_free(driver); msi_free(driver_path); @@ -5558,6 +5566,7 @@ static UINT ITERATE_InstallODBCTranslator( MSIRECORD *rec, LPVOID param ) LPWSTR translator, translator_path, ptr; WCHAR outpath[MAX_PATH]; MSIFILE *translator_file, *setup_file; + MSIRECORD *uirow; LPCWSTR desc; DWORD len, usage; UINT r = ERROR_SUCCESS; @@ -5611,6 +5620,13 @@ static UINT ITERATE_InstallODBCTranslator( MSIRECORD *rec, LPVOID param ) r = ERROR_FUNCTION_FAILED; } + uirow = MSI_CreateRecord( 5 ); + MSI_RecordSetStringW( uirow, 1, desc ); + MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); + MSI_RecordSetStringW( uirow, 3, translator_path ); + ui_actiondata( package, szInstallODBC, uirow ); + msiobj_release( &uirow->hdr ); + msi_free(translator); msi_free(translator_path); @@ -5619,12 +5635,14 @@ static UINT ITERATE_InstallODBCTranslator( MSIRECORD *rec, LPVOID param ) static UINT ITERATE_InstallODBCDataSource( MSIRECORD *rec, LPVOID param ) { + MSIPACKAGE *package = param; LPWSTR attrs; LPCWSTR desc, driver; WORD request = ODBC_ADD_SYS_DSN; INT registration; DWORD len; UINT r = ERROR_SUCCESS; + MSIRECORD *uirow; static const WCHAR attrs_fmt[] = { 'D','S','N','=','%','s',0 }; @@ -5650,6 +5668,13 @@ static UINT ITERATE_InstallODBCDataSource( MSIRECORD *rec, LPVOID param ) r = ERROR_FUNCTION_FAILED; } + uirow = MSI_CreateRecord( 5 ); + MSI_RecordSetStringW( uirow, 1, desc ); + MSI_RecordSetStringW( uirow, 2, MSI_RecordGetString(rec, 2) ); + MSI_RecordSetInteger( uirow, 3, request ); + ui_actiondata( package, szInstallODBC, uirow ); + msiobj_release( &uirow->hdr ); + msi_free(attrs); return r;