From f4edd72662106798dc216c5cabbf39605391523e Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Thu, 19 Apr 2018 18:31:40 +0200 Subject: Windows: code refactoring --- src/Common/BootEncryption.cpp | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'src/Common') diff --git a/src/Common/BootEncryption.cpp b/src/Common/BootEncryption.cpp index e64347d7..c62df958 100644 --- a/src/Common/BootEncryption.cpp +++ b/src/Common/BootEncryption.cpp @@ -2717,11 +2717,13 @@ namespace VeraCrypt } if (GetSetupconfigLocation (szSetupconfigLocation, ARRAYSIZE (szSetupconfigLocation))) { - ::CreateDirectoryW (szSetupconfigLocation, NULL); + if (bForInstall) + ::CreateDirectoryW (szSetupconfigLocation, NULL); StringCchCatW (szSetupconfigLocation, ARRAYSIZE (szSetupconfigLocation), L"SetupConfig.ini"); - WritePrivateProfileStringW (L"SetupConfig", L"ReflectDrivers", bForInstall? szInstallPath : NULL, szSetupconfigLocation); + if (bForInstall || FileExists (szSetupconfigLocation)) + WritePrivateProfileStringW (L"SetupConfig", L"ReflectDrivers", bForInstall? szInstallPath : NULL, szSetupconfigLocation); } } } @@ -3837,20 +3839,13 @@ namespace VeraCrypt device.Write (bootLoaderBuf, sizeof (bootLoaderBuf)); } - // starting from Windows 10 1607 (Build 14393), ReflectDrivers in Setupconfig.ini is supported - if (IsOSVersionAtLeast (WIN_10, 0) && CurrentOSBuildNumber >= 14393) + if (!IsAdmin() && IsUacSupported()) { - wchar_t szSetupconfigLocation [TC_MAX_PATH + 20]; - - if (GetSetupconfigLocation (szSetupconfigLocation, ARRAYSIZE (szSetupconfigLocation))) - { - StringCchCatW (szSetupconfigLocation, ARRAYSIZE (szSetupconfigLocation), L"SetupConfig.ini"); - - if (FileExists (szSetupconfigLocation)) - { - WritePrivateProfileStringW (L"SetupConfig", L"ReflectDrivers", NULL, szSetupconfigLocation); - } - } + Elevator::UpdateSetupConfigFile (false); + } + else + { + UpdateSetupConfigFile (false); } } -- cgit v1.2.3