Windows: make Setup correctly manage option to disable memory protection during upgrade

This commit is contained in:
Mounir IDRASSI 2023-09-24 12:48:34 +02:00
parent 2363506e09
commit 718f11d9c3
No known key found for this signature in database
GPG Key ID: FC1B00364B3FE937
3 changed files with 8 additions and 2 deletions

View File

@ -75,6 +75,7 @@ BOOL bSystemRestore = TRUE;
BOOL bDisableSwapFiles = FALSE;
BOOL bForAllUsers = TRUE;
BOOL bDisableMemoryProtection = FALSE;
BOOL bOriginalDisableMemoryProtection = FALSE;
BOOL bRegisterFileExt = TRUE;
BOOL bAddToStartMenu = TRUE;
BOOL bDesktopIcon = TRUE;
@ -2336,9 +2337,10 @@ void DoInstall (void *arg)
if (bSystemRestore)
SetSystemRestorePoint (hwndDlg, TRUE);
if (bOK && bDisableMemoryProtection)
if (bOK && (bDisableMemoryProtection != bOriginalDisableMemoryProtection))
{
WriteMemoryProtectionConfig(FALSE);
WriteMemoryProtectionConfig(bDisableMemoryProtection? FALSE : TRUE);
bRestartRequired = TRUE; // Restart is required to apply the new memory protection settings
}
if (bOK)

View File

@ -121,6 +121,7 @@ extern BOOL bSystemRestore;
extern BOOL bDisableSwapFiles;
extern BOOL bForAllUsers;
extern BOOL bDisableMemoryProtection;
extern BOOL bOriginalDisableMemoryProtection;
extern BOOL bRegisterFileExt;
extern BOOL bAddToStartMenu;
extern BOOL bDesktopIcon;

View File

@ -883,6 +883,9 @@ BOOL CALLBACK MainDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
DonColorSchemeId = GetDonVal (2, 9);
// get the initial value of bDisableMemoryProtection by reading the registry
bDisableMemoryProtection = bOriginalDisableMemoryProtection = ReadMemoryProtectionConfig()? FALSE : TRUE;
if (bDevm)
{
InitWizardDestInstallPath ();