mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[wue] remove non-existent min disk size bypass
* Closes #1990 * Also group all of SB, TPM and min RAM into a single option and update French translation
This commit is contained in:
		
							parent
							
								
									9073962faf
								
							
						
					
					
						commit
						c34cbab3b5
					
				
					 6 changed files with 43 additions and 44 deletions
				
			
		|  | @ -2,8 +2,8 @@ msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: 3.14\n" | "Project-Id-Version: 3.14\n" | ||||||
| "Report-Msgid-Bugs-To: pete@akeo.ie\n" | "Report-Msgid-Bugs-To: pete@akeo.ie\n" | ||||||
| "POT-Creation-Date: 2022-06-24 17:34+0100\n" | "POT-Creation-Date: 2022-07-22 11:06+0100\n" | ||||||
| "PO-Revision-Date: 2022-06-30 11:26+0100\n" | "PO-Revision-Date: 2022-07-22 11:14+0100\n" | ||||||
| "Last-Translator: \n" | "Last-Translator: \n" | ||||||
| "Language-Team: \n" | "Language-Team: \n" | ||||||
| "Language: fr_FR\n" | "Language: fr_FR\n" | ||||||
|  | @ -13,7 +13,7 @@ msgstr "" | ||||||
| "X-Poedit-SourceCharset: UTF-8\n" | "X-Poedit-SourceCharset: UTF-8\n" | ||||||
| "X-Rufus-LanguageName: French (Français)\n" | "X-Rufus-LanguageName: French (Français)\n" | ||||||
| "X-Rufus-LCID: 0x040c, 0x080c, 0x0c0c, 0x100c, 0x140c, 0x180c, 0x1c0c, 0x200c, 0x240c, 0x280c, 0x2c0c, 0x300c, 0x340c, 0x380c, 0xe40c\n" | "X-Rufus-LCID: 0x040c, 0x080c, 0x0c0c, 0x100c, 0x140c, 0x180c, 0x1c0c, 0x200c, 0x240c, 0x280c, 0x2c0c, 0x300c, 0x340c, 0x380c, 0xe40c\n" | ||||||
| "X-Generator: Poedit 3.1\n" | "X-Generator: Poedit 3.1.1\n" | ||||||
| 
 | 
 | ||||||
| #. • IDD_DIALOG → IDS_DRIVE_PROPERTIES_TXT | #. • IDD_DIALOG → IDS_DRIVE_PROPERTIES_TXT | ||||||
| msgid "Drive Properties" | msgid "Drive Properties" | ||||||
|  | @ -1805,21 +1805,25 @@ msgid "Customize Windows installation?" | ||||||
| msgstr "Personnaliser l'installation de Windows ?" | msgstr "Personnaliser l'installation de Windows ?" | ||||||
| 
 | 
 | ||||||
| #. • MSG_328 | #. • MSG_328 | ||||||
| msgid "Remove requirement for Secure Boot and TPM 2.0" | msgid "Remove requirement for 4GB+ RAM, Secure Boot and TPM 2.0" | ||||||
| msgstr "Supprimer la nécessité d'avoir Secure Boot et TPM 2.0" | msgstr "Supprimer la nécessité d'avoir 4Go+ de RAM, Secure Boot et TPM 2.0" | ||||||
| 
 |  | ||||||
| #. • MSG_329 |  | ||||||
| msgid "Remove requirement for 4GB+ RAM and 64GB+ disk" |  | ||||||
| msgstr "Supprimer la nécessité d'avoir 4Go+ de RAM et 64Go+ de disque" |  | ||||||
| 
 | 
 | ||||||
| #. • MSG_330 | #. • MSG_330 | ||||||
| msgid "Remove requirement for an online Microsoft account" | msgid "Remove requirement for an online Microsoft account" | ||||||
| msgstr "Désactiver la collecte de données (Élimine les questions sur la vie privée)" | msgstr "Supprimer la nécessité d'utiliser un compte Microsoft en ligne" | ||||||
| 
 | 
 | ||||||
