mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-01-04 04:38:12 -06:00
Windows: Make MSI installer compatible with System Encryption by leveraging VeraCrypt service capabilities
This commit is contained in:
@@ -360,6 +360,7 @@ namespace VeraCrypt
|
||||
#define TC_SYSTEM_FAVORITES_SERVICE_LOAD_ORDER_GROUP L"Event Log"
|
||||
#define TC_SYSTEM_FAVORITES_SERVICE_CMDLINE_OPTION L"/systemFavoritesService"
|
||||
#define VC_SYSTEM_FAVORITES_SERVICE_ARG_SKIP_MOUNT L"/SkipMount"
|
||||
#define VC_SYSTEM_FAVORITES_SERVICE_ARG_UPDATE_LOADER L"/UpdateLoader"
|
||||
|
||||
#define VC_SYSTEM_FAVORITES_SERVICE_CONFIG_DONT_UPDATE_LOADER 0x1
|
||||
#define VC_SYSTEM_FAVORITES_SERVICE_CONFIG_FORCE_SET_BOOTNEXT 0x2
|
||||
|
||||
@@ -175,6 +175,10 @@ BOOL bLanguageSetInSetup = FALSE;
|
||||
extern BOOL bMakePackage;
|
||||
#endif
|
||||
|
||||
#ifdef TCMOUNT
|
||||
extern BOOL ServiceMode;
|
||||
#endif
|
||||
|
||||
// Status of detection of hidden sectors (whole-system-drive encryption).
|
||||
// 0 - Unknown/undetermined/completed, 1: Detection is or was in progress (but did not complete e.g. due to system crash).
|
||||
int HiddenSectorDetectionStatus = 0;
|
||||
@@ -4759,10 +4763,16 @@ load:
|
||||
if (IsNonInstallMode () && CreateDriverSetupMutex () && DriverUnload () && nLoadRetryCount++ < 3)
|
||||
goto load;
|
||||
|
||||
CloseDriverSetupMutex ();
|
||||
CloseHandle (hDriver);
|
||||
hDriver = INVALID_HANDLE_VALUE;
|
||||
return ERR_DRIVER_VERSION;
|
||||
#ifdef TCMOUNT
|
||||
// don't fail in case of service. This solves issues during upgrade when system encryption is enabled
|
||||
if (!ServiceMode)
|
||||
#endif
|
||||
{
|
||||
CloseDriverSetupMutex ();
|
||||
CloseHandle (hDriver);
|
||||
hDriver = INVALID_HANDLE_VALUE;
|
||||
return ERR_DRIVER_VERSION;
|
||||
}
|
||||
}
|
||||
#else
|
||||
if (!bResult)
|
||||
|
||||
Reference in New Issue
Block a user