Commit Graph

84 Commits

Author SHA1 Message Date
Pete Batard 5004374277 [misc] update to VS2015 and fix VS code analysis issues
* Also update Bled to latest, as well as build scripts
* Note: Considering that Visual Studio 2015 is both freely and legally
  available for anyone who wants to use it to compile Rufus, starting
  with this commit, I will NOT be supporting any other version of Visual
  Studio but 2015.
2015-08-10 23:30:23 +01:00
Pete Batard 14b8ab6a43 [ui] add a status bar button to initiate checksum computation
* Just click the "hash" sign to get a hash
* Also clean up status bar related functions
2015-06-30 23:22:10 +01:00
Pete Batard 8b880a7d31 [iso] add timestamp preservation
* Enabled through the Alt-T cheat mode
* Closes #389
2015-06-25 19:48:37 +01:00
Pete Batard 7567ddef07 [ui] fix cursor being displayed within Info field
* Also fix an MSVC code analysis warning in iso.c
* Closes #527
2015-06-17 18:32:19 +01:00
Pete Batard 94e7e41082 [misc] use BOOLEAN in structs rather than BOOL
* int vs byte
* Also gear up for 2.2 release
2015-05-24 23:06:36 +01:00
Pete Batard 8ab3847694 [syslinux] partially improve support for openSuse based live ISOs
* Using /syslinux.cfg creates issues, so we force the use of /boot/[i386|x86_64]/loader/isolinux.cfg
* IMPORTANT: This does NOT fix openSuse based live ISO support as the openSuse boot scripts are NOT
  designed to handle anything else but an ISO9660 filesystem. Especially, they cannot handle FAT.
* Closes #478
* Also set rufus-next to 2.2
2015-03-30 02:09:52 +01:00
Pete Batard ee5af9f8fc [grub] disable support for ISOs that don't report a proper GRUB version
* Also update localization for supported boot methods
* Closes #467
2015-03-17 01:18:09 +00:00
Pete Batard 000f60c535 [core] improve support for multipart install.wim
* Closes #450
2015-02-26 23:47:20 +00:00
Pete Batard 818fa4da88 [misc] pocketful of enhancement and fixes - part 5
* Check compressed DD images for boot capability
* Add DisableLGP setting
* Silence libcdio errors when scanning non ISO images
* Ensure UI displays "No image selected" when relevant
* Also update Bled to latest
2015-02-11 23:22:18 +00:00
Pete Batard e4e9e87768 [misc] handle multipart install.swm Windows images
* Closes #437
2015-02-09 19:34:41 +00:00
Pete Batard 17872dc1de [core] add INI file/portable support
* 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
2015-01-25 00:58:06 +00:00
Pete Batard f965c5cd23 [misc] fix multiple warnings
* Fix Visual Studio code analysis warnings
* Also rename VS targets to x86_32 and x86_64
2015-01-23 02:26:41 +00:00
Pete Batard 032d4413c8 [togo] Add Windows To Go support - part 2
* Closes #126
* Only supported on Windows 8 or later for now
* Also fix MinGW and WDK compilation issues
2015-01-16 01:53:24 +00:00
Pete Batard 295650a8b4 [togo] Add Windows To Go support - part 1
* 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
2015-01-15 01:45:10 +00:00
Pete Batard 99c24d6c88 [iso] add ISO mounting capabilities for Windows 8 or later 2015-01-14 00:51:41 +00:00
Pete Batard 3444a48fce [ui] display ToGo radio selection according to ISO content
* Also simplify EFI detection and reporting
2015-01-13 02:11:57 +00:00
Pete Batard 2e817ae944 [misc] pocketful of enhancement and fixes - part 1
* 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
2015-01-08 00:22:56 +00:00
Pete Batard a327bb114c [ui] Remove the separate progress dialog
* Closes #125
* Also provide more intuitive info for bad blocks check
* Also update Bled to latest to enable cancelling
2015-01-01 23:39:28 +00:00
Pete Batard e90eaa4abc [grub] add GRUB 2.0 versioning and enable external core.img download
* Closes #419
* Also updated Bled to latest
2014-12-30 19:46:13 +00:00
Pete Batard 2faf36ffb4 [core] add FreeNAS support
* 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
2014-12-16 23:28:07 +00:00
Pete Batard 6b433c7fc0 [iso] fix sanitization of paths during ISO during extraction
* Also add sanitization for Syslinux downloaded content
* Also factorize printout of extracted file
* Closes #397
2014-11-20 23:00:59 +00:00
Pete Batard b3947fc026 [grub] add Grub 2.0 support
* Also moves secondary Grub boot record as a resource
* Also fix a typo in README.txt and update signtool path
* Closes #340
2014-11-17 23:41:46 +00:00
Pete Batard 306191fb85 [grub] add Grub4DOS support
* Also adds some stubs for Grub 2.0
* Also add a note about VS2013 CE in the readme
* Addresses the first part of #340
2014-11-14 23:46:56 +00:00
Pete Batard c6fee8709e v1.4.12 (build 535)
* Also address a memory leak in fix_syslinux()
2014-11-09 19:56:40 +00:00
Pete Batard 55a5eb07e7 [iso] fix handling of label-based ISOs
* 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
2014-11-07 23:57:17 +00:00
Pete Batard 0c9c7a9569 [syslinux] fix dual EFI+BIOS support for tails and other ISOs
* Closes #381
2014-10-29 02:00:46 +00:00
Pete Batard 0fceb38433 [syslinux] fix tails breakage and add support for fine grained versions
* 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
2014-08-06 01:52:36 +01:00
Pete Batard 9df63b3b2a [loc] update translation base to v1.0.12
* Also change UM_ISO_ constants to the more generic UM_PROGRESS_
2014-05-19 23:25:00 +01:00
Pete Batard b6bc17b7f4 [core] add KolibriOS support
* Closes #331
2014-05-15 21:17:12 +01:00
Pete Batard 266599e6fd [misc] fix various Coverity issues
* update DLL load/unload
* fix resources not being freed and potentially unsafe calls
* add extra checks
2014-05-10 22:20:22 +01:00
Pete Batard f78eb4de99 [misc] fix FAT32 cluster boundaries and add cheat mode to force DD
* Closes #310
* Alt-I can now be used to disable ISO support. This is meant to be
  used for dual ISO/DD images so that DD (disk image) mode will be used