| #. • MSG_331 | #. • MSG_331 | ||||||
| msgid "Disable data collection (Skip privacy questions)" | msgid "Disable data collection (Skip privacy questions)" | ||||||
| msgstr "Supprimer la nécessité d'utiliser un compte Microsoft en ligne" | msgstr "Désactiver la collecte de données (Supprime les questions de confidentialité)" | ||||||
| 
 | 
 | ||||||
| #. • MSG_332 | #. • MSG_332 | ||||||
| msgid "Prevent Windows To Go from accessing internal disks" | msgid "Prevent Windows To Go from accessing internal disks" | ||||||
| msgstr "Empêcher Windows To Go d'accéder aux disques internes" | msgstr "Empêcher Windows To Go d'accéder aux disques internes" | ||||||
|  | 
 | ||||||
|  | #. • MSG_333 | ||||||
|  | msgid "Set a local account using the same name as this user's" | ||||||
|  | msgstr "Définir un compte local utilisant le même nom que celui de cet utilisateur" | ||||||
|  | 
 | ||||||
|  | #. • MSG_334 | ||||||
|  | msgid "Set regional options to the same values as this user's" | ||||||
|  | msgstr "Définir les options régionales avec les mêmes valeurs que celles de cet utilisateur" | ||||||
|  |  | ||||||
|  | @ -585,8 +585,7 @@ t MSG_322 "Unable to open or read '%s'" | ||||||
| t MSG_325 "Applying Windows customization: %s" | t MSG_325 "Applying Windows customization: %s" | ||||||
| t MSG_326 "Windows User Experience" | t MSG_326 "Windows User Experience" | ||||||
| t MSG_327 "Customize Windows installation?" | t MSG_327 "Customize Windows installation?" | ||||||
| t MSG_328 "Remove requirement for Secure Boot and TPM 2.0" | t MSG_328 "Remove requirement for 4GB+ RAM, Secure Boot and TPM 2.0" | ||||||
| t MSG_329 "Remove requirement for 4GB+ RAM and 64GB+ disk" |  | ||||||
| t MSG_330 "Remove requirement for an online Microsoft account" | t MSG_330 "Remove requirement for an online Microsoft account" | ||||||
| t MSG_331 "Disable data collection (Skip privacy questions)" | t MSG_331 "Disable data collection (Skip privacy questions)" | ||||||
| t MSG_332 "Prevent Windows To Go from accessing internal disks" | t MSG_332 "Prevent Windows To Go from accessing internal disks" | ||||||
|  | @ -4308,11 +4307,12 @@ t MSG_322 "Impossible d'ouvrir ou de lire '%s'" | ||||||
| t MSG_325 "Application des options de personnalisation de Windows: %s" | t MSG_325 "Application des options de personnalisation de Windows: %s" | ||||||
| t MSG_326 "Expérience de l'utilisateur Windows" | t MSG_326 "Expérience de l'utilisateur Windows" | ||||||
| t MSG_327 "Personnaliser l'installation de Windows ?" | t MSG_327 "Personnaliser l'installation de Windows ?" | ||||||
| t MSG_328 "Supprimer la nécessité d'avoir Secure Boot et TPM 2.0" | t MSG_328 "Supprimer la nécessité d'avoir 4Go+ de RAM, Secure Boot et TPM 2.0" | ||||||
| t MSG_329 "Supprimer la nécessité d'avoir 4Go+ de RAM et 64Go+ de disque" | t MSG_330 "Supprimer la nécessité d'utiliser un compte Microsoft en ligne" | ||||||
| t MSG_330 "Désactiver la collecte de données (Élimine les questions sur la vie privée)" | t MSG_331 "Désactiver la collecte de données (Supprime les questions de confidentialité)" | ||||||
| t MSG_331 "Supprimer la nécessité d'utiliser un compte Microsoft en ligne" |  | ||||||
| t MSG_332 "Empêcher Windows To Go d'accéder aux disques internes" | t MSG_332 "Empêcher Windows To Go d'accéder aux disques internes" | ||||||
|  | t MSG_333 "Définir un compte local utilisant le même nom que celui de cet utilisateur" | ||||||
|  | t MSG_334 "Définir les options régionales avec les mêmes valeurs que celles de cet utilisateur" | ||||||
| 
 | 
 | ||||||
