diff --git a/reactos/base/applications/rapps/installed.c b/reactos/base/applications/rapps/installed.c index 9ead16f0f13..61752c5be5d 100644 --- a/reactos/base/applications/rapps/installed.c +++ b/reactos/base/applications/rapps/installed.c @@ -172,7 +172,7 @@ ShowInstalledAppInfo(INT Index) BOOL -EnumInstalledApplications(INT EnumType, APPENUMPROC lpEnumProc) +EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc) { DWORD dwSize = MAX_PATH, dwType, dwValue; BOOL bIsSystemComponent, bIsUpdate; @@ -182,7 +182,7 @@ EnumInstalledApplications(INT EnumType, APPENUMPROC lpEnumProc) HKEY hKey, hSubKey; LONG ItemIndex = 0; - if (RegOpenKeyW(HKEY_LOCAL_MACHINE, + if (RegOpenKeyW(IsUserKey ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall", &hKey) != ERROR_SUCCESS) { diff --git a/reactos/base/applications/rapps/rapps.h b/reactos/base/applications/rapps/rapps.h index 0c23ccb6fcb..20faa9ccceb 100644 --- a/reactos/base/applications/rapps/rapps.h +++ b/reactos/base/applications/rapps/rapps.h @@ -76,7 +76,7 @@ BOOL InstallApplication(INT Index); /* installed.c */ typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, LPWSTR lpKeyName, LPARAM lParam); -BOOL EnumInstalledApplications(INT EnumType, APPENUMPROC lpEnumProc); +BOOL EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc); BOOL GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString); BOOL ShowInstalledAppInfo(INT Index); BOOL UninstallApplication(INT Index, BOOL bModify); diff --git a/reactos/base/applications/rapps/winmain.c b/reactos/base/applications/rapps/winmain.c index 934435d6e62..623ccb55296 100644 --- a/reactos/base/applications/rapps/winmain.c +++ b/reactos/base/applications/rapps/winmain.c @@ -101,7 +101,8 @@ UpdateApplicationsList(INT EnumType) if (IS_INSTALLED_ENUM(EnumType)) { /* Enum installed applications and updates */ - EnumInstalledApplications(EnumType, EnumInstalledAppProc); + EnumInstalledApplications(EnumType, TRUE, EnumInstalledAppProc); + EnumInstalledApplications(EnumType, FALSE, EnumInstalledAppProc); } else if (IS_AVAILABLE_ENUM(EnumType)) {