mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[wue] add option to Disable BitLocker automatic device encryption
* See https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-bitlocker#disable-bitlocker-automatic-device-encryption * Closes #2121
This commit is contained in:
		
							parent
							
								
									3fbc465d31
								
							
						
					
					
						commit
						1ce1f47a8b
					
				
					 4 changed files with 19 additions and 9 deletions
				
			
		|  | @ -1595,6 +1595,8 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 			MAP_BIT(UNATTEND_DUPLICATE_LOCALE); | 			MAP_BIT(UNATTEND_DUPLICATE_LOCALE); | ||||||
| 			StrArrayAdd(&options, lmprintf(MSG_331), TRUE); | 			StrArrayAdd(&options, lmprintf(MSG_331), TRUE); | ||||||
| 			MAP_BIT(UNATTEND_NO_DATA_COLLECTION); | 			MAP_BIT(UNATTEND_NO_DATA_COLLECTION); | ||||||
|  | 			StrArrayAdd(&options, lmprintf(MSG_335), TRUE); | ||||||
|  | 			MAP_BIT(UNATTEND_DISABLE_BITLOCKER); | ||||||
| 			i = CustomSelectionDialog(BS_AUTOCHECKBOX, lmprintf(MSG_327), lmprintf(MSG_328), | 			i = CustomSelectionDialog(BS_AUTOCHECKBOX, lmprintf(MSG_327), lmprintf(MSG_328), | ||||||
| 				options.String, options.Index, remap8(unattend_xml_mask, map, FALSE), username_index); | 				options.String, options.Index, remap8(unattend_xml_mask, map, FALSE), username_index); | ||||||
| 			StrArrayDestroy(&options); | 			StrArrayDestroy(&options); | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| /*
 | /*
 | ||||||
|  * Rufus: The Reliable USB Formatting Utility |  * Rufus: The Reliable USB Formatting Utility | ||||||
|  * Copyright © 2011-2022 Pete Batard <pete@akeo.ie> |  * Copyright © 2011-2023 Pete Batard <pete@akeo.ie> | ||||||
|  * |  * | ||||||
|  * This program is free software: you can redistribute it and/or modify |  * This program is free software: you can redistribute it and/or modify | ||||||
|  * it under the terms of the GNU General Public License as published by |  * it under the terms of the GNU General Public License as published by | ||||||
|  | @ -507,14 +507,15 @@ enum ArchType { | ||||||
| #define UNATTEND_OFFLINE_INTERNAL_DRIVES    0x00010 | #define UNATTEND_OFFLINE_INTERNAL_DRIVES    0x00010 | ||||||
| #define UNATTEND_DUPLICATE_LOCALE           0x00020 | #define UNATTEND_DUPLICATE_LOCALE           0x00020 | ||||||
| #define UNATTEND_SET_USER                   0x00040 | #define UNATTEND_SET_USER                   0x00040 | ||||||
| #define UNATTEND_DEFAULT_MASK               0x0007F | #define UNATTEND_DISABLE_BITLOCKER          0x00080 | ||||||
|  | #define UNATTEND_DEFAULT_MASK               0x000FF | ||||||
| #define UNATTEND_WINDOWS_TO_GO              0x10000		// Special flag for Windows To Go
 | #define UNATTEND_WINDOWS_TO_GO              0x10000		// Special flag for Windows To Go
 | ||||||
| 
 | 
 | ||||||
| #define UNATTEND_WINPE_SETUP_MASK           (UNATTEND_SECUREBOOT_TPM_MINRAM) | #define UNATTEND_WINPE_SETUP_MASK           (UNATTEND_SECUREBOOT_TPM_MINRAM) | ||||||
| #define UNATTEND_SPECIALIZE_DEPLOYMENT_MASK (UNATTEND_NO_ONLINE_ACCOUNT) | #define UNATTEND_SPECIALIZE_DEPLOYMENT_MASK (UNATTEND_NO_ONLINE_ACCOUNT) | ||||||
| #define UNATTEND_OOBE_SHELL_SETUP_MASK      (UNATTEND_NO_DATA_COLLECTION | UNATTEND_SET_USER) | #define UNATTEND_OOBE_SHELL_SETUP_MASK      (UNATTEND_NO_DATA_COLLECTION | UNATTEND_SET_USER) | ||||||
| #define UNATTEND_OOBE_INTERNATIONAL_MASK    (UNATTEND_DUPLICATE_LOCALE) | #define UNATTEND_OOBE_INTERNATIONAL_MASK    (UNATTEND_DUPLICATE_LOCALE) | ||||||
| #define UNATTEND_OOBE_MASK                  (UNATTEND_OOBE_SHELL_SETUP_MASK | UNATTEND_OOBE_INTERNATIONAL_MASK) | #define UNATTEND_OOBE_MASK                  (UNATTEND_OOBE_SHELL_SETUP_MASK | UNATTEND_OOBE_INTERNATIONAL_MASK | UNATTEND_DISABLE_BITLOCKER) | ||||||
| #define UNATTEND_OFFLINE_SERVICING_MASK     (UNATTEND_OFFLINE_INTERNAL_DRIVES) | #define UNATTEND_OFFLINE_SERVICING_MASK     (UNATTEND_OFFLINE_INTERNAL_DRIVES) | ||||||
| #define UNATTEND_DEFAULT_SELECTION_MASK     (UNATTEND_SECUREBOOT_TPM_MINRAM | UNATTEND_NO_ONLINE_ACCOUNT | UNATTEND_OFFLINE_INTERNAL_DRIVES) | #define UNATTEND_DEFAULT_SELECTION_MASK     (UNATTEND_SECUREBOOT_TPM_MINRAM | UNATTEND_NO_ONLINE_ACCOUNT | UNATTEND_OFFLINE_INTERNAL_DRIVES) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 232, 326 | IDD_DIALOG DIALOGEX 12, 12, 232, 326 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_ACCEPTFILES | EXSTYLE WS_EX_ACCEPTFILES | ||||||
| CAPTION "Rufus 3.22.1955" | CAPTION "Rufus 3.22.1956" | ||||||
| FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | ||||||
| BEGIN | BEGIN | ||||||
|     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP |     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP | ||||||
|  | @ -396,8 +396,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 3,22,1955,0 |  FILEVERSION 3,22,1956,0 | ||||||
|  PRODUCTVERSION 3,22,1955,0 |  PRODUCTVERSION 3,22,1956,0 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -415,13 +415,13 @@ BEGIN | ||||||
|             VALUE "Comments", "https://rufus.ie" |             VALUE "Comments", "https://rufus.ie" | ||||||
|             VALUE "CompanyName", "Akeo Consulting" |             VALUE "CompanyName", "Akeo Consulting" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "3.22.1955" |             VALUE "FileVersion", "3.22.1956" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2023 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2023 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" |             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" | ||||||
|             VALUE "OriginalFilename", "rufus-3.22.exe" |             VALUE "OriginalFilename", "rufus-3.22.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "3.22.1955" |             VALUE "ProductVersion", "3.22.1956" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| /*
 | /*
 | ||||||
|  * Rufus: The Reliable USB Formatting Utility |  * Rufus: The Reliable USB Formatting Utility | ||||||
|  * Windows User Experience |  * Windows User Experience | ||||||
|  * Copyright © 2022 Pete Batard <pete@akeo.ie> |  * Copyright © 2022-2023 Pete Batard <pete@akeo.ie> | ||||||
|  * |  * | ||||||
|  * This program is free software: you can redistribute it and/or modify |  * This program is free software: you can redistribute it and/or modify | ||||||
|  * it under the terms of the GNU General Public License as published by |  * it under the terms of the GNU General Public License as published by | ||||||
|  | @ -192,6 +192,13 @@ char* CreateUnattendXml(int arch, int flags) | ||||||
| 				ReadRegistryKeyStr(REGKEY_HKLM, "SYSTEM\\CurrentControlSet\\Control\\Nls\\Language\\InstallLanguageFallback")); | 				ReadRegistryKeyStr(REGKEY_HKLM, "SYSTEM\\CurrentControlSet\\Control\\Nls\\Language\\InstallLanguageFallback")); | ||||||
| 			fprintf(fd, "    </component>\n"); | 			fprintf(fd, "    </component>\n"); | ||||||
| 		} | 		} | ||||||
|  | 		if (flags & UNATTEND_DISABLE_BITLOCKER) { | ||||||
|  | 			fprintf(fd, "    <component name=\"Microsoft-Windows-SecureStartup-FilterDriver\" processorArchitecture=\"%s\" language=\"neutral\" " | ||||||
|  | 				"xmlns:wcm=\"http://schemas.microsoft.com/WMIConfig/2002/State\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " | ||||||
|  | 				"publicKeyToken=\"31bf3856ad364e35\" versionScope=\"nonSxS\">\n", xml_arch_names[arch]); | ||||||
|  | 			fprintf(fd, "      <PreventDeviceEncryption>true</PreventDeviceEncryption>\n"); | ||||||
|  | 			fprintf(fd, "    </component>\n"); | ||||||
|  | 		} | ||||||
| 		fprintf(fd, "  </settings>\n"); | 		fprintf(fd, "  </settings>\n"); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue