1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2024-08-14 23:57:05 +00:00
Commit graph

343 commits

Author SHA1 Message Date
Pete Batard
c82842ce2a [core] add Super Floppy Disk support 2017-08-12 15:12:00 +01:00
Pete Batard
90dc847e24 [misc] add static_strcat & static_strcpy and use static_ calls wherever possible
* Also set Rufus next to 2.17 and fix a warning
2017-08-10 19:43:52 +01:00
Pete Batard
5d371088cb [iso] add EFI boot support from 'efi.img' FAT images
* Required to support Debian Live 9.1 in ISO mode
* Note that this only works if the efi.img boot files do not require
  additional content besides the one extracted from the ISO.
2017-08-09 16:27:11 +01:00
Pete Batard
7ef65b551a [misc] yay, more XP fixes...
* Since I half expect 2.16 to be the last version of Rufus to support Windows XP
2017-07-24 16:29:09 +01:00
Pete Batard
369a392af0 [process] improve the search for conflicting processes check
* Add a WaitForSingleObjectWithMessages() call so that we can process Windows messages
  while waiting on events (prevents lockup while issuing log messages)
* Limit the total duration of CheckDriveAccess() to 2 seconds
* Allow for user cancellation
* Also update code to use the Edit_####() predefined macros for Edit controls instead of EM_### messages
2017-07-24 11:36:06 +01:00
Pete Batard
4617ba786d [process] add a timeout for the process search
* The process search appears to be blocking on some platform, and we
  also don't want users to have to wait too long on format startup
* Also update the update check for Windows XP SSL errors
2017-07-20 17:43:38 +01:00
Pete Batard
77e40d1373 [syslinux] remove unwanted 'isolinux.tmp' on error
* Also use a global 'temp_dir' variable and fix a small issue with Swedish translation
2017-07-18 12:57:22 +01:00
Pete Batard
f01043feda [misc] fix minor MinGW warnings
* Also update localization to version 1.0.22
2017-07-17 17:18:18 +01:00
Pete Batard
b4a2c06a2e [ui] ask user if they want proceed when conflicting processes are found
* Rufus now checks for processes with handles opened on the drives/volumes before
  starting the format operation and asks the user if they want to continue.
* This mimics Windows' behaviour when formatting drives, and actually uses the
  same message as the one from shell32.dll.mui.
* Closes #773
2017-07-16 22:42:19 +01:00
Pete Batard
bed889718e [core] attempt to continue if the only conflicting handles we found are for read-only
* Also clean-up the process code and update for rufus-next
2017-07-13 21:53:44 +01:00
Pete Batard
a528bb3d83 [ui] report process(es) that are preventing access on error
* Also revert loc file changes that were introduced in f53b22a077
2017-07-11 17:50:38 +01:00
Pete Batard
c00557900b [misc] drop WDK compilation support 2017-07-10 13:10:23 +01:00
Pete Batard
92d046e663 [ui] produce a sound and flash taskbar icon on success/error
* Closes #973
2017-07-04 14:51:25 +01:00
Pete Batard
150be52479 [iso] notify if the file size on disk is smaller than expected ISO size
* Closes #963
* Also fix a potential issue with Notification()
2017-06-24 17:23:06 +01:00
Pete Batard
ea940114ee [process] enable SE_DEBUG_PRIVILEGE so we can enumerate Windows Services
* Closes #948
* Also set COINIT_DISABLE_OLE1DDE on init as advised by Microsoft
2017-05-02 14:07:41 +01:00
Pete Batard
3b4b742772 [wintogo] add an error popup if we can't select the version 2017-05-02 00:38:40 +01:00
Pete Batard
30137de7cb [iso] improve handling of image size
* Don't use the projected size where the actual image size should be used
* Also fix an issue with the projected size computation
2017-05-01 16:22:34 +01:00
Pete Batard
d1927ac1ef [core] handle search improvements
* Fix memory leaks due to not releasing the heap
* Also speed up lookups by not reopening the same process twice in a row
* Also make the usb_debug variable global so we can use uuprintf everywhere
2017-04-29 17:14:16 +01:00
Pete Batard
d5f6ddb653 [core] list potentially blocking processes on disk access error
* Using functionality from Process Hacker:
  https://github.com/processhacker2/processhacker2/
* Part of the #773 enhancement
* Also fix minor MinGW and WDK warnings
2017-04-27 23:06:42 +01:00
Pete Batard
55b7d5c2da [misc] code cleanup
* Also fix WDK compilation issues
2017-04-25 20:25:50 +01:00
Pete Batard
afec69c428 [ui] improve logging data
* Display the selected locate as well as LGP info in the log
* Also fix some potential Coverity warnings
2017-04-25 14:32:19 +01:00
Pete Batard
aec2736245 [togo] improve Windows To Go support for Windows 10 Creators Update
* Enable the use of GPT on REMOVABLE drives, if the host is Windows 10 CU
* Don't display the message about REMOVABLE boot, if the target is Windows 10 CU
2017-04-19 11:30:24 +01:00
Pete Batard
e2481efcd9 [pki] application security improvements
* Also clean up registry variables and add IsRegistryNode() call
2017-04-12 20:40:43 +01:00
Pete Batard
e33b4589b6 [misc] small improvements for 2.13 release 2017-04-01 17:32:15 +01:00
Pete Batard
edcfd43ed5 [misc] fix multiple VS Code Analysis warnings 2017-03-10 19:07:48 +01:00
Pete Batard
2f81e4f177 [core] avoid the use of FILE_SHARE_WRITE
* Not having FILE_SHARE_WRITE on a disk or volume handle helps
  prevent spurious accesses from the OS or other apps while we
  are repartitioning/refomatting.
2017-02-16 14:13:30 +00:00
Pete Batard
b1ce0cfeeb v2.12 (build 1054) 2017-01-27 20:40:40 +00:00
Pete Batard
f4ebe1b6c2 [togo] prompt user to select a version before formatting 2016-12-15 12:04:19 +00:00
Pete Batard
104b33a7ba [core] remove 'MBR for BIOS' option for pure UEFI images
* Closes #832
* Also refactor image property macros
2016-12-14 23:27:41 +00:00
Pete Batard
7d302d340f [togo] enable selection of Windows version
* Closes #847
* Also set rufus-next to 2.12
2016-12-13 14:26:27 +00:00
Pete Batard
5113be0a39 [iso] add dumping of ISOs from optical media (Alt-O) 2016-12-06 11:47:19 +00:00
Pete Batard
aa4baab194 [core] add a workaround for >1TB HDDs that mistakenly report short writes
* It appears that 1.5TB and 2TB HDDs, accessed trough some Seagate ow WD USB ↔ SATA
  controllers, can report that 0 bytes were written on WriteFile(), even though all
  the data was effectively written. 1TB HDDs, accessed through the same controller,
  do not report this issue. So add a workaround for that.
* Also see #787
2016-09-06 18:31:30 +01:00
Pete Batard
e7578bc12d [syslinux] support ISOs that use boot.bin instead of isolinux.bin
* Such as WebConverger (webc-35.1.iso)
* Also fix non installation of Syslinux if Alt-E (dual UEFI/BIOS) is set
* Also update README and AppVeyor script
2016-08-07 18:41:47 +02:00
Pete Batard
9dd06e93bc [ui] improve Windows format prompt autoclose
* Closes #794
* Also reorder some messages (so that RUFUS_TEST comes first)
* Also update issue template
2016-07-09 16:20:58 +01:00
Pete Batard
d85a4e4307 [efi] ensure that the UEFI:NTFS partition is properly sized 2016-06-16 18:29:15 +02:00
Pete Batard
e76f60a3e8 [misc] use the more univerasal _mm_alloc() instead of _aligned_malloc()
* Also ensure that our buffers are aligned
* Also remove the use of static buffers in ms-sys
2016-06-10 12:42:43 +01:00
Pete Batard
b9da0cf057 [ui] fix missing partition scheme tooltip after selecting an ISO
* Tooltips can only be manipulated from the same thread as the one that created their parent
* Also increase the SetLGP() timeout as this seems to be problematic
* Closes #764
2016-05-30 17:32:49 +01:00
Pete Batard
790aacd49a [core] add SHA-256 validation DB for downloadable content
* Downloadable content will now be indicating, in the log, whether it can be trusted with ✓ (validated) or ✗ (caution)
* Of course this validation only applies for files we know of, i.e. the downloadable content that existed at the time the DB was
  created. So, if Syslinux 8.x gets released tomorrow and we put it on our server, you'll get an ✗ regardless of its integrity.
