From da3341ed425d6b4acc23ffabffe589891fce2d8a Mon Sep 17 00:00:00 2001 From: jthedering <51533355+jthedering@users.noreply.github.com> Date: Sun, 13 Feb 2022 18:09:16 +0000 Subject: [PATCH] Improved: On Windows 8.1 and newer, installation as SFX/EFX is now the default. This should remove the need to use the troubleshooting options for most users. --- Configurator/Configurator.rc | Bin 23560 -> 23446 bytes DeviceAPOInfo.cpp | 23 ++++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Configurator/Configurator.rc b/Configurator/Configurator.rc index 29a552f3b3f31ef4cf01e995764d4cbe18ebad55..0f5eaec75019be9b979bf7d4f644c27ad1736977 100644 GIT binary patch delta 273 zcmeC!!8mO@8NB{r; delta 358 zcmbQXov~vF(!6;M$0t5<1qKbEa4tgu zLmERqLk2?*keA1xIr*ZW;baF1j>!f7T$3M&FPg02Au(ANW9=c zGf{GLgO(SgERr=0Ak&fgm6I1nNKgK!owfOlaud_!Aho*5*X)cY&x%~Ld6Rk%6G6QP zC$Ec|H~9c7%j6T> DeviceAPOInfo::loadAllInfos(bool input) { wstring deviceGuidString = *it; - shared_ptr info = make_shared(); + shared_ptr info = make_shared (); if (info->load(deviceGuidString, defaultDeviceGuid)) { info->selectedInstallState = info->currentInstallState; @@ -352,6 +355,24 @@ bool DeviceAPOInfo::load(const wstring& deviceGuid, wstring defaultDeviceGuid) } } } + else + { + if (RegistryHelper::isWindowsVersionAtLeast(6, 3)) // Windows 8.1 + { + // only use LFX/GFX if the audio driver supplied only those APOs + if (RegistryHelper::keyExists(keyPath + L"\\FxProperties") + && (RegistryHelper::valueExists(keyPath + L"\\FxProperties", lfxGuidValueName) || RegistryHelper::valueExists(keyPath + L"\\FxProperties", gfxGuidValueName)) + && !RegistryHelper::valueExists(keyPath + L"\\FxProperties", sfxGuidValueName) + && !RegistryHelper::valueExists(keyPath + L"\\FxProperties", mfxGuidValueName) + && !RegistryHelper::valueExists(keyPath + L"\\FxProperties", efxGuidValueName) + && !RegistryHelper::valueExists(keyPath + L"\\FxProperties", multiSfxGuidValueName) + && !RegistryHelper::valueExists(keyPath + L"\\FxProperties", multiMfxGuidValueName) + && !RegistryHelper::valueExists(keyPath + L"\\FxProperties", multiEfxGuidValueName)) + currentInstallState.installMode = INSTALL_LFX_GFX; + else + currentInstallState.installMode = INSTALL_SFX_EFX; + } + } } return true;