# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1608802972 0 # Node ID d3974aa8ad64d0a1fbac476e2c8965ddb81ca15c # Parent a81b9031412e342342668567827de0aa3e50c4d6 Win: Add a second registry check for when running on x86. diff -r a81b9031412e -r d3974aa8ad64 win/edge.cpp --- 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; }