* This will randomly produce a message for users of a translation that
hasn't been updated in a while requesting help and pointing them to:
http://rufus.akeo.ie/translate
* Closes#435
* Also fix a WDK compilation issue with strtoll
* MinGW's gcc 4.9.2 seems to implement a broken "%lld" format 64 bit integer is
followed by more variables and the app executes on XP => use PRI macros
* Also fix partition ID being ignored when using Rufus MBR
* Also fix some global vars shadowing and add other improvements
* And work around Microsoft's moronic decision to PREVENT regular apps
from being able to determine the ACTUAL Windows version (Without the
extra manifest section, Windows 10 Preview 2 is detected as Windows 8.0)
* Application will start in portable mode if its name contains a 'p'
eg. "rufus_portable.exe" or "prufus.exe"
* Closes#264
* Also fix a couple smaller issues
* Add Windows To Go tooltips
* Set UEFI:TOGO partition type to EFI System Partition
* Improve apply-image progress report
* Fix MBR analysis for 4k disks
* Do not select Rufus MBR for Windows To Go
* Ignore partitions we don't care about
* Fix issues with AltMountVolume()
* Try to support 4k drives when setting up MS EFI partition
* Zero the start of the MSR partition to prevent leftover detection
* Fix unwanted use of MBR hidden sectors and redundant CloseHandle()
* Fix addon of BIOS compatibility extra partition
* Print apply image progress to info box
* Add apply support to WIM image handling
* Requires Windows 8 or later (Windows 7+ for WIM API support but Windows 8+ for ISO mount)
* Also fix an issue for Windows 7 x64 EFI mode
* Add a cheat mode for VMWare disk detection
* Add a cheat mode to delete the rufus_files directory
* Don't attempt a grub2 download in case we couldn't read the version
* Don't use a shared message buffer between info and status and also
use a more logical handling of low pri/high pri and timeout
* Also fix unwanted selection of info text on restore from minimize
* Also fix the localization generation and add more messages
* This allows no-sweat UEFI support of Windows installation ISOs
that contain a >4GB file for instance
* This is done through UEFI:TOGO (https://github.com/pbatard/uefi-togo)
and the efifs NTFS driver (http://efi.akeo.ie)
* Closes#414
* This will also be part of our implementation of #126
* And reverted grub2 to the one from b3947fc026 (reverts commit 8b47e95eb5)
since FreeNAS doesn't work with the older one.
Sorry "Super Grub2 Disk" and other older GRUB2 based tools, but you'll need to
update the Grub version you use if you want to be compatible with Rufus.
* Closes#244
* Since we want to display the full version, "Grub4DOS 0.4.5" needs to fit in advanced mode.
Plus, the extra width should help when we drop the separate progress dialog.
* Also ensure that the "Select ISO" button is the one that gets defaulted to when no USB is present.
* Greatly improves the display of non western character sets, such as CJK.
* Note: Since I'm no longer willing to go the extra mile for XP, the way we
handle the non availability of the Segoe font there is by doing the lazy
thing and duplicating all our UI resources, in a similar way as what we do
for RTL, and setting them with the old "MS Shell Dlg".
* Also update some Syslinux V5 refs to Syslinux V6.
* Closes#308
* Having AutoMount disabled when a Fixed drive is being used can
result in a failure during formatting (issue #386).
* Also set explicit FILE_ATTRIBUTE_NORMAL flag an normalize CreateFile usage
* Closes#386
* Linux has a MAJOR quirk in that labels such as "Contains Space"
get converted to "/dev/disk/by-label/Contains\x20Space".
* While Rufus already had smart label Syslinux handling (by replacing
the ones found in isolinux.cfg to their more limited FAT32 version)
there was absolutely NO WAY of guessing this quirk until ISOs
such as Red Hat 7 or CentOS 7 started to use spaces in their ISO
labels and people reported breakage!
* This commit also fixes an issue where psz_fullpath was modified when
it shouldn't, which broke Debian 7.7.0, and most likely any ISO
containing a subdirectory in the directory where a syslinux/isolinux
config file is located.
* Closes#396
* Closes#394
* Closes#388
* Closes#380
* Fix label control being reduced in size when a translation modifies it
* Minute adjustments to make the application look better on Windows 8
* Closes#356
* Fix missing DD-Image option when no drive is present
* Prevent formatting of a drive when using an image residing on same drive
* Fix ignored bootable checkbox when using a DD-Image
* Fix wrong title for error messages (due to too many concurrent loc messages)
* Add logic to mount/remount a DD image if it contains a partition we can handle
* Clear GPT structures before copying DD image in case it doesn't overwrites them
* Add a call to refresh the drive layout after copying a DD image
* Move the unlocking of logical drive further down. This may help with the
infamous "device in use by another process" error.
* With that obscene an amount of pre-releases of 6.03 (seriously, how
many more YEARS pre-release of the same version do you actually need?),
of course the syslinux people have managed to break the last remnants
of compatibility they had between a single major version, so we are now
forced to provide a smorgasbord of pre-release and out of band syslinux
binaries on our server, and make sure we detect and handle incompatible
syslinux versions clientside...
For instance, even after fixing the EFI vs isolinux issue, we find
that tails 1.1 is incompatible with 'pre19'. But it also uses its own
'20131220' extended identifier, instead of 'pre1', its closest
relative. So we have to multiply files and symbolic links to try to
keep everybody happy.
Talk about a MAJOR LETDOWN from the syslinux project...
* Closes#363
* It looks like some disks may report a sector size of zero
* Hopefully, this will address #352 (but some report about the
detected sector size from people observing the crash would be nice)
* The call for the node connection information will fail for device such as Mp3 media players
* In that case, we can still obtain the VID:PID from the Device ID
* Also improve mutex release for commandline hogger