Fix StartupTests.StartsWithDotnetInstallLocation (#6589)
This commit is contained in:
parent
cbbdeaefd4
commit
3f4622ffe0
|
|
@ -259,13 +259,22 @@ HostFxrResolver::GetAbsolutePathToDotnet(
|
|||
}
|
||||
|
||||
auto isWow64Process = Environment::IsRunning64BitProcess();
|
||||
const auto platform = isWow64Process? L"x64" : L"x86";
|
||||
|
||||
std::wstring regKeySubSection;
|
||||
|
||||
if (isWow64Process)
|
||||
{
|
||||
regKeySubSection = L"SOFTWARE\\WOW6432Node\\dotnet\\Setup\\InstalledVersions\\x64\\sdk";
|
||||
}
|
||||
else
|
||||
{
|
||||
regKeySubSection = L"SOFTWARE\\dotnet\\Setup\\InstalledVersions\\x86\\sdk";
|
||||
}
|
||||
|
||||
const auto installationLocation = RegistryKey::TryGetString(
|
||||
HKEY_LOCAL_MACHINE,
|
||||
std::wstring(L"SOFTWARE\\dotnet\\Setup\\InstalledVersions\\") + platform + L"\\sdk",
|
||||
L"InstallLocation",
|
||||
RRF_SUBKEY_WOW6432KEY);
|
||||
regKeySubSection,
|
||||
L"InstallLocation");
|
||||
|
||||
if (installationLocation.has_value())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -16,11 +16,11 @@ std::optional<DWORD> RegistryKey::TryGetDWORD(HKEY section, const std::wstring&
|
|||
return dwData;
|
||||
}
|
||||
|
||||
std::optional<std::wstring> RegistryKey::TryGetString(HKEY section, const std::wstring& subSectionName, const std::wstring& valueName, DWORD flags)
|
||||
std::optional<std::wstring> RegistryKey::TryGetString(HKEY section, const std::wstring& subSectionName, const std::wstring& valueName)
|
||||
{
|
||||
DWORD cbData;
|
||||
|
||||
if (!CheckReturnValue(RegGetValue(section, subSectionName.c_str(), valueName.c_str(), RRF_RT_REG_SZ | flags, nullptr, nullptr, &cbData) != NO_ERROR))
|
||||
if (!CheckReturnValue(RegGetValue(section, subSectionName.c_str(), valueName.c_str(), RRF_RT_REG_SZ, nullptr, nullptr, &cbData)))
|
||||
{
|
||||
return std::nullopt;
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ std::optional<std::wstring> RegistryKey::TryGetString(HKEY section, const std::w
|
|||
std::wstring data;
|
||||
data.resize(cbData / sizeof(wchar_t));
|
||||
|
||||
if (!CheckReturnValue(RegGetValue(section, subSectionName.c_str(), valueName.c_str(), RRF_RT_REG_SZ | flags, nullptr, data.data(), &cbData) != NO_ERROR))
|
||||
if (!CheckReturnValue(RegGetValue(section, subSectionName.c_str(), valueName.c_str(), RRF_RT_REG_SZ, nullptr, data.data(), &cbData)))
|
||||
{
|
||||
return std::nullopt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ public:
|
|||
std::optional<DWORD> TryGetDWORD(HKEY section, const std::wstring& subSectionName, const std::wstring& valueName, DWORD flags = 0);
|
||||
|
||||
static
|
||||
std::optional<std::wstring> TryGetString(HKEY section, const std::wstring& subSectionName, const std::wstring& valueName, DWORD flags = 0);
|
||||
std::optional<std::wstring> TryGetString(HKEY section, const std::wstring& subSectionName, const std::wstring& valueName);
|
||||
|
||||
private:
|
||||
static
|
||||
|
|
|
|||
Loading…
Reference in New Issue