Mercurial > dwindows
changeset 2224:d3974aa8ad64
Win: Add a second registry check for when running on x86.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 24 Dec 2020 09:42:52 +0000 |
parents | a81b9031412e |
children | 1ec6300a627b |
files | win/edge.cpp |
diffstat | 1 files changed, 15 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/win/edge.cpp Wed Dec 23 23:29:17 2020 +0000 +++ b/win/edge.cpp Thu Dec 24 09:42:52 2020 +0000 @@ -426,12 +426,22 @@ static WCHAR EdgeStablePath[MAX_PATH+1] = {0}; /* If we haven't successfully gotten the path, try to find it in the registry */ - if(!EdgeStablePath[0] && - RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\WOW6432Node\\Microsoft\\EdgeUpdate\\Clients\\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}", 0, KEY_READ, &hKey) == ERROR_SUCCESS && - RegQueryValueExW(hKey, L"pv", 0, NULL, (LPBYTE)szBuffer, &dwBufferSize) == ERROR_SUCCESS) + if(!EdgeStablePath[0]) { - wcscpy(EdgeStablePath, L"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\"); - wcscat(EdgeStablePath, szBuffer); + // Handle the case we are running on x64 + if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\WOW6432Node\\Microsoft\\EdgeUpdate\\Clients\\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}", 0, KEY_READ, &hKey) == ERROR_SUCCESS && + RegQueryValueExW(hKey, L"pv", 0, NULL, (LPBYTE)szBuffer, &dwBufferSize) == ERROR_SUCCESS) + { + wcscpy(EdgeStablePath, L"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\"); + wcscat(EdgeStablePath, szBuffer); + } + // and also the case we are running x86 + else if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\EdgeUpdate\\Clients\\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062}", 0, KEY_READ, &hKey) == ERROR_SUCCESS && + RegQueryValueExW(hKey, L"pv", 0, NULL, (LPBYTE)szBuffer, &dwBufferSize) == ERROR_SUCCESS) + { + wcscpy(EdgeStablePath, L"C:\\Program Files\\Microsoft\\Edge\\Application\\"); + wcscat(EdgeStablePath, szBuffer); + } } return EdgeStablePath; }