appwiz.cpl: Execute installer when Modify clicked.

This commit is contained in:
Owen Rudge 2009-07-14 17:24:51 -03:00 committed by Alexandre Julliard
parent 812e604765
commit bf3574a4e1
1 changed files with 7 additions and 4 deletions

View File

@ -489,8 +489,9 @@ static void InstallProgram(HWND hWnd)
* Name : UninstallProgram
* Description: Executes the specified program's installer.
* Parameters : id - the internal ID of the installer to remove
* Parameters : button - ID of button pressed (Modify or Remove)
*/
static void UninstallProgram(int id)
static void UninstallProgram(int id, DWORD button)
{
APPINFO *iter;
STARTUPINFOW si;
@ -513,8 +514,9 @@ static void UninstallProgram(int id)
memset(&si, 0, sizeof(STARTUPINFOW));
si.cb = sizeof(STARTUPINFOW);
si.wShowWindow = SW_NORMAL;
res = CreateProcessW(NULL, iter->path, NULL, NULL, FALSE, 0, NULL,
NULL, &si, &info);
res = CreateProcessW(NULL, (button == IDC_MODIFY) ? iter->path_modify : iter->path,
NULL, NULL, FALSE, 0, NULL, NULL, &si, &info);
if (res)
{
@ -856,6 +858,7 @@ static BOOL CALLBACK MainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPar
break;
case IDC_ADDREMOVE:
case IDC_MODIFY:
selitem = SendDlgItemMessageW(hWnd, IDL_PROGRAMS,
LVM_GETNEXTITEM, -1, LVNI_FOCUSED|LVNI_SELECTED);
@ -866,7 +869,7 @@ static BOOL CALLBACK MainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lPar
if (SendDlgItemMessageW(hWnd, IDL_PROGRAMS, LVM_GETITEMW,
0, (LPARAM) &lvItem))
UninstallProgram(lvItem.lParam);
UninstallProgram(lvItem.lParam, LOWORD(wParam));
}
hImageList = ResetApplicationList(FALSE, hWnd, hImageList);