* Closes #758
2016-05-25 12:20:20 +01:00
Pete Batard
04d6ac0cdd [checksum] add an individual checksum function call
* Part of #758
* Also define checksum types and fix a missing change in smart.c
2016-05-24 13:21:23 +01:00
Pete Batard
f65dbb11c0 [loc] add new message for listing of non-USB removable drives
* Also increase status display timeout for cheat modes
2016-05-09 13:40:54 +01:00
Pete Batard
43d9ac046b [core] don't list non-USB removable devices by default
* Unless specifically requested with Ctrl-Alt-H
* Closes #727
* Also rename usb.c to dev.c, since we may be listing more than USB devices
2016-04-26 14:57:07 +02:00
Pete Batard
e4bb1a6eb8 drop support for WDK's Windows XP targets
* Die, XP, die!!!
* Also fix a Coverity warning in checksum.c
2016-03-24 12:56:26 +00:00
Pete Batard
b82462bb7d [ui] improve progress bar refresh
* Closes #699
2016-03-10 16:13:16 +00:00
Pete Batard
d385a097c0 [misc] make the affinity setup fn more generic and move it to stdfn
* Also align checksum context to 64 bytes (cache line)
2016-03-03 17:24:54 +00:00
Pete Batard
e1c7c9670b [checksum] more load balancing optimizations
* SetChecksumAffinity() now spreads the affinity evenly between cores
* Also increase the read buffer size to help with performance
* At this stage, the only limiting factor regarding performance seems
  to be the speed of the SHA-256 algorithm...
2016-03-01 17:13:37 +00:00
Pete Batard
e6d3653cac [checksum] use multiple threads and double buffering
* Can reduce the duration of checksum computations by about
  1/3rd, if you have quad core CPU or better.
2016-02-29 21:36:28 +00:00
Pete Batard
ade5639c00 [misc] more headers cleanup 2016-02-25 18:21:31 +00:00
Pete Batard
250d46e401 [core] use GetTickCount64() always where possible
* Damn you XP!!!
* Also some more code cleanup
2016-02-24 16:10:54 +00:00
Pete Batard
db0880e534 [syslinux] update Syslinux to better align with its official source
* This means disabling some warnings and removing explicit casts, but so be it...
* Also fix the minfatsize check for Large FAT32
2016-02-23 20:52:06 +00:00
Pete Batard
0e65b1c920 [ui] fix flickering of Status and Info fields
* Closes #634
2016-02-23 11:21:36 +00:00
Pete Batard
c3f47ada06 [misc] add missing.h header
* Also clean up code
2016-02-20 22:52:32 +00:00
Pete Batard
d3c9afa2fd [ui] improve removal of <8MB devices
* Closes #692
2016-02-19 12:10:17 +00:00
Pete Batard
140236acd6 [loc] display a note in the log when a translation is behind
* Also make sure the messages regarding language pack availability
  are visible to the users in the log
