Commit Graph

608 Commits

Author SHA1 Message Date
Pete Batard cd5665881c [core] drive handling improvements
* 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
2013-06-25 02:55:25 +01:00
Josh Soref fe3b1eb6f6 [misc] fix spelling mistakes
* Closes #147
2013-06-22 01:15:36 +01:00
Pete Batard f8c6903d21 [iso] fix support for ISOs with >4GB files
* 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
2013-06-16 22:49:06 +01:00
Pete Batard 163c68d65d [misc] don't list an USB drive if Rufus is running from it
* Suggested by josiasmat
* Closes #143
2013-06-15 22:43:45 +01:00
Pete Batard 1dbaff6897 [syslinux] complete Syslinux v5 support
* Add download and copy of mandatory ldlinux.c32 to target
* With previous patch, this should address all Syslinux v5 related issues
* Closes #142
2013-06-15 17:31:55 +01:00
Pete Batard df5bce297d [syslinux] initial Syslinux v5 support
* 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
2013-06-14 01:55:48 +01:00
Pete Batard 0e1c474ca0 [syslinux] add detection for Syslinux/Isolinux v5.0
* 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
2013-06-13 23:46:52 +01:00
Pete Batard 0b64ef1210 [misc] set rufus-next to 1.3.4, update copyright year
* Copyright year in trhe about dialog had not been updated
2013-06-13 23:19:20 +01:00
Pete Batard b52eb6d81a v1.3.3 (build 250) 2013-06-10 21:57:13 +01:00
Pete Batard bb1e7c0b2f [misc] use UTF-8 for confirm dialog and fix RC 2013-06-08 01:59:34 +01:00
Pete Batard e1ff2a5273 [misc] improve messages and dialogs 2013-06-06 23:40:37 +01:00
Pete Batard d3238d7210 [misc] fix MinGW compilation issues 2013-06-04 00:44:49 +01:00
Pete Batard a17acd1a22 [ui] add fixed disk detection to the advanced options
* Tie unpartitioned drive listing to the fixed disk option
* Also ensure that the log and main dialog windows are the same size
2013-06-03 21:32:22 +01:00
Pete Batard 22808893bc [misc] small enhancements
* Add detection for user cancellation during between atomic format operations
* Clear existing PBR along with MBR/GPT data
* Improve log messages
2013-06-03 19:55:23 +01:00
Pete Batard 4da36fa321 [core] low level drive handling redesign
* 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
2013-04-08 00:10:58 +01:00
Pete Batard 63e6c02f02 [core] allow detection and format of "raw" drives
* 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
2013-02-10 21:56:21 +00:00
Pete Batard a16d35698f [misc] various fixes and improvements
* 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
2013-02-04 23:15:11 +00:00
Pete Batard 932df022c5 [cmdline] initial commandline support
* 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
2013-02-04 01:14:28 +00:00
Pete Batard d2e7e003c3 [efi] check for 7-zip path in HKLM
* Closes #121
* Also update registry handling
* Issues reported by Ronny Kalusniok
2013-02-02 16:57:46 +00:00
Pete Batard 0cc39d0222 [efi] add mbr UEFI marker for partition scheme reselection
* 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
2013-01-27 20:56:57 +00:00
Pete Batard 09b7314f98 [efi] improve partition scheme details and tooltips
* Also fix automated filesystem selection when switching schemes around
2013-01-27 01:40:09 +00:00
Pete Batard 647d9f18ad [misc] refactoring and cleanup - part 2
* add GetResource() function call to handle resource loading and
  revert 98ff7a931a
