diff --git a/src/rufus.rc b/src/rufus.rc index 37049de4..2d8ea154 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 232, 326 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 3.22.1972" +CAPTION "Rufus 3.22.1973" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -392,8 +392,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,22,1972,0 - PRODUCTVERSION 3,22,1972,0 + FILEVERSION 3,22,1973,0 + PRODUCTVERSION 3,22,1973,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -411,13 +411,13 @@ BEGIN VALUE "Comments", "https://rufus.ie" VALUE "CompanyName", "Akeo Consulting" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "3.22.1972" + VALUE "FileVersion", "3.22.1973" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2023 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" VALUE "OriginalFilename", "rufus-3.22.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.22.1972" + VALUE "ProductVersion", "3.22.1973" END END BLOCK "VarFileInfo" diff --git a/src/smart.c b/src/smart.c index a468faeb..1aa2e19a 100644 --- a/src/smart.c +++ b/src/smart.c @@ -515,7 +515,7 @@ int IsHDD(DWORD DriveIndex, uint16_t vid, uint16_t pid, const char* strid) if (usb_debug) { static_strcat(str, "Device score: "); for (i = 0; i < score_list_size; i++) - static_sprintf(&str[strlen(str)], "%+d", score_list[i]); + safe_sprintf(&str[strlen(str)], sizeof(str) - strlen(str), "%+d", score_list[i]); uprintf("%s=%+d → Detected as %s", str, score, (score > 0) ? "HDD" : "UFD"); } diff --git a/src/wue.c b/src/wue.c index ef28c836..7c834d8f 100644 --- a/src/wue.c +++ b/src/wue.c @@ -61,8 +61,10 @@ char* CreateUnattendXml(int arch, int flags) int i, order; const char* xml_arch_names[5] = { "x86", "amd64", "arm", "arm64" }; unattend_xml_flags = flags; - if (arch < ARCH_X86_32 || arch > ARCH_ARM_64 || flags == 0) + if (arch < ARCH_X86_32 || arch > ARCH_ARM_64 || flags == 0) { + uprintf("Note: No Windows User Experience options selected"); return NULL; + } arch--; // coverity[swapped_arguments] if (GetTempFileNameU(temp_dir, APPLICATION_NAME, 0, path) == 0) @@ -71,6 +73,7 @@ char* CreateUnattendXml(int arch, int flags) if (fd == NULL) return NULL; + uprintf("Selected Windows User Experience options:"); fprintf(fd, "\n"); fprintf(fd, "\n"); @@ -91,6 +94,7 @@ char* CreateUnattendXml(int arch, int flags) fprintf(fd, " \n"); fprintf(fd, " \n"); if (flags & UNATTEND_SECUREBOOT_TPM_MINRAM) { + uprintf("• Bypass SB/TPM/RAM"); fprintf(fd, " \n"); for (i = 0; i < ARRAYSIZE(bypass_name); i++) { fprintf(fd, " \n"); @@ -113,6 +117,7 @@ char* CreateUnattendXml(int arch, int flags) fprintf(fd, " \n"); // This part was picked from https://github.com/AveYo/MediaCreationTool.bat/blob/main/bypass11/AutoUnattend.xml if (flags & UNATTEND_NO_ONLINE_ACCOUNT) { + uprintf("• Bypass online account requirement"); fprintf(fd, " \n"); fprintf(fd, " %d\n", order++); fprintf(fd, " reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\OOBE /v BypassNRO /t REG_DWORD /d 1 /f\n"); @@ -134,6 +139,7 @@ char* CreateUnattendXml(int arch, int flags) // It is really super insidous of Microsoft to call this option "ProtectYourPC", when it's really only about // data collection. But of course, if it was called "AllowDataCollection", everyone would turn it off... if (flags & UNATTEND_NO_DATA_COLLECTION) { + uprintf("• Disable data collection"); fprintf(fd, " \n"); fprintf(fd, " 3\n"); fprintf(fd, " \n"); @@ -143,7 +149,7 @@ char* CreateUnattendXml(int arch, int flags) (stricmp(unattend_username, "Guest") == 0)) { uprintf("WARNING: '%s' is not allowed as local account name - Option ignored", unattend_username); } else { - uprintf("Will use '%s' for local account name", unattend_username); + uprintf("• Use '%s' for local account name", unattend_username); // If we create a local account in unattend.xml, then we can get Windows 11 // 22H2 to skip MSA even if the network is connected during installation. fprintf(fd, " \n"); @@ -176,6 +182,7 @@ char* CreateUnattendXml(int arch, int flags) fprintf(fd, " \n"); } if (flags & UNATTEND_OOBE_INTERNATIONAL_MASK) { + uprintf("• Use the same regional options as this user's"); fprintf(fd, " \n", xml_arch_names[arch]); @@ -193,6 +200,7 @@ char* CreateUnattendXml(int arch, int flags) fprintf(fd, " \n"); } if (flags & UNATTEND_DISABLE_BITLOCKER) { + uprintf("• Disable bitlocker"); fprintf(fd, " \n", xml_arch_names[arch]); @@ -205,6 +213,7 @@ char* CreateUnattendXml(int arch, int flags) if (flags & UNATTEND_OFFLINE_SERVICING_MASK) { fprintf(fd, " \n"); if (flags & UNATTEND_OFFLINE_INTERNAL_DRIVES) { + uprintf("• Set internal drives offline"); fprintf(fd, " \n", xml_arch_names[arch]);