* Also fix a typo in the Malay translation
2016-02-15 12:50:06 +00:00
Pete Batard
65bbe984fd [loc] remove nagging about lost translators
* All things considered, this was probably more detrimental than helpful
* Reverts 26af32b522
2016-02-05 13:14:22 +00:00
Pete Batard
f2a539a48c [core] add and use WriteFileWithRetry() where possible 2016-01-14 17:43:02 +00:00
Pete Batard
0f56c2d1ef [ui] use 'Segoe UI Symbol' when available
* This is required to display Thai in RTF fields (#217)
* Also fix the position of the Advanced groupbox
2015-12-30 15:27:52 +01:00
Pete Batard
805d44a5b8 [loc] fix additional right-to-left issues
* Fix mishandling of spaces after period, comma, colon, etc.
* Fix Test/Alpha notifications not displaying properly in RTL mode
* Part of #621
2015-10-22 00:40:59 +01:00
Pete Batard
e1f8b276c8 [loc] fix various RTL issues
* MSG_002 doesn't display in RTL
* Update Policy dialog loses RTL setting after the first paragraph
* Some text displayed in native Windows message boxes is not using RTL
 (even as the Message Box itself will display the rest of the UI elements as RTL)
* Detect if the relevant language pack is installed and use MessageBoxEx to
  display native message box buttons using the selected language.
* All theses issues are part of #621
* Also remove trailing whitespaces
2015-10-18 21:37:58 +01:00
Pete Batard
7b3b96cd9e [pki] add signature check on update downloads - part 2
* Closes #158
2015-10-13 23:29:30 +01:00
Pete Batard
cd911ad738 [pki] add signature check on update downloads - part 1
* This is part of enhancement #158
2015-10-12 22:03:41 +01:00
Pete Batard
e1d0ab73a5 [usb] fix default listing for ADATA USB HDDs
* Also improve debug print statement in USB enumeration
* Closes #610
2015-10-03 23:47:06 +01:00
Pete Batard
c2293b5177 [misc] add SHA-256 checksum computation
* Closes #607
2015-09-30 00:00:55 +01:00
Pete Batard
5024e7f65e [internal] refactor iso_report -> img_report
* Also set rufus-next to 2.4
2015-09-02 23:20:00 +01:00
Pete Batard
cc10821361 [iso] disable To Go mode for Windows 10 ESD ISOs
* Microsoft somehow managed to make their ESD WIMs incompatible with their own APIs
  (yes, EVEN the Windows 10 WIM API), so we must filter them out...
2015-08-27 18:22:27 +01:00
Pete Batard
d1eccbd107 [togo] fix bcdboot errors
* Closes #558
2015-08-23 17:03:35 +01:00
Pete Batard
fb09802c0f [ui] prompt users how they want to write ISOHybrid images
* Closes #543
* Also update localization messages and image analysis report
2015-08-22 15:21:48 +01:00
Pete Batard
c7c83a16ed [ui] use a toolbar button for the checksum
* Also fix tabbing order for controls
* Also provide the name of the image in the checksum report
2015-07-06 22:23:24 +01:00
Pete Batard
485b016f17 [internal] use DialogIndirect to reduce the number of dialogs in the RC
* Since Microsoft forces our hand, we hack away into our compiled RC
  resources and change dialog attributes on the fly so that:
  - we can switch between LTR & RTL
  - change the font for Windows XP
* Note that the base RC font has been changed to "Segoe UI Symbols"
  so that it looks the same in the editor (at least for English) but
  can accommodate the length required for "MS Shell Dlg"
2015-07-04 18:27:15 +01:00
Pete Batard
91e699d38a [ui] use a hidden button on the status bar to generate the hash
* Also add a tooltip for the language bar
* Also reduce the size of the icon in README.md
2015-07-03 17:23:00 +01:00
Pete Batard
3ccae1d2e2 disable MS-DOS creation for Windows 10 or later
* Microsoft removed the diskcopy.dll that contained the MS-DOS floppy image
  Not a big loss, since we have FreeDOS... ;)
