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.
This commit is contained in:
1 parent
c692f0639b
commit
da3341ed42
2 files changed
+22
-1
No files matched your search
Binary file not shown.
+22
-1
@@ -51,6 +51,9 @@ static const wchar_t* gfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d
|
||||
static const wchar_t* sfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},5";
|
||||
static const wchar_t* mfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},6";
|
||||
static const wchar_t* efxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},7";
|
||||
static const wchar_t* multiSfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},13";
|
||||
static const wchar_t* multiMfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},14";
|
||||
static const wchar_t* multiEfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},15";
|
||||
static const unsigned allGuidValueNameCount = 5;
|
||||
static const wchar_t* allGuidValueNames[] = {lfxGuidValueName, gfxGuidValueName, sfxGuidValueName, mfxGuidValueName, efxGuidValueName};
|
||||
enum GuidValueIndices
|
||||
@@ -80,7 +83,7 @@ vector<shared_ptr<AbstractAPOInfo>> DeviceAPOInfo::loadAllInfos(bool input)
|
||||
{
|
||||
wstring deviceGuidString = *it;
|
||||
|
||||
shared_ptr<DeviceAPOInfo> info = make_shared<DeviceAPOInfo>();
|
||||
shared_ptr<DeviceAPOInfo> info = make_shared<DeviceAPOInfo> ();
|
||||
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;
|
||||
|
||||
Reference in new issue
Block a user