* add separate BootCheck() call
* better handling of passes tooltip
* remove superfluous backslashes
* fix standalone EFI support
* add GPL v3 license file and update README.txt
2013-01-25 01:56:28 +00:00
Pete Batard bba1772940 [misc] refactoring and cleanup - part 1
* add stdfn.c and move the relevant standard calls there
* move most of GetDriveInfo() to drive.c
* rename IDC_DOS/hDos to IDC_BOOT/hBoot
2013-01-24 21:30:11 +00:00
Pete Batard c8acf1b84a [misc] cleanup and refactoring + fix WIM 7z minor issue
* remove hardcoded path from WimExtractFile_7z
* move some drive related functions to drive.c
* cleanup
2013-01-22 02:40:43 +00:00
Pete Batard 8ff8b41273 [misc] set rufus-next to 1.3.2
* Also fixed a couple Clang, MSVC Analyzer and MinGW64 warnings
2013-01-20 23:34:13 +00:00
Pete Batard 0196de6f4d [efi] add Windows 7 EFI support for XP and Vista
* Requires 7-Zip for WIM extraction as wimgapi.dll is not available
* Also add more comprehensive choice between MBR/GPT and BIOS/UEFI
2013-01-20 22:46:11 +00:00
Pete Batard 84e4aecfcd [efi] add support for Windows 7 UEFI boot
* Add WIM file handling in vhd.c to extract bootx64.efi
* x64 only, since Microsoft does not provide Win7 x86 EFI support
2013-01-19 04:04:54 +00:00
Pete Batard 997c0a0f28 [gpt] add support for GPT partitioning and EFI boot
* 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
2013-01-18 01:39:24 +00:00
Pete Batard 0b53ddd8b3 [ui] indicate the partition scheme created by Rufus
* This is in anticipation of GPT support (#11)
2013-01-09 23:39:31 +00:00
Pete Batard 24b66bf9bb [ui] tell the user if we're using Large FAT32 2013-01-09 23:24:31 +00:00
Pete Batard c4cb9d03c1 [misc] fix VS2012 Code Analysis warnings
* Only for files that aren't part of external dependencies
* Also update copyright date
2013-01-09 21:54:28 +00:00
Pete Batard 13a6b6b751 [iso] add support for VMWare ESXi 5.1
* Closes #98
* Also closes #113
* Also improves on the ISO analysis report
2012-12-15 03:27:14 +00:00
Pete Batard 5a53cb3b9c [updates] add "Check Now" button
* Also reword update policy and adjust timings
* Also fix ISO extraction window title
2012-12-09 20:36:29 +00:00
Pete Batard bdbc9ed9c0 [misc] set rufus-next to 1.3.0 and fixed #103
* Closes #103
2012-12-09 19:37:56 +00:00
Pete Batard 2d53ea10ac [net] Check for application update (part 8)
* Closes #102
* Add beta channel check
* Add version and min platform checks
* Also fixes update settings not reflecting the registry
2012-12-07 00:54:40 +00:00
Pete Batard b315805fa4 [ui] Almost there: Check for application update (part 7)
* Add an abort during download
* Add automated launching of the new version
* Make DownloadFile() more generic with regards to progress indicators
2012-12-06 01:40:44 +00:00
Pete Batard 25e999ded9 [ui] Why, it's the check for application update (part 6)
* Use TortoiseGit inspired notification and download dialog
2012-12-05 01:53:10 +00:00
Pete Batard 4251e78fcd [net] Check for application update (part 5)
* 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
2012-12-04 02:09:41 +00:00
Pete Batard eed0b78ff0 [net] Check for application update (part 4)
* Also improve Windows version check
2012-12-02 03:50:08 +00:00
Pete Batard 8506e47fd3 [misc] fix Clang warnings 2012-11-30 00:18:28 +00:00
Pete Batard f1929d7014 [ui] factorize code and remove unused one
* Merge Notification and Question
* Remove bold and url related workarounds
* also switch some files to UTF-8
2012-11-29 23:14:36 +00:00
Pete Batard 454010c27c [ui] use richedit for about dialog and other improvements
* Add template for updates policy and settings
2012-11-29 02:59:52 +00:00
Pete Batard 8572387647 [net] Check for application update (part 3)
* Also add Alt-R cheat mode to delete app registry keys
* Also update sign script to use Win8 WDK
2012-11-22 01:52:33 +00:00
Pete Batard 05d7b757e6 [net] Check for application update (part 1)
* Switched from WinHTTP to WinInet and removed net.h
* Added support for registry operations
2012-11-08 01:20:48 +00:00
Pete Batard 66b1f8006e [ui] fix bootlist and label issues
* 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
2012-11-04 21:39:25 +00:00
Pete Batard 22800bb8a5 [format] add large FAT32 support
* Based on fat32format from Ridgecrop Consultants Ltd:
  http://www.ridgecrop.demon.co.uk/index.htm?fat32format.htm
* Initial implementation by Tom Ehlert of DriveSnapshot:
  http://www.drivesnapshot.de/en/index.htm
* Closes #101
2012-11-03 17:40:33 +00:00
Pete Batard f77803cc78 [ui] adjust for high DPI
* also remove TaskbarList message on Vista and earlier
2012-06-04 17:35:32 +01:00
Pete Batard 5e448f9523 [ui] ensure Rufus MBR is selected for bootmgr
* Also ensure that the log is always displayed in the background of the progress dialog
2012-05-31 13:05:12 +01:00
Pete Batard fd55a4ef0f [ui] add log window
* Closes #85
2012-05-31 00:32:25 +01:00
Pete Batard 372b89ba3a [misc] address various TODOs and improve UI
* display comprehensive partition information
* improve tooltips
* remove TODOs that are no longer relevant
2012-05-29 17:47:24 +01:00
Pete Batard 032864021c [ui] misc. UI improvements 2012-05-25 17:54:06 +01:00
Pete Batard dbe6af78d9 [ui] provide tooltips for all options
* Closes #84
2012-05-22 12:30:22 +01:00
Pete Batard 4a74c9de38 [ui] improve tooltip handling
* only reference the HANDLE of the control the tooltip is associated with
2012-05-21 11:11:42 +01:00
Pete Batard 3fde2a5472 [ui] add a reference to DebugView on error messages
* Closes #83
* Also fix MinGW warning of 'array subscript out of bounds' due
  to previous commit
2012-05-18 19:33:34 +01:00
Pete Batard 8c47bac10e [ui] add option to create extra hidden partition
* Closes #77
2012-05-18 18:41:28 +01:00
Pete Batard aea60183cc [sl] remove chain.c32
* also fix a WDK build issue
2012-05-18 00:54:39 +01:00
Pete Batard bf2cb0bd88 [ui] add advanced mode
* Adds "bare" Syslinux, Rufus MBR and disabling of fake USB detection options
2012-05-17 22:56:19 +01:00
Pete Batard cbff178717 [ui] fix disabled checkbox with empty card readers
* closes #79
2012-05-16 15:32:06 +01:00
Pete Batard bb76f1f636 [ui] report ISO progress in main/icon progressbar
* Also improve granularity for ISO progress
* Also fixes an issue with badblocks report
2012-03-29 20:27:53 +01:00
Pete Batard 8d2fd913b0 [ui] Display progress on the Windows 7 taskbar icon
* Also updates dialog progress handling
* Closes #72
2012-03-29 18:16:06 +01:00
Pete Batard 51fb4e339f [freedos] Embed FreeDOS always in a single version of rufus.c
* also bump version to rufus-next
* also change build prefix from '#' to 'b' in tags
2012-03-28 19:50:21 +01:00
Pete Batard b397889ab6 v1.1.6 (#161)
* Add cheat mode for MBR selection (Alt-M)
* fix NTFS default for WinPE
* fix Clang warnings
2012-03-27 23:31:58 +01:00
Pete Batard db76e396fd [pe] Improve PE and add Windows 2003 support
* 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
2012-03-27 20:31:15 +01:00
Pete Batard 7874f5ea5d [mbr] added USB selection MBR support in Rufus
* added mbr_rufus.h to ms-sys, and MBR selection to UI
* also simplified int 13 override, fixing potential breakage on concurrent ints
2012-03-21 01:59:03 +00:00
Pete Batard 4bd017ff07 [pe] initial WinPE support (BartPE, XP install disc)
* also switched MBR to Win7 one
* also switched version to rufus-next
2012-03-16 18:30:44 +00:00
Pete Batard 7426573dc1 [iso] add download & replace of obsolete vesamenu.c32
* adds http/https download capabilities
* closes #46
2012-03-11 01:55:25 +00:00
Pete Batard e0f209a128 [misc] Misc. fixes
* Addresses issue #66 (insert media notification with empty card readers)
* Addresses issue #67 (devices without FriendlyName aren't listed)
* Addresses issue #68 (WinPE/AIK images don't boot)
* Also updates version to rufus-next
2012-03-09 01:38:52 +00:00
Pete Batard 7ee5b35551 v1.1.4 (#150)
* closes #49
* closes #60
* closes #64
* should address #59
* set default doe ISOs with bot bootmgr and isolinux to syslinux
* other improvements
2012-03-03 23:12:48 +00:00
Pete Batard 3721b0a570 [misc] improved label and config handling
* 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
2012-03-01 19:19:12 +00:00
Pete Batard e0e974603c v1.1.2 (#143)
* Closes #37
* Closes #38
* Closes #39
* Closes #42 (from previous commits)
* Closes #44 (from previous commits)
2012-02-22 00:24:12 +00:00
Pete Batard 7e7c75169c [ui] enable setting of icon and extended label
* Creates an UTF-16 autoconf.inf with label, as well as autoconf.ico
* also fixed extended labels not displaying - closes #48
* also bumped version to rufus-next
* also factorized iso props analysis
* additional fixes
2012-02-21 19:46:28 +00:00
Pete Batard 8e091fdc04 v1.1.1 (#139)
* Also make SysLinux non-optional
2012-02-17 00:26:30 +00:00
Pete Batard ce499c95d7 [ui] remember last selected device
* Closes #35
* Also update syslinux resources
2012-02-16 23:43:03 +00:00
Pete Batard c79bfa0cb4 [ui] misc. UI improvements
* improved ISO selection
* set default FS according to ISO boot method
* fix exFAT selection
2012-02-16 11:37:59 +00:00
Pete Batard 3cd83869c4 [iso] fixes for Joliet and > 4GB ISO9660 images
* scan would fail on lowercase vs mixed case dir name comparison
  due to Joliet (eg. using Slackware 13.37 ISO)
* extraction would fail for 4 GB ISO9660 ISOs
* also fixes cases issue when checking for isolinux/bootmgr
* also don't restrict NTFS labels
2012-02-15 21:55:41 +00:00
Pete Batard f4ed6e4650 [misc] fix broken DOS, fix invalid labels and UI improvements
* DOS creation was broken due to missing unlock + close
* added label validation to prevent errors
* added ellipsis to status bar
* also bumped version to rufus next and fixed f/non-f
2012-02-15 00:52:40 +00:00
Pete Batard e17de3312f [iso] Set drive label according to the one from ISO
* required for Linux distros such as Arch Linux
* also added udf_get_logical_volume_id to libcdio and other fixes
* also prevents overwrite of ldlinux.sys from ISO
* closes #36
2012-02-14 20:52:39 +00:00
Pete Batard 36be65ed23 [iso] add support for isolinux/syslinux ISO images
* use a modified syslinux that can use isolinux config files
* update syslinux to git version
* remove embedding of chain.c32 for the time being
2012-02-14 01:23:42 +00:00
Pete Batard c1a8135d30 [misc] more pre 1.1.0 improvements 2012-02-07 23:16:15 +00:00
Pete Batard 5d58b83ed8 [iso] cancellation improvements
* remove threaded cancellation, detect blocking and warn instead
* also add hidden shortcut to disable ISO size check
2012-02-07 16:17:14 +00:00
Pete Batard 472db8b592 [iso] bootable NTFS from ISO image [EXPERIMENTAL]
* bootmgr ISOs only
* extraction and ISO support UI improvements
* UTF8 support through CreateFileU
* cancellation on ISO file extraction
* switch to using CreateThread
2012-02-07 02:05:58 +00:00
Pete Batard d1e4ba278b [ntfs] add bootable NTFS support
* NTFS boot records in ms-sys
* also added debug duplication to PrintMessage
* also fixed controls staying enabled during formatting
2012-02-03 18:19:50 +00:00
Pete Batard 4eaae9a7f8 [ui] early ISO/NTFS bootable support (doesn't do anything yet)
* enable ISO for ntfs
* enable ISO selection with FileDialog
* also move UI init to its own function
2012-02-02 13:17:43 +00:00
Pete Batard fd0e6d4b3b [iso] UI ISO support improvements
* add ISO scan and extract progress dialog
* compute sizes and set properties
* allow cancellation
* minor other updates
2012-02-01 14:26:36 +00:00
Pete Batard 5bd86bc743 [iso] initial ISO image support (EXPERIMENTAL)
* from libcdio: http://www.gnu.org/software/libcdio/
2012-01-31 01:40:22 +00:00
Pete Batard b6252a913a [sl] syslinux support (MinGW)
* also fixes memory leak in syslinux.c
* closes #31
2012-01-12 11:05:09 +00:00
Pete Batard acf7d072b0 [sl] syslinux support (EXPERIMENTAL)
* MS platforms only (*BREAKS* MinGW)
2012-01-12 02:52:40 +00:00
Pete Batard 01d1d74f04 [bb] allow selection of nb passes/patterns
* also removed nd/ro tests as unlikely to be used
2012-01-08 23:41:20 +00:00
Pete Batard 3187f71933 v1.0.6 (#109)
* removed TODO (duplicates github feature)
* updated copyrights to 2012
* fixed MS only rufus VS2010 solution file
* fixed a Clang warning in SetLGP
2012-01-03 00:50:00 +00:00
Pete Batard 8db7e1720a [misc] added magic key to delete autorun LGP
* Alt-D can be used to reset autorun policy
* can be useful if app crashed
2011-12-30 17:58:18 +00:00
Pete Batard 75e94c1087 [locale] finalized DOS keyboard locale setup
* added FreeDOS support
* closes #3
2011-12-25 22:43:51 +00:00
Pete Batard 64949c27e1 [locale] set DOS keyboard locale (experimental)
* sets DOS locale using the same algorithm as MS' diskcopy.dll
* uses CONFIG.SYS menu to allow US vs non US selection
* only applies to WinME/MS-DOS for now (no FreeDOS)
* also renamed msdos.c -> dos.c with minor improvements
* also added missing FreeDOS credits in about dialog
2011-12-21 00:53:31 +00:00
Pete Batard ae00aa3f59 [ui] updated title for FreeDOS version
* also pre-release cycle version increment
* also update make release script for new naming scheme
2011-12-18 01:15:32 +00:00
Pete Batard 6def8f8abe [freedos] finalize rufus and rufus_fd breakdown
* closes #21
2011-12-15 17:05:19 +00:00
Pete Batard f72b298c03 [freedos] initial FreeDOS support
* closes #2
2011-12-15 00:46:47 +00:00
Pete Batard 5dcd8f4e8f v1.0.3
* fixed issue #16 - crash during format on XP
* fixed issue #17 - non bootable drives when created in XP
* for more info on the problem and fix, see the issues above
2011-12-13 02:10:27 +00:00
Pete Batard 57de1cbe40 [misc] pre 1.0.3 update
* fixed remaining Clang warnings in badblocks.c and configure.ac
* removed beta and updated version to 1.0.3
2011-12-13 02:06:59 +00:00
Pete Batard d59854ef4f [ui] improve the allowed cluster sizes
* follow what MS/FormatEx actually allow
* closes #15
* also fixed potential empty selection in cluster size dropdown
* also improved Local Group Policy handling
2011-12-12 14:22:40 +00:00
Pete Batard 72485b7568 [misc] disable new drive notification while app is running
* new drive notifications from explorer are annoying
* use Local Group Policy to temporarily disable them
* also fixed missing SetupDiDestroyDeviceInfoList call
2011-12-11 23:38:16 +00:00
Pete Batard e78f07cda6 [ui] ui improvements
* fixed DOS selected on init for exFAT and NTFS in certain cases
* improved progress and status reports
* other minor improvements
2011-12-09 12:57:32 +00:00
Pete Batard 17132c35a4 [ui] progress bar improvements
* progress bar now reflects actual completion of process more closely
* dropped the use of UM_FORMAT_PROGRESS and introduced UpdateProgress() instead
* also reduced the number of rw test patterns from 4 to 2
2011-12-09 01:39:13 +00:00
Pete Batard 4ce6a1f0f1 [ui] add a timer on the status bar
* also ensure that the user sees a report in case too many bad blocks were found
* also changed bad blocks threshold to 256
2011-12-08 12:14:21 +00:00
Pete Batard b006e6a837 [ui] better bad blocks reports
* improved status bar printout (priority messages with timeout)
* report with abort/retry/cancel on bad block detection
* also MinGW warning fixes
2011-12-08 00:22:13 +00:00
Pete Batard 192c3d6cc8 [bb] progress bar and cancellation support 2011-12-06 23:35:55 +00:00
Pete Batard 480986b0ae [format] fixed corruption issue when MBR is garbage
* after a bb check, MBR could become garbage
* when that occurs, Windows might interpret a bad partition table and prevent MBR from being properly written
* force a complete zeroing of the whole MBR before partitioning to fix this
* also added error code for bb
2011-12-06 18:11:38 +00:00
Pete Batard e419cf9015 [core] added badblock checks (ALPHA)
* also fixed some issues with read_sectors/write_sectors and dropped bufsize parameters
2011-12-06 02:23:28 +00:00
Pete Batard 7726071098 [misc] updated acronym
* Resourceful -> Reliable
* also removed standalone makefile (mkf)
2011-12-05 11:36:02 +00:00
Pete Batard 48f9dd47ae [misc] move source files to src/ directory 2011-12-05 10:49:45 +00:00
Renamed from rufus.c (Browse further)