diff --git a/src/rufus.c b/src/rufus.c index 5f7806d8..d7502392 100644 --- a/src/rufus.c +++ b/src/rufus.c @@ -1050,6 +1050,7 @@ DWORD WINAPI ISOScanThread(LPVOID param) img_report.is_iso = (BOOLEAN)ExtractISO(image_path, "", TRUE); img_report.is_bootable_img = (BOOLEAN)IsBootableImage(image_path); if (!img_report.is_iso && !img_report.is_bootable_img) { + // Failed to scan image SendMessage(hMainDialog, UM_PROGRESS_EXIT, 0, 0); PrintInfoDebug(0, MSG_203); safe_free(image_path); @@ -1065,15 +1066,24 @@ DWORD WINAPI ISOScanThread(LPVOID param) (img_report.compression_type != BLED_COMPRESSION_NONE) ? "compressed " : "", img_report.is_vhd ? "VHD" : "disk"); selection_default = BT_IMG; } + if (img_report.is_iso) { - // Will override BT_IMG above for ISOHybrid - selection_default = BT_ISO; DisplayISOProps(); + // If we have an ISOHybrid, but without an ISO method we support, disable ISO support altogether + if ((img_report.is_bootable_img) && (!img_report.has_bootmgr) && (!HAS_SYSLINUX(img_report)) && (!IS_WINPE(img_report.winpe)) + && (!IS_GRUB(img_report)) && (!img_report.has_efi) && (!IS_REACTOS(img_report)) && (!img_report.has_kolibrios)) { + uprintf("This ISOHybrid is not compatible with any of the ISO boot methods we support"); + img_report.is_iso = FALSE; + } else { + // Will override BT_IMG above for ISOHybrid + selection_default = BT_ISO; + } } // Only enable AFTER we have determined the image type EnableControls(TRUE); if ( (!img_report.has_bootmgr) && (!HAS_SYSLINUX(img_report)) && (!IS_WINPE(img_report.winpe)) && (!IS_GRUB(img_report)) - && (!img_report.has_efi) && (!IS_REACTOS(img_report) && (!img_report.has_kolibrios) && (!img_report.is_bootable_img)) ) { + && (!img_report.has_efi) && (!IS_REACTOS(img_report)) && (!img_report.has_kolibrios) && (!img_report.is_bootable_img) ) { + // No boot method that we support PrintInfo(0, MSG_081); safe_free(image_path); EnableWindow(hStatusToolbar, FALSE); diff --git a/src/rufus.rc b/src/rufus.rc index 96652cc5..1fdbb348 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 242, 376 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 2.7.849" +CAPTION "Rufus 2.7.850" FONT 8, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Device",IDS_DEVICE_TXT,9,6,200,8 @@ -320,8 +320,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,7,849,0 - PRODUCTVERSION 2,7,849,0 + FILEVERSION 2,7,850,0 + PRODUCTVERSION 2,7,850,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -338,13 +338,13 @@ BEGIN BEGIN VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "2.7.849" + VALUE "FileVersion", "2.7.850" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2016 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "OriginalFilename", "rufus.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "2.7.849" + VALUE "ProductVersion", "2.7.850" END END BLOCK "VarFileInfo"