mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
[wue] enable applicable WUE options for Windows 10
* Also ensure that we print a message on the status bar while applying options.
This commit is contained in:
parent
8790c480dd
commit
2c26f838f4
6 changed files with 42 additions and 32 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-07-22 11:06+0100\n"
|
"POT-Creation-Date: 2022-07-27 11:43+0100\n"
|
||||||
"PO-Revision-Date: 2022-07-22 11:14+0100\n"
|
"PO-Revision-Date: 2022-07-27 11:44+0100\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: fr_FR\n"
|
"Language: fr_FR\n"
|
||||||
|
@ -1797,14 +1797,18 @@ msgid "Applying Windows customization: %s"
|
||||||
msgstr "Application des options de personnalisation de Windows: %s"
|
msgstr "Application des options de personnalisation de Windows: %s"
|
||||||
|
|
||||||
#. • MSG_326
|
#. • MSG_326
|
||||||
|
msgid "Applying user options..."
|
||||||
|
msgstr "Application des options utilisateur..."
|
||||||
|
|
||||||
|
#. • MSG_327
|
||||||
msgid "Windows User Experience"
|
msgid "Windows User Experience"
|
||||||
msgstr "Expérience de l'utilisateur Windows"
|
msgstr "Expérience de l'utilisateur Windows"
|
||||||
|
|
||||||
#. • MSG_327
|
#. • MSG_328
|
||||||
msgid "Customize Windows installation?"
|
msgid "Customize Windows installation?"
|
||||||
msgstr "Personnaliser l'installation de Windows ?"
|
msgstr "Personnaliser l'installation de Windows ?"
|
||||||
|
|
||||||
#. • MSG_328
|
#. • MSG_329
|
||||||
msgid "Remove requirement for 4GB+ RAM, 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 4Go+ de RAM, Secure Boot et TPM 2.0"
|
msgstr "Supprimer la nécessité d'avoir 4Go+ de RAM, Secure Boot et TPM 2.0"
|
||||||
|
|
||||||
|
@ -1825,5 +1829,5 @@ 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"
|
msgstr "Définir un compte local utilisant le même nom que celui de cet utilisateur"
|
||||||
|
|
||||||
#. • MSG_334
|
#. • MSG_334
|
||||||
msgid "Set regional options to the same values as this user's"
|
msgid "Set regional options using the same values as this user's"
|
||||||
msgstr "Définir les options régionales avec les mêmes valeurs que celles de cet utilisateur"
|
msgstr "Définir les options régionales avec les mêmes valeurs que celles de cet utilisateur"
|
||||||
|
|
|
@ -583,14 +583,15 @@ t MSG_321 "The image you have selected is an ISOHybrid, but its creators have no
|
||||||
"copy mode.\nAs a result, DD image writing mode will be enforced."
|
"copy mode.\nAs a result, DD image writing mode will be enforced."
|
||||||
t MSG_322 "Unable to open or read '%s'"
|
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 "Applying user options..."
|
||||||
t MSG_327 "Customize Windows installation?"
|
t MSG_327 "Windows User Experience"
|
||||||
t MSG_328 "Remove requirement for 4GB+ RAM, Secure Boot and TPM 2.0"
|
t MSG_328 "Customize Windows installation?"
|
||||||
|
t MSG_329 "Remove requirement for 4GB+ RAM, Secure Boot and TPM 2.0"
|
||||||
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"
|
||||||
t MSG_333 "Set a local account using the same name as this user's"
|
t MSG_333 "Set a local account using the same name as this user's"
|
||||||
t MSG_334 "Set regional options to the same values as this user's"
|
t MSG_334 "Set regional options using the same values as this user's"
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
l "ar-SA" "Arabic (العربية)" 0x0401, 0x0801, 0x0c01, 0x1001, 0x1401, 0x1801, 0x1c01, 0x2001, 0x2401, 0x2801, 0x2c01, 0x3001, 0x3401, 0x3801, 0x3c01, 0x4001
|
l "ar-SA" "Arabic (العربية)" 0x0401, 0x0801, 0x0c01, 0x1001, 0x1401, 0x1801, 0x1c01, 0x2001, 0x2401, 0x2801, 0x2c01, 0x3001, 0x3401, 0x3801, 0x3c01, 0x4001
|
||||||
|
@ -4305,9 +4306,10 @@ t MSG_320 "Rafraichissement du schéma de partition (%s)..."
|
||||||
t MSG_321 "L’image que vous avez sélectionnée est de type ISOHybrid, mais ses créateurs ne l’ont pas rendue compatible avec le mode ISO (i.e. copie de fichier).\nA cause de cela, seule l’écriture en mode DD est applicable."
|
t MSG_321 "L’image que vous avez sélectionnée est de type ISOHybrid, mais ses créateurs ne l’ont pas rendue compatible avec le mode ISO (i.e. copie de fichier).\nA cause de cela, seule l’écriture en mode DD est applicable."
|
||||||
t MSG_322 "Impossible d'ouvrir ou de lire '%s'"
|
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 "Application des options utilisateur..."
|
||||||
t MSG_327 "Personnaliser l'installation de Windows ?"
|
t MSG_327 "Expérience de l'utilisateur Windows"
|
||||||
t MSG_328 "Supprimer la nécessité d'avoir 4Go+ de RAM, Secure Boot et TPM 2.0"
|
t MSG_328 "Personnaliser l'installation de Windows ?"
|
||||||
|
t MSG_329 "Supprimer la nécessité d'avoir 4Go+ de RAM, Secure Boot et TPM 2.0"
|
||||||
t MSG_330 "Supprimer la nécessité d'utiliser un compte Microsoft en ligne"
|
t MSG_330 "Supprimer la nécessité d'utiliser un compte Microsoft en ligne"
|
||||||
t MSG_331 "Désactiver la collecte de données (Supprime les questions de confidentialité)"
|
t MSG_331 "Désactiver la collecte de données (Supprime les questions de confidentialité)"
|
||||||
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"
|
||||||
|
|
14
src/rufus.c
14
src/rufus.c
|
@ -1505,7 +1505,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ((nWindowsVersion >= WINDOWS_8) && IS_WINDOWS_11(img_report)) {
|
if ((nWindowsVersion >= WINDOWS_8) && IS_WINDOWS_1X(img_report)) {
|
||||||
StrArray options;
|
StrArray options;
|
||||||
int arch = _log2(img_report.has_efi >> 1);
|
int arch = _log2(img_report.has_efi >> 1);
|
||||||
uint8_t map[8] = { 0 }, b = 1;
|
uint8_t map[8] = { 0 }, b = 1;
|
||||||
|
@ -1522,7 +1522,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
|
||||||
MAP_BIT(UNATTEND_DUPLICATE_USER);
|
MAP_BIT(UNATTEND_DUPLICATE_USER);
|
||||||
StrArrayAdd(&options, lmprintf(MSG_334), TRUE);
|
StrArrayAdd(&options, lmprintf(MSG_334), TRUE);
|
||||||
MAP_BIT(UNATTEND_DUPLICATE_LOCALE);
|
MAP_BIT(UNATTEND_DUPLICATE_LOCALE);
|
||||||
i = SelectionDialog(BS_AUTOCHECKBOX, lmprintf(MSG_326), lmprintf(MSG_327),
|
i = SelectionDialog(BS_AUTOCHECKBOX, lmprintf(MSG_327), lmprintf(MSG_328),
|
||||||
options.String, options.Index, remap8(unattend_xml_mask, map, FALSE));
|
options.String, options.Index, remap8(unattend_xml_mask, map, FALSE));
|
||||||
StrArrayDestroy(&options);
|
StrArrayDestroy(&options);
|
||||||
if (i < 0)
|
if (i < 0)
|
||||||
|
@ -1566,13 +1566,15 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
|
||||||
MessageBoxExU(hMainDialog, lmprintf(MSG_100), lmprintf(MSG_099), MB_OK | MB_ICONERROR | MB_IS_RTL, selected_langid);
|
MessageBoxExU(hMainDialog, lmprintf(MSG_100), lmprintf(MSG_099), MB_OK | MB_ICONERROR | MB_IS_RTL, selected_langid);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if ((nWindowsVersion >= WINDOWS_8) && IS_WINDOWS_11(img_report) && (!is_windows_to_go)) {
|
if ((nWindowsVersion >= WINDOWS_8) && IS_WINDOWS_1X(img_report) && (!is_windows_to_go)) {
|
||||||
StrArray options;
|
StrArray options;
|
||||||
int arch = _log2(img_report.has_efi >> 1);
|
int arch = _log2(img_report.has_efi >> 1);
|
||||||
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);
|
if (IS_WINDOWS_11(img_report)) {
|
||||||
MAP_BIT(UNATTEND_SECUREBOOT_TPM_MINRAM);
|
StrArrayAdd(&options, lmprintf(MSG_329), TRUE);
|
||||||
|
MAP_BIT(UNATTEND_SECUREBOOT_TPM_MINRAM);
|
||||||
|
}
|
||||||
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);
|
||||||
|
@ -1583,7 +1585,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param)
|
||||||
MAP_BIT(UNATTEND_DUPLICATE_USER);
|
MAP_BIT(UNATTEND_DUPLICATE_USER);
|
||||||
StrArrayAdd(&options, lmprintf(MSG_334), TRUE);
|
StrArrayAdd(&options, lmprintf(MSG_334), TRUE);
|
||||||
MAP_BIT(UNATTEND_DUPLICATE_LOCALE);
|
MAP_BIT(UNATTEND_DUPLICATE_LOCALE);
|
||||||
i = SelectionDialog(BS_AUTOCHECKBOX, lmprintf(MSG_326), lmprintf(MSG_327),
|
i = SelectionDialog(BS_AUTOCHECKBOX, lmprintf(MSG_327), lmprintf(MSG_328),
|
||||||
options.String, options.Index, remap8(unattend_xml_mask, map, FALSE));
|
options.String, options.Index, remap8(unattend_xml_mask, map, FALSE));
|
||||||
StrArrayDestroy(&options);
|
StrArrayDestroy(&options);
|
||||||
if (i < 0)
|
if (i < 0)
|
||||||
|
|
|
@ -333,6 +333,7 @@ enum checksum_type {
|
||||||
#define HAS_WINPE(r) (((r.winpe & WINPE_I386) == WINPE_I386)||((r.winpe & WINPE_AMD64) == WINPE_AMD64)||((r.winpe & WINPE_MININT) == WINPE_MININT))
|
#define HAS_WINPE(r) (((r.winpe & WINPE_I386) == WINPE_I386)||((r.winpe & WINPE_AMD64) == WINPE_AMD64)||((r.winpe & WINPE_MININT) == WINPE_MININT))
|
||||||
#define HAS_WINDOWS(r) (HAS_BOOTMGR(r) || (r.uses_minint) || HAS_WINPE(r))
|
#define HAS_WINDOWS(r) (HAS_BOOTMGR(r) || (r.uses_minint) || HAS_WINPE(r))
|
||||||
#define HAS_WIN7_EFI(r) ((r.has_efi == 1) && HAS_WININST(r))
|
#define HAS_WIN7_EFI(r) ((r.has_efi == 1) && HAS_WININST(r))
|
||||||
|
#define IS_WINDOWS_1X(r) (r.has_bootmgr_efi && (r.win_version.major >= 10))
|
||||||
#define IS_WINDOWS_11(r) (r.has_bootmgr_efi && (r.win_version.major >= 11))
|
#define IS_WINDOWS_11(r) (r.has_bootmgr_efi && (r.win_version.major >= 11))
|
||||||
#define HAS_EFI_IMG(r) (r.efi_img_path[0] != 0)
|
#define HAS_EFI_IMG(r) (r.efi_img_path[0] != 0)
|
||||||
#define IS_DD_BOOTABLE(r) (r.is_bootable_img > 0)
|
#define IS_DD_BOOTABLE(r) (r.is_bootable_img > 0)
|
||||||
|
|
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.1924"
|
CAPTION "Rufus 3.20.1925"
|
||||||
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,1924,0
|
FILEVERSION 3,20,1925,0
|
||||||
PRODUCTVERSION 3,20,1924,0
|
PRODUCTVERSION 3,20,1925,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.1924"
|
VALUE "FileVersion", "3.20.1925"
|
||||||
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.1924"
|
VALUE "ProductVersion", "3.20.1925"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
19
src/wue.c
19
src/wue.c
|
@ -46,13 +46,13 @@ char* unattend_xml_path = NULL;
|
||||||
|
|
||||||
extern uint32_t wim_nb_files, wim_proc_files, wim_extra_files;
|
extern uint32_t wim_nb_files, wim_proc_files, wim_extra_files;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create an installation answer file containing the sections specified by the flags.
|
/// Create an installation answer file containing the sections specified by the flags.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="arch">The processor architecture of the Windows image being used.</param>
|
/// <param name="arch">The processor architecture of the Windows image being used.</param>
|
||||||
/// <param name="flags">A bitmask representing the sections to enable.
|
/// <param name="flags">A bitmask representing the sections to enable.
|
||||||
/// See "Windows User Experience flags and masks" from rufus.h</param>
|
/// See "Windows User Experience flags and masks" from rufus.h</param>
|
||||||
/// <returns>The path of a newly created answer file on success or NULL on error.</returns>
|
/// <returns>The path of a newly created answer file on success or NULL on error.</returns>
|
||||||
char* CreateUnattendXml(int arch, int flags)
|
char* CreateUnattendXml(int arch, int flags)
|
||||||
{
|
{
|
||||||
static char path[MAX_PATH];
|
static char path[MAX_PATH];
|
||||||
|
@ -499,7 +499,7 @@ out:
|
||||||
/// <returns>TRUE on success, FALSE on error.</returns>
|
/// <returns>TRUE on success, FALSE on error.</returns>
|
||||||
BOOL SetupWinToGo(DWORD DriveIndex, const char* drive_name, BOOL use_esp)
|
BOOL SetupWinToGo(DWORD DriveIndex, const char* drive_name, BOOL use_esp)
|
||||||
{
|
{
|
||||||
char* mounted_iso, * ms_efi = NULL, mounted_image_path[128], cmd[MAX_PATH];
|
char *mounted_iso, *ms_efi = NULL, mounted_image_path[128], cmd[MAX_PATH];
|
||||||
ULONG cluster_size;
|
ULONG cluster_size;
|
||||||
|
|
||||||
uprintf("Windows To Go mode selected");
|
uprintf("Windows To Go mode selected");
|
||||||
|
@ -625,13 +625,14 @@ BOOL ApplyWindowsCustomization(char drive_letter, int flags)
|
||||||
char boot_wim_path[] = "?:\\sources\\boot.wim", key_path[64];
|
char boot_wim_path[] = "?:\\sources\\boot.wim", key_path[64];
|
||||||
char appraiserres_dll_src[] = "?:\\sources\\appraiserres.dll";
|
char appraiserres_dll_src[] = "?:\\sources\\appraiserres.dll";
|
||||||
char appraiserres_dll_dst[] = "?:\\sources\\appraiserres.bak";
|
char appraiserres_dll_dst[] = "?:\\sources\\appraiserres.bak";
|
||||||
char* mount_path = NULL, path[MAX_PATH];
|
char *mount_path = NULL, path[MAX_PATH];
|
||||||
HKEY hKey = NULL, hSubKey = NULL;
|
HKEY hKey = NULL, hSubKey = NULL;
|
||||||
LSTATUS status;
|
LSTATUS status;
|
||||||
DWORD dwDisp, dwVal = 1;
|
DWORD dwDisp, dwVal = 1;
|
||||||
|
|
||||||
assert(unattend_xml_path != NULL);
|
assert(unattend_xml_path != NULL);
|
||||||
uprintf("Applying Windows customization:");
|
uprintf("Applying Windows customization:");
|
||||||
|
PrintStatus(0, MSG_326);
|
||||||
if (flags & UNATTEND_WINDOWS_TO_GO) {
|
if (flags & UNATTEND_WINDOWS_TO_GO) {
|
||||||
static_sprintf(path, "%c:\\Windows\\Panther", drive_letter);
|
static_sprintf(path, "%c:\\Windows\\Panther", drive_letter);
|
||||||
if (!CreateDirectoryA(path, NULL) && GetLastError() != ERROR_ALREADY_EXISTS) {
|
if (!CreateDirectoryA(path, NULL) && GetLastError() != ERROR_ALREADY_EXISTS) {
|
||||||
|
|
Loading…
Reference in a new issue