diff --git a/reactos/dll/win32/msi/dialog.c b/reactos/dll/win32/msi/dialog.c index df79a372668..495e033e913 100644 --- a/reactos/dll/win32/msi/dialog.c +++ b/reactos/dll/win32/msi/dialog.c @@ -135,6 +135,8 @@ static const WCHAR szMaskedEdit[] = { 'M','a','s','k','e','d','E','d','i','t',0 static const WCHAR szPathEdit[] = { 'P','a','t','h','E','d','i','t',0 }; static const WCHAR szProgressBar[] = { 'P','r','o','g','r','e','s','s','B','a','r',0 }; +static const WCHAR szSetProgress[] = { + 'S','e','t','P','r','o','g','r','e','s','s',0 }; static const WCHAR szRadioButtonGroup[] = { 'R','a','d','i','o','B','u','t','t','o','n','G','r','o','u','p',0 }; static const WCHAR szIcon[] = { 'I','c','o','n',0 }; @@ -1571,7 +1573,14 @@ end: static UINT msi_dialog_progress_bar( msi_dialog *dialog, MSIRECORD *rec ) { - msi_dialog_add_control( dialog, rec, PROGRESS_CLASSW, WS_VISIBLE ); + msi_control *control; + + control = msi_dialog_add_control( dialog, rec, PROGRESS_CLASSW, WS_VISIBLE ); + if( !control ) + return ERROR_FUNCTION_FAILED; + + ControlEvent_SubscribeToEvent( dialog->package, dialog, + szSetProgress, control->name, szProgress ); return ERROR_SUCCESS; } diff --git a/reactos/dll/win32/msi/msi.c b/reactos/dll/win32/msi/msi.c index ed8b4ab24de..be1ad93bf9f 100644 --- a/reactos/dll/win32/msi/msi.c +++ b/reactos/dll/win32/msi/msi.c @@ -304,7 +304,7 @@ done: static UINT MSI_ApplyPatchW(LPCWSTR szPatchPackage, LPCWSTR szProductCode, LPCWSTR szCommandLine) { MSIHANDLE patch = 0, info = 0; - UINT r, type; + UINT r = ERROR_SUCCESS, type; DWORD size = 0; LPCWSTR cmd_ptr = szCommandLine; LPCWSTR product_code = szProductCode;