* Closes #545
* Also apply a long overdue refactoring for boot and target types
* Also update the README to add an icon
2015-07-01 21:26:41 +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
c95910e268 [misc] add MD5 and SHA-1 computation for current image
* Uses the Alt-M cheat mode for now
* Closes #475
2015-06-29 23:43:49 +01:00
Pete Batard
477674016e [core] make sure the system disk is never listed
* When using VHD or VMDK drives, it was possible for the system disk to be listed.
* Closes #541
2015-06-27 22:12:30 +01:00
Pete Batard
f04167c51c [core] add enumeration debugging
* Alt-. to toggle
* Also add configure option for test releases
2015-06-26 22:49:32 +01:00
Pete Batard
a9ee79bdad [ui] fix accessibility issues for high contrast scheme
* Also make sure we use system colours everywhere, rather than our own
* Closes #535
2015-06-21 17:59:59 +01:00
Arif Budiman
0de5c525a1 [loc] update Indonesian translation 2015-06-13 23:58:56 +01:00
Pete Batard
4f0e8a24a8 [vhd] add cheat mode to save the current device to VHD
* Alt-V = Save to VHD
2015-06-07 22:51:54 +01:00
جلال شفرور
2b212c0c88 [loc] update Arabic translation to latest 2015-05-31 01:14:33 +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
Dinis Medeiros
a6ec806770 [loc] update Portuguese (Portugal) translation
* Closes #210
* Also update LOST_TRANSLATORS
2015-05-04 13:04:24 +01:00
Bik Mung
c1cd6c7762 [loc] update Simplified Chinese translation
* Also remove Simplified Chinese from lost translators
2015-04-04 00:01:45 +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
eee9458984 v2.1 (build 649)
* Reduce log verbosity on format tasks
* Also update "lost translators" list
2015-03-23 22:18:29 +00:00
Pete Batard
7f621b9648 [core] enable the installation of a bare UEFI:NTFS in advanced mode
* Closes #468
* Also prevent drives with UEFI:NTFS from being listed as multi-partitions
* Also add a label for the UEFI:NTFS FAT partition
* Also fix internal chver script
2015-03-18 21:34:28 +00:00
Pete Batard
528add160f [core] fix creation of Windows 10 Preview x32 UFDs
* Rufus was detecting the ISO as needing the Windows 7 EFI workaround
  despite the presence of bootia32.efi