| ######################################################################### | ######################################################################### | ||||||
| l "de-DE" "German (Deutsch)" 0x0407, 0x0807, 0x0c07, 0x1007, 0x1407 | l "de-DE" "German (Deutsch)" 0x0407, 0x0807, 0x0c07, 0x1007, 0x1407 | ||||||
|  |  | ||||||
|  | @ -1554,7 +1554,7 @@ BOOL ApplyWindowsCustomization(char drive_letter, int flags) | ||||||
| 				goto out; | 				goto out; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if (flags & (UNATTEND_SECUREBOOT_TPM | UNATTEND_MINRAM_MINDISK)) { | 		if (flags & UNATTEND_SECUREBOOT_TPM_MINRAM) { | ||||||
| 			// Try to create the registry keys directly, and fallback to using unattend
 | 			// Try to create the registry keys directly, and fallback to using unattend
 | ||||||
| 			// if that fails (which the Windows Store version is expected to do).
 | 			// if that fails (which the Windows Store version is expected to do).
 | ||||||
| 			static_sprintf(path, "%s\\Windows\\System32\\config\\SYSTEM", mount_path); | 			static_sprintf(path, "%s\\Windows\\System32\\config\\SYSTEM", mount_path); | ||||||
|  | @ -1582,8 +1582,6 @@ BOOL ApplyWindowsCustomization(char drive_letter, int flags) | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			for (i = 0; i < ARRAYSIZE(bypass_name); i++) { | 			for (i = 0; i < ARRAYSIZE(bypass_name); i++) { | ||||||
| 				if (!(flags & (1 << (i / 2)))) |  | ||||||
| 					continue; |  | ||||||
| 				status = RegSetValueExA(hSubKey, bypass_name[i], 0, REG_DWORD, (LPBYTE)&dwVal, sizeof(DWORD)); | 				status = RegSetValueExA(hSubKey, bypass_name[i], 0, REG_DWORD, (LPBYTE)&dwVal, sizeof(DWORD)); | ||||||
| 				if (status != ERROR_SUCCESS) { | 				if (status != ERROR_SUCCESS) { | ||||||
| 					SetLastError(status); | 					SetLastError(status); | ||||||
|  | @ -1596,11 +1594,11 @@ BOOL ApplyWindowsCustomization(char drive_letter, int flags) | ||||||
| 			// We were successfull in creating the keys so disable the windowsPE section from unattend.xml
 | 			// We were successfull in creating the keys so disable the windowsPE section from unattend.xml
 | ||||||
| 			// We do this by replacing '<settings pass="windowsPE">' with '<settings pass="disabled">'
 | 			// We do this by replacing '<settings pass="windowsPE">' with '<settings pass="disabled">'
 | ||||||
| 			// (provided that the registry key creation was the only item for this pass)
 | 			// (provided that the registry key creation was the only item for this pass)
 | ||||||
| 			if ((flags & UNATTEND_WINPE_SETUP_MASK) == (UNATTEND_SECUREBOOT_TPM | UNATTEND_MINRAM_MINDISK)) { | 			if ((flags & UNATTEND_WINPE_SETUP_MASK) == UNATTEND_SECUREBOOT_TPM_MINRAM) { | ||||||
| 				if (replace_in_token_data(unattend_xml_path, "<settings", "windowsPE", "disabled", FALSE) == NULL) | 				if (replace_in_token_data(unattend_xml_path, "<settings", "windowsPE", "disabled", FALSE) == NULL) | ||||||
| 					uprintf("Warning: Could not disable 'windowsPE' pass from unattend.xml"); | 					uprintf("Warning: Could not disable 'windowsPE' pass from unattend.xml"); | ||||||
| 				// Remove the flags, since we accomplished the registry creation outside of unattend.
 | 				// Remove the flags, since we accomplished the registry creation outside of unattend.
 | ||||||
| 				flags &= ~(UNATTEND_SECUREBOOT_TPM | UNATTEND_MINRAM_MINDISK); | 				flags &= ~UNATTEND_SECUREBOOT_TPM_MINRAM; | ||||||
| 			} else { | 			} else { | ||||||
| 				// TODO: If we add other tasks besides LabConfig reg keys, we'll need to figure out how
 | 				// TODO: If we add other tasks besides LabConfig reg keys, we'll need to figure out how
 | ||||||
| 				// to comment out the <RunSynchronous> entries from windowsPE (and only windowsPE).
 | 				// to comment out the <RunSynchronous> entries from windowsPE (and only windowsPE).
 | ||||||
|  |  | ||||||
							
								
								
									
										24
									
								
								src/rufus.c
									
										
									
									
									
								
							
							
						
						
									
										24
									
								
								src/rufus.c
									
										
									
									
									
								
							|  | @ -138,7 +138,7 @@ StrArray BlockingProcess, ImageList; | ||||||
| // Number of steps for each FS for FCC_STRUCTURE_PROGRESS
 | // Number of steps for each FS for FCC_STRUCTURE_PROGRESS
 | ||||||
| const int nb_steps[FS_MAX] = { 5, 5, 12, 1, 10, 1, 1, 1, 1 }; | const int nb_steps[FS_MAX] = { 5, 5, 12, 1, 10, 1, 1, 1, 1 }; | ||||||
| const char* flash_type[BADLOCKS_PATTERN_TYPES] = { "SLC", "MLC", "TLC" }; | const char* flash_type[BADLOCKS_PATTERN_TYPES] = { "SLC", "MLC", "TLC" }; | ||||||
| const char* bypass_name[4] = { "BypassTPMCheck", "BypassSecureBootCheck", "BypassRAMCheck", "BypassStorageCheck" }; | const char* bypass_name[] = { "BypassTPMCheck", "BypassSecureBootCheck", "BypassRAMCheck" }; | ||||||
| RUFUS_DRIVE rufus_drive[MAX_DRIVES] = { 0 }; | RUFUS_DRIVE rufus_drive[MAX_DRIVES] = { 0 }; | ||||||
| 
 | 
 | ||||||
| // TODO: Remember to update copyright year in stdlg's AboutCallback() WM_INITDIALOG,
 | // TODO: Remember to update copyright year in stdlg's AboutCallback() WM_INITDIALOG,
 | ||||||
|  | @ -1293,16 +1293,16 @@ static char* CreateUnattendXml(int arch, int flags) | ||||||
| 		fprintf(fd, "          <Key />\n"); | 		fprintf(fd, "          <Key />\n"); | ||||||
| 		fprintf(fd, "        </ProductKey>\n"); | 		fprintf(fd, "        </ProductKey>\n"); | ||||||
| 		fprintf(fd, "      </UserData>\n"); | 		fprintf(fd, "      </UserData>\n"); | ||||||
| 		fprintf(fd, "      <RunSynchronous>\n"); | 		if (flags & UNATTEND_SECUREBOOT_TPM_MINRAM) { | ||||||
| 		for (i = 0; i < ARRAYSIZE(bypass_name); i++) { | 			fprintf(fd, "      <RunSynchronous>\n"); | ||||||
| 			if (!(flags & (1 << (i/2)))) | 			for (i = 0; i < ARRAYSIZE(bypass_name); i++) { | ||||||
| 				continue; | 				fprintf(fd, "        <RunSynchronousCommand wcm:action=\"add\">\n"); | ||||||
| 			fprintf(fd, "        <RunSynchronousCommand wcm:action=\"add\">\n"); | 				fprintf(fd, "          <Order>%d</Order>\n", order++); | ||||||
| 			fprintf(fd, "          <Order>%d</Order>\n", order++); | 				fprintf(fd, "          <Path>reg add HKLM\\SYSTEM\\Setup\\LabConfig /v %s /t REG_DWORD /d 1 /f</Path>\n", bypass_name[i]); | ||||||
| 			fprintf(fd, "          <Path>reg add HKLM\\SYSTEM\\Setup\\LabConfig /v %s /t REG_DWORD /d 1 /f</Path>\n", bypass_name[i]); | 				fprintf(fd, "        </RunSynchronousCommand>\n"); | ||||||
| 			fprintf(fd, "        </RunSynchronousCommand>\n"); | 			} | ||||||
|  | 			fprintf(fd, "      </RunSynchronous>\n"); | ||||||
| 		} | 		} | ||||||
| 		fprintf(fd, "      </RunSynchronous>\n"); |  | ||||||
| 		fprintf(fd, "    </component>\n"); | 		fprintf(fd, "    </component>\n"); | ||||||
| 		fprintf(fd, "  </settings>\n"); | 		fprintf(fd, "  </settings>\n"); | ||||||
| 	} | 	} | ||||||
|  | @ -1732,9 +1732,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param) | ||||||
| 			uint8_t map[8] = { 0 }, b = 1; | 			uint8_t map[8] = { 0 }, b = 1; | ||||||
| 			StrArrayCreate(&options, 4); | 			StrArrayCreate(&options, 4); | ||||||
| 			StrArrayAdd(&options, lmprintf(MSG_328), TRUE); | 			StrArrayAdd(&options, lmprintf(MSG_328), TRUE); | ||||||
| 			MAP_BIT(UNATTEND_SECUREBOOT_TPM); | 			MAP_BIT(UNATTEND_SECUREBOOT_TPM_MINRAM); | ||||||
| 			StrArrayAdd(&options, lmprintf(MSG_329), TRUE); |  | ||||||
| 			MAP_BIT(UNATTEND_MINRAM_MINDISK); |  | ||||||
| 			if (img_report.win_version.build >= 22500) { | 			if (img_report.win_version.build >= 22500) { | ||||||
| 				StrArrayAdd(&options, lmprintf(MSG_330), TRUE); | 				StrArrayAdd(&options, lmprintf(MSG_330), TRUE); | ||||||
| 				MAP_BIT(UNATTEND_NO_ONLINE_ACCOUNT); | 				MAP_BIT(UNATTEND_NO_ONLINE_ACCOUNT); | ||||||
|  |  | ||||||
|  | @ -499,8 +499,7 @@ enum ArchType { | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| // Windows User Experience (unattend.xml) flags and masks
 | // Windows User Experience (unattend.xml) flags and masks
 | ||||||
| #define UNATTEND_SECUREBOOT_TPM             0x00001 | #define UNATTEND_SECUREBOOT_TPM_MINRAM      0x00001 | ||||||
| #define UNATTEND_MINRAM_MINDISK             0x00002 |  | ||||||
| #define UNATTEND_NO_ONLINE_ACCOUNT          0x00004 | #define UNATTEND_NO_ONLINE_ACCOUNT          0x00004 | ||||||
| #define UNATTEND_NO_DATA_COLLECTION         0x00008 | #define UNATTEND_NO_DATA_COLLECTION         0x00008 | ||||||
| #define UNATTEND_OFFLINE_INTERNAL_DRIVES    0x00010 | #define UNATTEND_OFFLINE_INTERNAL_DRIVES    0x00010 | ||||||
|  | @ -509,13 +508,13 @@ enum ArchType { | ||||||
| #define UNATTEND_DEFAULT_MASK               0x0007F | #define UNATTEND_DEFAULT_MASK               0x0007F | ||||||
| #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 | UNATTEND_MINRAM_MINDISK) | #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_DUPLICATE_USER) | #define UNATTEND_OOBE_SHELL_SETUP_MASK      (UNATTEND_NO_DATA_COLLECTION | UNATTEND_DUPLICATE_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) | ||||||
| #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 | 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) | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * Globals |  * Globals | ||||||
|  |  | ||||||
							
								
								
									
										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.20.1920" | CAPTION "Rufus 3.20.1921" | ||||||
| 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 | ||||||
|  | @ -395,8 +395,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 3,20,1920,0 |  FILEVERSION 3,20,1921,0 | ||||||
|  PRODUCTVERSION 3,20,1920,0 |  PRODUCTVERSION 3,20,1921,0 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -414,13 +414,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.20.1920" |             VALUE "FileVersion", "3.20.1921" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2022 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2022 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.20.exe" |             VALUE "OriginalFilename", "rufus-3.20.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "3.20.1920" |             VALUE "ProductVersion", "3.20.1921" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue