* Detect Syslinux version from isolinux.bin (Closes#272)
* Download required Syslinux v5+ files where needed (Closes#165)
* Also fix an issue where using a Syslinux based ISO didn't switch to ISO mode
* Also alter DownloadFile and ExtractISOFile to return a size
* This addresses the issue reported in #274:
Unable to access kernel32 DLL: [0x0000007F] The specified procedure could not be found.
* Problem was introduced in 897becd290 which was added for #189.
* This ensures that an MBR/UEFI UFD can only ever be booted in EFI mode
* Also fix an issue where the same drive was not properly detected ("U:" vs "U:\")
* Also update ReactOS copyright and fix a warning from Cppcheck in parser.c
* Attempt to remount the drive in case of failure (Closes#270)
* Minor fixes to localization
* Fix errors not being properly reported in DownloadFile()
* Also update ChangeLog.txt for beta
* A new "ReactOS" is now available under "Create a bootable disk" when running in advanced mode.
* Using this option will install the ReactOS bootblocks (MBR & FAT PBR) _only_.
You can then copy freeldr.sys and freeldr.ini to make the drive bootable.
* Also move Rufus MBR installation to ms-sys, and remove mbr.bin resource.
* Also add Rufus MBR detection, remove duplicate records and display MBR type on drive detection
* Also move PBR and MBR analysis calls to drive.c and add a drive.h header
* Also make extraction of embedded loc file more robust
* Vista and later use a different system message font than MS Shell Dlg
* For languages such as Chinese, it makes custom notifications look quite
different from system ones, which is not what we want
* Issue reported by Wayne Ying
* MSG_092 is still being used
* Typo in MSG_245
* Add example in English translation for changing the About->OK button text
* Issues reported by Wayne Ying
* Also update copyright year
* This slowdown was introduced in 897becd290 as the use of
SetThreadUILanguage apparently incurs a massive performance drawback.
* Closes#259
* Also fix a possible issue where the blocking operation message could appear twice
* Also improve the French translation
* Fix language not being applied when switching locale
* Disable controls when scanning is in progress
* Fix Cancel button staying disabled
* Also fix trailing whitespaces and typo in loc file
* Closes#258
* Also fix percentage not being displayed when using slow format
* Also use GetUserDefaultUILanguage() rather than GetUserDefaultLCID()
to get the user preferred locale.
* Closes#189
* Fixes the issue that caused a revert of 0206e2036e
(in c93798b877). The issue was that an active index
was being reused and modified, for ISO9660 images, which could wreck havoc when
writing the data blocks.
* Closes#176 (again)
* Fix missing DOS codepages for Asian languages (reported by Kyle)
* Fix wrong label being reported when an USB HDD is present (reported by NaJiyoun)
* Fix potential issue with error message reporting
* Fix ISO button being truncated on high DPI displays
* Improve French and Korean translations
* Improve launch of updated application
* move Spanish translation to its expected location
* set gitattributes for the loc file
* update license, factorize is_x64(), remove unwanted messages
* Closes#176
* Also fix a crash when displaying an error message (MSG_043 requires a parameter)
* Also display an informative message on interfering security solutions when writing an autorun.inf
* Also revert x64 MSVC target to non-XP so that it can be used for Code Analysis
* Fix an issue where the parsed drive_type was from the wrong drive
and remove the global variable
* Add a size check for the score, as well as a GetDriveSize call
* Also update the French translation to v1.0.3
* Initial scoring to try to differentiate UFDs from HDDs (#219)
* Also improve GetDriveLetter() and add a global for fixed vs removable
* Also fix a bug with reporting of VID:PID with multiple devices
* Also fix a warning in localization
* Fix a leak when freeing the hash table (actual size is htab_size+1)
* Use a better hash algorithm
* Use a larger table with a size already set to a prime
* Remove the need to maintain a new_translation.loc
* Add a sed invocation to remove comments and unwanted stuff
to generate a final embedded.loc
* Note: sed is only invoked for MinGW.
MS compilers still embed the unmodified rufus.loc.
* Also fix a small bug when parsing the version.
* This is meant to be used by translators for testing the UI
* Also fix the positioning and centering of boilerplate on the new version dialog
* French translation improvements
* This is meant to be used with resedit (http://www.resedit.net/) to find out the ID of the UI controls
* Also update names for the language selection menu
* Hashed string was missing the dialog ID. This means that something like:
g IDD_DIALOG1
t IDC_CONTROL "Hello"
g IDD_DIALOG2
t IDC_CONTROL "Goodbye"
would result in "Goodbye" appearing on dialog 1.
* Rufus wasn't overwriting the previous localization command
if an updated one was being provided.
* Add hash functions required for a more efficient lookup
* Also improve some French translations
* Fix missing [b]ase for Chinese and French
* Fix infinite loop when [b]ase is not available for default
* Fix resizing of main dialog forces forcing pos to 0,0
* Add support for LCID provision to option -l
* Fix French translation
* Fix memory leak for loc_filename
* Don't delete an external 'rufus.loc' file if present
* Use IETF normalized tags
* Add quick instructions and sample for translators in new_translation.loc
* Improve About dialog
* Some ISO9660 images (such as Ubuntu) use both Joliet and Rock Ridge,
so we have to make a choice which should be preferred.
* Since Rock Ridge allows a greater filename length compared to Joliet,
we perform our scan pass with Joliet disabled, to find out if RR is
being used and if a filename longer than 64 chars exist. If that is
the case, we'll perform the extraction using RR, else we'll use Joliet.
* Also add Alt-J and Alt-K to toggle Joliet/Rock Ridge
* Closes#178
* Only supported on Vista or later
* Also disable exFAT for XP (requires a KB => not worth it)
* Also improve display of partition data for type 0x07
* Also fix and issue where exFAT/UDF would try to modify PBR
* Also logically move and simplify some of the code
* Closes#157
* As the MSDN doc says, "Failing to properly terminate the (lplpszAcceptTypes)
array with a NULL pointer will cause a crash."
* Also switch to HttpSendRequestA() since we have no use for W there.
* Rufus was downloading c32 files in the last directory browsed, which
meant that the same file may have had to be downloaded more than once
* Closes#154
* Using "highestAvailable" elevation allows standard users to run Rufus
without being prompted for elevations, which prevents them from both
detecting and formatting USB drives
* Since non administrator access is useless, switch to "requireAdministrator"
* Closes#153
* Also fix small issues with saving log and syslinux detection report
* Shift main dialog left in case of overlap
* Fix loss of application focus when displaying the log
* Display Windows version in the log
* Also switch to LZMA for UPX compression
* Closes#148
* Use retries when locking the volume
* Wait for volume availability after partitioning
* Don't halt on errors that can be ignored
* Other small improvements and fixes
* The above should help with addressing #122
* Use IOCTL_DISK_UPDATE_PROPERTIES after partitioning
* Use IOCTL_DISK_DELETE_DRIVE_LAYOUT to invalidate partitions before formatting
* Fix handling of unpartitioned drives
* Increase delay after partitioning
* All of the above should help with the infamous #122
* Also fix display of error messages in ms-sys' file.c as well as stdio.c
* Also add commandline option -f to list fixed drives
* The creation of UFDs with >4GB files should be allowed for NTFS
* Closes#146
* Also switch MessageBoxA() to UTF8 and update some of the message titles
* Use .bss and .sys from Syslinux v5.10
* Advanced options allow you to choose between v4 and v5
* Rufus does not currently copy any ldlinux.c32 to the target
* This is not full Syslinux v5.0 support, but only to prevent the (vesa)menu.c32 message from displaying
* Uses the mandatory inclusion of ldlinux.c32 in Isolinux v5.x for the detection
* Part of a fix for #142
* Raise the size of vesamenu.c32 threshold, a per #140
* Fix a missing backslash when checking for autorun.inf
* Only set boot flag is requested by the user
* Better split of physical vs logical
* Add handling of unmounted volumes by GUID
* Force large FAT32 cheat mode
* Improve user messages and fix some UI issues
* eg. GPT drives with no partitions were not enumerated by default
* fixed disk mode needs to be enabled for this detection to occur
* also fix the unwanted use of a drive letter in GetDrivePartitionData
* also add a check for going over MAX_DRIVES
* also fix improper separator line in FreeDOS menu due to UTF-8 source
* closes#124
* add commandline usage guide
* use -w 150 instead of /W for updated app launch
* fix enabling/disabling of advanced options for UEFI/exFAT
* test for >4GB files for UEFI
* fix warning with freopen
* part of issue #111
* add getopt dependency for MS compilers
* enable the provision of an ISO as parameter
* also fixes shadowed sevenzip_path in vhd.c
* update copyright year
* switch relevant files to UTF-8 (without signature).
It's 2013 for crying out loud: if your file editor or file viewer
can't handle plain UTF-8, go back to the 1980s!
* also rename autogen.sh to bootstrap.sh
* On some systems, the UFD may boot as A:, not C:, in which case
FreeDOS and WinME DOS will fail to be setup properly
* Fix suggested by Klaus Hohenauer
* without the marker, an UFD created as MBR for UEFI will be seen
as MBR for BIOS + UEFI. We want Rufus to be able to select the
settings that were used for the drive creation.
* Also hides #116 under the carpet and fix non RUFUS_DEBUG compilation
* Contains the bulk of the code required to address #11
* Tested with Windows 8 Pro x64 (en-gb_windows_8_x64_dvd_915412.iso)
and Arch Linux (archlinux-2013.01.04-dual.iso) against an UEFI 2.1 BIOS
* Also fixes missing status report beta versions check
* If not, a VS2012 compiled Rufus will crash, as it doesn't allow
working directly on embedded resources
* Closes#118
* Also update ChangeLog for previous patch
* This was issue #90 and commit 261834e31f
* Unfortunately, the ArchLinux workaround breaks Windows XP installation
so ArchLinux ISOs will have to fix their ISO9660 compliance themselves...
* Add dialog for new release notification
* Do not check for updates during format or ISO ops
* Add RTF support for parser and security improvements
* Also improve init and exit of progress dialog
* Fixes only MS-DOS option being proposed when no drive is present
* Fixes only MS-DOS available when an empty card reader is detected first
* Fixes loss of user input label when switching between boot options
NB: ISO label is forced over user input as distros such as Arch Linux
want to see a specific label for the USB
* Closes#95
* Closes#96
* Due to Arch Linux (archlinux-2012.08.04-dual.iso) - See #90
* It is still possible that this patch will have unwanted effect
for ISO-9660 compliant images...
* Use \i386 always through SetupSourceDevice in txtsetup.sif
and prevent deletion of install directory
* Removed setupdd.sy_ patch. Now, none of the files in \i386 are modified
* Better /minint detection for MBR setup
* Also fixed an issue where mbr.bin resources would not be included
* Adds USB masquerading according to disk ID in USB part table
* Adds debug feature
* Closes#74 - was due to flags not being properly saved/restored
* Closes#71
* Fixes reentrant INT_13h for some platforms (eg. IBM t43p reenters
INT_13h to issue an SCSI passthrough, AH=0x50)
* Embed MBR as a resource rather than an ms-sys header
* Adds an MBR to prompt the use about USB or HDD boot
* If USB boot is not selected, an INT13h override is added to
make the second bootable drive think it is first (0x81 -> 0x80)
* USB drive BIOS index is left unmodified
* 32 bit bad blocks check is too limited for large drives
and result in erroneous computations
* 32 bit also means that 2TB would be absolute limit, which
may be too low in case for USB HDD checks
* This fix makes bad blocks check and related calls 64 bit compliant
* also improve on bad block reports
* add readout and display of extended autorun.inf label if available
* use improved isolinux config parsing
* also fix an issue that could leave drive unmounted on forced removal
* also add Alt-F cheatmode to toggle detection of fixed USB disks