VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Setup
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2020-07-21 12:14:31 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2020-07-21 12:47:28 +0200
commit290412afced5f020c3c3cdaafe86c4352608ab16 (patch)
tree46f323fbcb68faeaa05a618c45db44911a93c502 /src/Setup
parentf9782fb3f6393b967d2997feff85d59c01a7db80 (diff)
downloadVeraCrypt-290412afced5f020c3c3cdaafe86c4352608ab16.tar.gz
VeraCrypt-290412afced5f020c3c3cdaafe86c4352608ab16.zip
Windows Setup: Warn about Fast Startup during install if it is enabled and propose to disable it at the end of the installation.
Diffstat (limited to 'src/Setup')
-rw-r--r--src/Setup/Setup.c9
-rw-r--r--src/Setup/Wizard.c10
-rw-r--r--src/Setup/Wizard.h1
3 files changed, 20 insertions, 0 deletions
diff --git a/src/Setup/Setup.c b/src/Setup/Setup.c
index 7d17962c..364395d8 100644
--- a/src/Setup/Setup.c
+++ b/src/Setup/Setup.c
@@ -2362,6 +2362,15 @@ void DoInstall (void *arg)
if (bOK && !bUninstall && !bDowngrade && !bRepairMode && !bDevm)
{
+ BOOL bHibernateEnabled = FALSE, bHiberbootEnabled = FALSE;
+ if (GetHibernateStatus (bHibernateEnabled, bHiberbootEnabled))
+ {
+ if (bHiberbootEnabled)
+ {
+ bPromptFastStartup = TRUE;
+ }
+ }
+
if (!IsHiddenOSRunning()) // A hidden OS user should not see the post-install notes twice (on decoy OS and then on hidden OS).
{
if (bRestartRequired || SystemEncryptionUpdate)
diff --git a/src/Setup/Wizard.c b/src/Setup/Wizard.c
index 1021e8bc..7de3ef0c 100644
--- a/src/Setup/Wizard.c
+++ b/src/Setup/Wizard.c
@@ -60,6 +60,7 @@ BOOL bStartExtraction = FALSE;
BOOL bInProgress = FALSE;
BOOL bPromptTutorial = FALSE;
BOOL bPromptReleaseNotes = FALSE;
+BOOL bPromptFastStartup = FALSE;
extern BOOL bUserSetLanguage;
@@ -1203,6 +1204,15 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
bPromptTutorial = FALSE;
}
+ if (bPromptFastStartup
+ && AskWarnYesNo ("CONFIRM_DISABLE_FAST_STARTUP", hwndDlg) == IDYES)
+ {
+ WriteLocalMachineRegistryDword (L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Power", L"HiberbootEnabled", 0);
+ bRestartRequired = TRUE;
+ }
+
+ bPromptFastStartup = FALSE;
+
if (bRestartRequired
&& AskYesNo (bUpgrade ? "UPGRADE_OK_REBOOT_REQUIRED" : "CONFIRM_RESTART", hwndDlg) == IDYES)
{
diff --git a/src/Setup/Wizard.h b/src/Setup/Wizard.h
index df423b90..40ff0353 100644
--- a/src/Setup/Wizard.h
+++ b/src/Setup/Wizard.h
@@ -25,6 +25,7 @@ BOOL CALLBACK MainDialogProc ( HWND hwndDlg , UINT uMsg , WPARAM wParam , LPARAM
extern BOOL bPromptTutorial;
extern BOOL bPromptReleaseNotes;
+extern BOOL bPromptFastStartup;
#ifdef __cplusplus
}