diff --git a/src/dev.c b/src/dev.c index 186511d3..cc476882 100644 --- a/src/dev.c +++ b/src/dev.c @@ -778,6 +778,16 @@ BOOL GetDevices(DWORD devnum) break; } } + // Windows has the bad habit of appending "SCSI Disk Device" to the description + // of UAS devices, which of course screws up detection of device that actually + // describe themselves as SCSI-like disks, so replace that with "UAS Device". + if (props.is_UASP) { + const char scsi_disk_device_str[] = "SCSI Disk Device"; + const char uas_device_str[] = "UAS Device"; + char* marker = strstr(buffer, scsi_disk_device_str); + if (marker != NULL && marker[sizeof(scsi_disk_device_str)] == 0) + memcpy(marker, uas_device_str, sizeof(uas_device_str)); + } if (props.is_VHD) { uprintf("Found VHD device '%s'", buffer); } else if ((props.is_CARD) && ((!props.is_USB) || ((props.vid == 0) && (props.pid == 0)))) { @@ -821,8 +831,8 @@ BOOL GetDevices(DWORD devnum) } if (props.speed >= USB_SPEED_MAX) props.speed = 0; - uprintf("Found %s%s%s device '%s' (%s) %s", props.is_UASP?"UAS (":"", - usb_speed_name[props.speed], props.is_UASP?")":"", buffer, str, method_str); + uprintf("Found %s%s%s device '%s' (%s) %s", props.is_UASP ? "UAS (" : "", + usb_speed_name[props.speed], props.is_UASP ? ")" : "", buffer, str, method_str); if (props.lower_speed) uprintf("NOTE: This device is a USB 3.%c device operating at lower speed...", '0' + props.lower_speed - 1); } diff --git a/src/rufus.c b/src/rufus.c index 0942bf71..cbc177b9 100755 --- a/src/rufus.c +++ b/src/rufus.c @@ -3328,7 +3328,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine FILE* fd; BOOL attached_console = FALSE, external_loc_file = FALSE, lgp_set = FALSE, automount = TRUE; BOOL disable_hogger = FALSE, previous_enable_HDDs = FALSE, vc = IsRegistryNode(REGKEY_HKCU, vs_reg); - BOOL alt_pressed = FALSE, alt_command = FALSE, is_WOW64 = FALSE; + BOOL alt_pressed = FALSE, alt_command = FALSE; BYTE *loc_data; DWORD loc_size, u = 0, size = sizeof(u); char tmp_path[MAX_PATH] = "", loc_file[MAX_PATH] = "", ini_path[MAX_PATH] = "", ini_flags[] = "rb"; @@ -3414,13 +3414,16 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine static_strcpy(sysnative_dir, system_dir); // But if the app is 32 bit and the OS is 64 bit, Sysnative must differ from System32 #if (!defined(_WIN64) && !defined(BUILD64)) - IsWow64Process(GetCurrentProcess(), &is_WOW64); - if (is_WOW64) { - if (GetSystemWindowsDirectoryU(sysnative_dir, sizeof(sysnative_dir)) == 0) { - uprintf("Could not get Windows directory: %s", WindowsErrorString()); - static_strcpy(sysnative_dir, "C:\\Windows"); + { + BOOL is_WOW64 = FALSE; + IsWow64Process(GetCurrentProcess(), &is_WOW64); + if (is_WOW64) { + if (GetSystemWindowsDirectoryU(sysnative_dir, sizeof(sysnative_dir)) == 0) { + uprintf("Could not get Windows directory: %s", WindowsErrorString()); + static_strcpy(sysnative_dir, "C:\\Windows"); + } + static_strcat(sysnative_dir, "\\Sysnative"); } - static_strcat(sysnative_dir, "\\Sysnative"); } #endif diff --git a/src/rufus.rc b/src/rufus.rc index 234ce82c..39e3e2eb 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.23.2024" +CAPTION "Rufus 3.23.2025" 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,23,2024,0 - PRODUCTVERSION 3,23,2024,0 + FILEVERSION 3,23,2025,0 + PRODUCTVERSION 3,23,2025,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.23.2024" + VALUE "FileVersion", "3.23.2025" 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.23.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.23.2024" + VALUE "ProductVersion", "3.23.2025" END END BLOCK "VarFileInfo"