* Also issue a message in the log to indicate whether slow or quick format is used
* Also change the cheat mode keys for force update and proper unit to C and U
2014-04-13 16:13:59 +01:00
Pete Batard 94ce19d11f [ui] display size in the dropdown entry
* Also remove the "(Default)" from the FS selected, in the log messages
2014-03-01 00:09:40 +00:00
Pete Batard b83b087b52 [misc] factorize SizeToHumanReadable() and ensure log sizes are in English
* Also use an allocated buffer for DD operations
2014-02-17 23:15:09 +00:00
Pete Batard 1757e6f081 [iso] fix a libcdio memleak for RR symlinks
* Also handle symlinks more gracefully by telling the user that they are ignored
* Also tell the user which extensions will be used on extraction
2014-02-13 21:25:34 +00:00
Pete Batard cd4dd3cc47 [img] add a retry for DD Images
* Also try to ignore autorun.inf issues from idiotic antivirus solutions, when writing ISOs
* Also remove the columns in the English labels (improves high DPI display)
* Also update additional ISO related messages to make them more generic
2014-02-09 23:38:16 +00:00
Pete Batard 89a7a3deb1 [core] add uncompressed DD image support
* Also fix an issue with hotplug due to WM_DEVICECHANGE being filtered out
* Also improve AnalyzeMBR() and prevent failure on WriteMBR
* Also fix a couple issues with ISO and Syslinux handling
* Also remove "smart" uncheck of disabled checkboxes - not worth it
2014-02-09 02:54:07 +00:00
Pete Batard 7d1a3d82cc [syslinux] improve handling of 4.x C32 files
* Download the files from files/syslinux-4.07 on the server
* Save local copy in rufus_files/syslinux-4.07
* Move menu.c32/vesamenu.c32 check to BootCheck()
2014-02-04 20:01:28 +00:00
Pete Batard 2577337dec [misc] right-to-left and version handling improvements
* Improve right-to-left consistency and handling
* Drop 'v' from version indicators
* Also update version to 1.4.4
* Also fix French translation typos
2014-01-24 20:02:52 +00:00
Pete Batard 3c2873bbdc [syslinux] fix missing syslinux.cfg creation
* Issue was introduced with 299506056a
* Also improve StrArray definition
2014-01-22 01:28:25 +00:00
Pete Batard 3ae7ec4af5 [core] detect, report and warn when multiple partitions are in use
* Closes #191
* Also fix various minor warnings
2014-01-21 23:09:30 +00:00
Pete Batard 299506056a [syslinux] fix support for recent Syslinux versions
* 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
2014-01-21 21:59:09 +00:00
Pete Batard e9e27d7034 [core] add ReactOS support
* Use Syslinux v4 and mboot.c32 to chainload setupldr.sys
* Closes #266
2014-01-02 23:21:30 +00:00
Pete Batard 24e73c5e10 [efi] set UEFI mode when a pure EFI ISO is selected
* Closes #168
* Also fix various VS Code Analysis warnings
2013-12-22 20:48:57 +00:00
Pete Batard 56c6b15feb [core] (re)add a retry when writing ISO files
* 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)
2013-12-06 23:31:41 +00:00
Pete Batard c93798b877 [oops] revert write retry as it breaks Syslinux
* This reverts 0206e2036e
* Closes #240
2013-12-05 11:43:49 +00:00
Pete Batard 0206e2036e [core] add a retry when writing ISO files
* 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
2013-11-17 22:24:50 +00:00
Pete Batard 7d2519675c [iso] ignore extra nameless files on some UDF images
* Closes #155
2013-10-30 20:29:55 +00:00
Pete Batard 5354d2f6ca [iso] sanitize invalid FAT & NFTS filenames
* Also fix support for labels containing double quotes
* Closes #135
* Closes #193
2013-10-27 00:05:54 +01:00
Pete Batard df06727416 [loc] add localization support
* This is a merge up to commit bd319269aa of the localization branch
* Also fixes Clang warnings
2013-10-15 23:25:54 +01:00
Pete Batard 3c438db3fd [iso] add smart testing for Rock Ridge over Joliet
* 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
2013-10-14 00:02:32 +01:00