diff --git a/src/db.h b/src/db.h index a26e862d..2f0efc7f 100644 --- a/src/db.h +++ b/src/db.h @@ -50,7 +50,6 @@ static uint8_t sha256db[] = { 0x42, 0x23, 0x03, 0x86, 0x6d, 0xa1, 0xf2, 0xaf, 0x28, 0x25, 0x92, 0x29, 0x17, 0x21, 0xc7, 0x61, 0x23, 0xcf, 0xe9, 0x84, 0x05, 0xb7, 0x60, 0x2a, 0xc7, 0xe3, 0xe9, 0x5b, 0xf3, 0xcb, 0xd4, 0xba, // syslinux-6.00/ldlinux.c32 0x46, 0x48, 0xe8, 0x13, 0xd7, 0x54, 0x20, 0x39, 0x4e, 0xe6, 0x35, 0xd2, 0xa4, 0x78, 0x44, 0xeb, 0xdc, 0xc9, 0x98, 0xd3, 0x45, 0x8f, 0x95, 0xf9, 0x50, 0x80, 0x50, 0x9b, 0x88, 0x80, 0x44, 0x4a, // syslinux-6.03/pre17/ldlinux.sys 0x47, 0x0c, 0x04, 0x6d, 0xe8, 0x53, 0x5d, 0x46, 0x0e, 0x05, 0x63, 0x99, 0xa8, 0x89, 0x28, 0x0b, 0x25, 0x55, 0xf2, 0xb7, 0xbf, 0x89, 0x84, 0x9a, 0x7f, 0x27, 0xa4, 0x32, 0x72, 0xb5, 0x3f, 0x12, // syslinux-6.01/ldlinux.sys - 0x4c, 0x42, 0x56, 0x49, 0xae, 0xea, 0x45, 0xce, 0x84, 0x23, 0xc5, 0x14, 0xdf, 0x20, 0xf6, 0x86, 0x43, 0xeb, 0xcb, 0x42, 0xec, 0xa3, 0xd2, 0x9b, 0x70, 0x3a, 0x7c, 0xab, 0x1f, 0xe6, 0xc7, 0xd4, // grub4dos-0.4.6a/grldr 0x4d, 0xee, 0xc3, 0x47, 0xb0, 0xa3, 0x18, 0x46, 0x09, 0x42, 0xb2, 0xeb, 0x3e, 0xd1, 0x75, 0xcf, 0x3f, 0x8c, 0x3e, 0x8c, 0xe4, 0x3b, 0x14, 0xfc, 0x8e, 0x8f, 0x8c, 0x51, 0xcb, 0xa5, 0x5a, 0xdb, // syslinux-5.02/ldlinux.c32 0x4e, 0xfb, 0x8f, 0xde, 0xb9, 0xe1, 0xe2, 0xa2, 0xc3, 0xf0, 0x11, 0xca, 0x77, 0x3b, 0x95, 0xf4, 0xb9, 0x7f, 0xbc, 0x7f, 0x3d, 0x40, 0x4d, 0x7c, 0x60, 0xf3, 0x4a, 0x61, 0x43, 0x44, 0x7e, 0x7f, // syslinux-5.01/ldlinux.c32 0x50, 0xca, 0xe9, 0x94, 0x79, 0x68, 0xdf, 0xa6, 0xd7, 0x11, 0xcd, 0xb0, 0x7d, 0x84, 0xf2, 0x56, 0x78, 0xd6, 0x69, 0xbf, 0xb0, 0x29, 0xaa, 0x56, 0xa1, 0x04, 0x55, 0xb0, 0xcd, 0x06, 0xca, 0xd2, // syslinux-6.03/pre3/ldlinux.sys @@ -69,6 +68,7 @@ static uint8_t sha256db[] = { 0x75, 0x6f, 0x89, 0x25, 0x23, 0xc6, 0x8d, 0x27, 0x32, 0x28, 0x8b, 0x5a, 0xd4, 0x2d, 0x7d, 0xc7, 0x4e, 0xa7, 0xa7, 0x08, 0x9b, 0x04, 0x2b, 0x12, 0x5f, 0x5d, 0x74, 0x7f, 0xf3, 0x20, 0xa0, 0x77, // syslinux-4.07/vesamenu.c32 0x77, 0x9a, 0x5e, 0xbd, 0x69, 0xd3, 0x28, 0x5e, 0xb9, 0xed, 0x4a, 0xc7, 0xc0, 0x4d, 0x2d, 0x15, 0xcb, 0xa1, 0x8a, 0x1f, 0x97, 0xc7, 0xc4, 0xbe, 0x62, 0x48, 0x93, 0xa9, 0xe1, 0xb0, 0x89, 0x2e, // syslinux-6.03/pre9/ldlinux.sys 0x78, 0x64, 0x8e, 0xf0, 0xc5, 0x00, 0x41, 0x75, 0xb9, 0xa8, 0xea, 0x33, 0x30, 0x14, 0xea, 0x02, 0xc9, 0x17, 0xf8, 0x23, 0xe7, 0x7a, 0x3e, 0xc9, 0xac, 0xd9, 0xd2, 0x2b, 0x46, 0x02, 0xf3, 0x6d, // syslinux-6.03/pre13/ldlinux.sys + 0x79, 0x4e, 0x76, 0x5c, 0xcd, 0x4e, 0x9a, 0x98, 0x28, 0x22, 0x3e, 0xdd, 0x9c, 0xd2, 0x7e, 0xaf, 0x52, 0xbf, 0x83, 0x75, 0x98, 0x69, 0x34, 0xb3, 0xa2, 0xb1, 0x2d, 0x47, 0x35, 0x94, 0xfb, 0xef, // grub-2.03/core.img 0x7d, 0xa9, 0xc5, 0x21, 0x76, 0xb8, 0xaf, 0x01, 0x64, 0xea, 0x39, 0x21, 0x22, 0x44, 0xb1, 0x0a, 0xa0, 0xc7, 0x97, 0xe7, 0x65, 0xbb, 0x6b, 0x92, 0x69, 0xb5, 0x8b, 0xc9, 0xe5, 0x0a, 0x9f, 0x18, // syslinux-5.01/ldlinux.bss 0x82, 0x11, 0xfa, 0xe8, 0xaf, 0xf0, 0x23, 0x3f, 0x05, 0xa8, 0xb7, 0x8c, 0x58, 0x15, 0x25, 0xe2, 0x81, 0xac, 0x98, 0x23, 0x54, 0xa8, 0xc4, 0x3b, 0xb4, 0x96, 0x5e, 0x61, 0xdc, 0x98, 0xb4, 0x62, // syslinux-6.03/pre8/ldlinux.bss 0x83, 0x9b, 0xd0, 0x8a, 0xcb, 0x68, 0x47, 0xd6, 0x55, 0x07, 0xf1, 0x4e, 0x7a, 0x55, 0x6e, 0x91, 0xe6, 0x12, 0x9c, 0x47, 0x86, 0x3f, 0x7d, 0x61, 0xe2, 0xce, 0x6d, 0xb7, 0x8d, 0xf3, 0xd2, 0x3f, // syslinux-6.03/pre9/ldlinux.bss @@ -77,9 +77,9 @@ static uint8_t sha256db[] = { 0x8b, 0x93, 0x7e, 0x5e, 0x8b, 0xae, 0x5a, 0xf8, 0xc8, 0x95, 0x63, 0xc0, 0x0e, 0x9c, 0xaf, 0xc6, 0xcd, 0x7c, 0x2c, 0x80, 0x8a, 0xda, 0x7b, 0xf4, 0xad, 0x51, 0x08, 0xda, 0x3e, 0x51, 0xcd, 0x70, // grub-2.00-22/core.img 0x8e, 0xc8, 0x42, 0x06, 0x94, 0x4c, 0xd4, 0x3d, 0xf6, 0xba, 0x83, 0x63, 0xc0, 0x81, 0xe4, 0xa0, 0x82, 0x9e, 0x71, 0x9a, 0xbf, 0x5a, 0x46, 0x6d, 0x7c, 0x81, 0x0c, 0x2f, 0x5b, 0x6d, 0x13, 0x75, // syslinux-6.03/pre5/ldlinux.sys 0x95, 0x8d, 0x10, 0xbb, 0x87, 0x28, 0xcc, 0x1f, 0xf1, 0x6a, 0x12, 0xee, 0x6a, 0x60, 0x62, 0x40, 0xa6, 0xb7, 0x4d, 0xab, 0xa0, 0x2b, 0x8c, 0xb8, 0xed, 0x2a, 0xe8, 0x1c, 0x2f, 0xb2, 0x5b, 0x97, // syslinux-6.00/ldlinux.bss - 0x97, 0x34, 0xdc, 0x05, 0x5e, 0x3d, 0xa6, 0xd0, 0xec, 0xe8, 0x86, 0xa1, 0xde, 0x5a, 0xe2, 0xb4, 0x81, 0xd5, 0xd4, 0xdf, 0x61, 0x52, 0xf7, 0x1e, 0x82, 0x5c, 0x99, 0x44, 0x03, 0x92, 0x92, 0xf0, // grub-2.03/core.img 0x9a, 0x0b, 0xc4, 0x1b, 0xd7, 0x95, 0xed, 0xb0, 0x83, 0x0f, 0x1c, 0xc4, 0x82, 0x4b, 0xfa, 0x9d, 0xe0, 0x9d, 0x68, 0x63, 0x92, 0x09, 0x4f, 0x5a, 0xe7, 0xfb, 0xac, 0xfb, 0xb0, 0x17, 0x9d, 0xa6, // syslinux-6.03/pre1/ldlinux.bss 0x9b, 0xcc, 0x65, 0x92, 0xa7, 0xba, 0x7e, 0x73, 0x38, 0xf4, 0xbb, 0xba, 0x27, 0xc6, 0x30, 0x16, 0xb9, 0x5e, 0xcb, 0x1e, 0xc6, 0x8c, 0x0b, 0xe9, 0xb6, 0x99, 0xb2, 0xea, 0x69, 0xcb, 0xab, 0xb2, // syslinux-5.00/ldlinux.c32 + 0xa6, 0x21, 0x98, 0x43, 0x3e, 0x98, 0x49, 0x38, 0xbc, 0x2f, 0xe4, 0xb9, 0xb6, 0xca, 0xb1, 0x99, 0x86, 0xac, 0x5f, 0xf7, 0x6c, 0x60, 0x19, 0x90, 0x85, 0x6e, 0xb5, 0xa9, 0xe6, 0x27, 0xa9, 0x79, // grub4dos-0.4.6a/grldr 0xa6, 0x82, 0x43, 0xa0, 0xf2, 0xe5, 0x90, 0xb8, 0x14, 0x02, 0xd6, 0xfa, 0x62, 0xd4, 0xfd, 0x30, 0x94, 0x8c, 0x00, 0x3d, 0xa1, 0x2b, 0xfe, 0xeb, 0x69, 0xba, 0x20, 0x34, 0x17, 0x27, 0x09, 0x4c, // syslinux-6.03/pre14/ldlinux.sys 0xa9, 0x4a, 0x99, 0xe6, 0xde, 0x68, 0x81, 0x44, 0x49, 0x2b, 0x38, 0xdb, 0xee, 0x09, 0xde, 0x07, 0x30, 0xe3, 0x2e, 0x1c, 0xfd, 0x0a, 0xb2, 0x54, 0x99, 0x22, 0xff, 0xa8, 0x04, 0x01, 0xad, 0x49, // syslinux-6.03/pre2/ldlinux.bss 0xa9, 0x95, 0x68, 0x57, 0x9c, 0xd2, 0x51, 0xaf, 0xf1, 0x34, 0xfc, 0xaa, 0xa8, 0x09, 0x91, 0x60, 0x5e, 0x8f, 0xb1, 0x19, 0x74, 0x51, 0xf7, 0x51, 0xaa, 0x4d, 0x6c, 0x84, 0xbf, 0x65, 0xf4, 0xe3, // syslinux-6.03/pre15/ldlinux.sys diff --git a/src/rufus.c b/src/rufus.c index 7ea7bcd6..27ca1057 100644 --- a/src/rufus.c +++ b/src/rufus.c @@ -3645,13 +3645,28 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA if (nWindowsVersion >= WINDOWS_10) { // Try to detect if 'Controlled Folder Access' is enabled on Windows 10 or later. See also: // http://www.winhelponline.com/blog/use-controlled-folder-access-windows-10-windows-defender + char cmdline[256]; + static const char* ps_cmd[2] = { + // Return 1 if the 'Get-MpPreference' PowerShell cmdlet exists + "If (Get-Command -Commandtype Function Get-MpPreference -ErrorAction SilentlyContinue) { Exit 1 } Else { Exit 0 }", + // Return 1 if Controlled Folder Access is enabled + "Exit (Get-MpPreference).EnableControlledFolderAccess" }; switch (SCODE_CODE(FormatStatus)) { case ERROR_PARTITION_FAILURE: case ERROR_WRITE_FAULT: - if ((RunCommand("powershell.exe -NonInteractive -NoProfile -Command If (Get-Command -Commandtype Function Get-MpPreference -ErrorAction SilentlyContinue) { exit 1 } Else { exit 0 }", app_dir, TRUE) == 1) && - (RunCommand("powershell.exe -NonInteractive -NoProfile -Command exit (Get-MpPreference).EnableControlledFolderAccess", app_dir, TRUE) == 1)) { - uprintf("\r\nWARNING: 'Controlled Folder Access' appears to be enabled on this system!"); - uprintf("You may need to disable this feature, or add an exception, for Rufus to be able to work...\n"); + // Find if PowerShell is available at its expected location + static_sprintf(tmp, "%s\\WindowsPowerShell\\v1.0\\powershell.exe", system_dir); + if (PathFileExistsU(tmp)) { + for (i = 0; i < ARRAYSIZE(ps_cmd); i++) { + // Run the PowerShell commands + static_sprintf(cmdline, "%s -NonInteractive -NoProfile -Command %s", tmp, ps_cmd[i]); + if (RunCommand(cmdline, app_dir, TRUE) != 1) + break; + } + if (i == ARRAYSIZE(ps_cmd)) { + uprintf("\r\nWARNING: 'Controlled Folder Access' appears to be enabled on this system"); + uprintf("You may need to disable this feature, or add an exception, for Rufus to to work...\n"); + } } break; } diff --git a/src/rufus.rc b/src/rufus.rc index 144c1dd1..1adcc5e7 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.1.1315" +CAPTION "Rufus 3.1.1316" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -389,8 +389,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,1,1315,0 - PRODUCTVERSION 3,1,1315,0 + FILEVERSION 3,1,1316,0 + PRODUCTVERSION 3,1,1316,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -407,13 +407,13 @@ BEGIN BEGIN VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "3.1.1315" + VALUE "FileVersion", "3.1.1316" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "OriginalFilename", "rufus.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.1.1315" + VALUE "ProductVersion", "3.1.1316" END END BLOCK "VarFileInfo"