[RAPPS] Refresh item info after installer completes (#7697)

- Refresh the details view of the item that was just installed.
- Hint update of uninstallers list is needed.
- Restore focus correctly after installer process finishes.

CORE-17677
This commit is contained in:
Whindmar Saksit 2025-02-07 21:33:19 +01:00 committed by GitHub
parent a610016952
commit 5bc6d59142
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 109 additions and 29 deletions

View file

@ -142,8 +142,7 @@ struct DownloadInfo
AppInfo.GetDownloadInfo(szUrl, szSHA1, SizeInBytes);
szName = AppInfo.szDisplayName;
IType = AppInfo.GetInstallerType();
if (IType == INSTALLER_GENERATE)
szPackageName = AppInfo.szIdentifier;
szPackageName = AppInfo.szIdentifier;
CConfigParser *cfg = static_cast<const CAvailableApplicationInfo&>(AppInfo).GetConfigParser();
if (cfg)
@ -452,6 +451,8 @@ ShowLastError(HWND hWndOwner, BOOL bInetError, DWORD dwLastError)
return FALSE;
}
if (hWndOwner && !IsWindowVisible(hWndOwner))
hWndOwner = NULL;
MessageBoxW(hWndOwner, lpMsg, NULL, MB_OK | MB_ICONERROR);
return TRUE;
}
@ -1090,8 +1091,12 @@ run:
SendMessageW(hDlg, WM_SETSTATUS, DLSTATUS_INSTALLING, 0);
// TODO: issue an install operation separately so that the apps could be downloaded in the background
WaitForSingleObject(shExInfo.hProcess, INFINITE);
CloseHandle(shExInfo.hProcess);
if (shExInfo.hProcess)
{
WaitForSingleObject(shExInfo.hProcess, INFINITE);
CloseHandle(shExInfo.hProcess);
SendMessageW(hMainWnd, WM_NOTIFY_INSTALLERFINISHED, 0, (LPARAM)(PCWSTR)Info.szPackageName);
}
}
else
{