* Closes #462
2015-03-11 21:45:06 +00:00
Pete Batard
0f4067f591 [misc] add notification on forced update check when no update is found
* Closes #455
2015-03-09 02:49:11 +00:00
Pete Batard
000f60c535 [core] improve support for multipart install.wim
* Closes #450
2015-02-26 23:47:20 +00:00
Pete Batard
d22933636c [core] fix precedence of Syslinux over Grub
* Closes #449
* Also fix Coverity builds
2015-02-25 01:45:47 +00:00
Viszokai György
ee1b38e428 [loc] update Hungarian translation
* Also remove Hungarian from M.I.A. list
2015-02-12 16:22:57 +00:00
MaKK
42f9bb28bb [loc] update Spanish translation
* Also remove Spanish from the M.I.A. list
2015-02-12 16:00:35 +00:00
Pete Batard
e4e9e87768 [misc] handle multipart install.swm Windows images
* Closes #437
2015-02-09 19:34:41 +00:00
Pete Batard
9fef4065b4 [ui] fix Info box display
* Text artifacts were being left due to not filling the background
* Also add Danish to the list of languages for which we lost a translator :(
2015-02-09 13:36:03 +00:00
Pete Batard
1c322aba56 [misc] drop the micro from the version
* Closes #439
2015-02-08 22:59:09 +00:00
Pete Batard
a13351b656 [ui] fix multiple UI issues
* Disable Windows To Go support for Windows 7 and earlier
* Fix placement of the advanced button on high DPI displays
* Reposition the log window for Windows 10
* Use a slightly larger and better scaling font for the info field,
  and also fix the vertical text alignment
2015-02-08 00:38:21 +00:00
Pete Batard
26af32b522 [loc] add random request for translator help where needed
* 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
2015-02-03 23:42:27 +00:00
Pete Batard
b830c040d2 [misc] fix XP compatibility
* 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
2015-01-28 23:22:11 +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
fdcb17aa7a [misc] pocketful of enhancement and fixes - part 3
* 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
2015-01-22 22:31:34 +00:00
Pete Batard
4b76cb2555 [togo] Add Windows To Go support - part 4
* 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
2015-01-20 21:54:29 +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
817c026720 [ui] enable ToGo selection through a radio button
* Part of #126
2015-01-12 00:34:09 +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
7599715ae6 [cmp] add decompression support
* Adds .Z, .gz, .lzma, .xz and .bz2 decompression support for DD images
  using the Bled library (https://github.com/pbatard/bled).
* Closes #269
2014-12-29 20:34:41 +00:00
Pete Batard
d81f83c110 [core] enable UEFI NTFS support
* 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
2014-12-20 00:22:00 +00:00
Pete Batard
420db67ce1 [misc] add dual UEFI/BIOS cheat mode for Windows
* Suggested by Jacob Boyce
2014-12-18 16:29:03 +00:00
Pete Batard
ea28080e0a [core] fix write error when using non sector aligned DD images
* Closes #410
2014-12-03 21:28:24 +00:00
Pete Batard
8e8a2bc827 [ui] more UI improvements
* Automatically position the advanced button
* Improve UI display for some locales
* Small Windows 7 improvements
2014-11-28 22:42:22 +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
ca5a9dde5f [misc] upgrade solution files for Visual Studio 2013 Community Edition
* Visual Studio 2013 is now free for Open Source developers, so make
  it our default.
* See http://www.visualstudio.com/news/vs2013-community-vs
2014-11-13 11:04:37 +00:00
Pete Batard
2be12ff3b6 [ui] use "Segoe UI" as default font on Vista and later
* 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
2014-11-12 02:39:12 +00:00
Pete Batard
6ca024ae3b [syslinux] update Syslinux to v6.03
* Also add experimental support for Syslinux/NTFS
* Closes #391
2014-11-11 19:54:05 +00:00
Pete Batard
b2628e05d0 [net] add platform to user agent when checking for updates
* Also update Windows version strings for Windows 10
* Also set rufus-next to 1.4.12
* Closes #393
2014-11-08 00:29:42 +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
91565477ed [core] fix formatting for drives with nonstandard sector size
* Issue #385
* Also bump version to 1.4.11
2014-10-28 19:19:17 +00:00
Pete Batard
79a871be63 [core] improve handling of DD images and formatting task order
* 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.
2014-08-07 01:45:46 +01: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
8da527e16e [misc] minor pre-release fixes
* mention KolibriOS in the license
* duprintf usage improvements
2014-06-03 22:16:40 +01:00
Pete Batard
ae08fe3ac2 [misc] fix an issue with Far Manager
* Closes #161
* Also fix a couple warnings from MinGW and VS
2014-05-27 02:02:50 +01:00
Pete Batard
04bd5116a7 [vhd] add backup to uncompressed VHD image
* Part of #321
* NOTE: This feature will be enabled after the 1.4.8 release
2014-05-23 01:03:01 +01:00
Pete Batard
1e121d2025 [misc] simplify the declaration of extensions for FileDialog()
* Also update the Changelog
2014-05-22 22:46:36 +01:00
Pete Batard
bfa1656488 [core] Add VHD source image support
* As part of #321
* Also improve FileDialog so that it can support multiple extensions
* Also fix a typo in rufus.loc
2014-05-22 01:52:25 +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
c85670f7b7 [core] report detected USB device speed
* Yes, it takes about all of the changes below, to basically add 3 extra characters in the log...
  That's Microsoft Windows for you, baby!
* Closes #314
2014-05-18 00:37:01 +01:00
Pete Batard
b6bc17b7f4 [core] add KolibriOS support
* Closes #331
2014-05-15 21:17:12 +01:00
Pete Batard
7a3fb515ea [misc] more DLL handling improvements
* also set rufus-next to 1.4.8
2014-05-13 00:50:44 +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
Scott
0def2bacef [core] fix VHD detection for Windows 7
* Windows 8 or later uses "Microsoft Virtual Disk" whereas Windows 7
  uses "Msft Virtual Disk SCSI Disk Device", so we just search for a
  "Virtual Disk" substring.
* Closes #306
2014-03-29 18:30:20 +00:00
Pete Batard
027d0d7c3a [core] add ReFS formatting support
* Windows 8.1 or later and fixed disks ONLY
2014-03-29 00:22:54 +00:00
Pete Batard
77d9e919d2 [ui] ensure the default download directory for updates is the current app dir
* Closes #299
* Also fix update save dialog not retrieving the path when compiled for Vista or later
2014-03-17 20:42:10 +00: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
11917179b9 [core] fix drives not being detected when LVM is in use
* Also use IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS to retrieve the disk number
  as IOCTL_STORAGE_GET_DEVICE_NUMBER will fail for LVM
* Closes #290
2014-02-25 19:13:49 +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
8ae158ba22 [loc] add support for right-to-left languages
* Closes #192
2014-01-24 02:46:06 +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
573ea45640 [core] add support for bare ReactOS boot record installation
* 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
2014-01-05 01:39:41 +00:00