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

575 commits

Author SHA1 Message Date
Pete Batard
fdfc9ff82d [pki] add RSA-2048 signature validation for all server downloads
* Closes #1172
* Also fix a MinGW warning in badblocks.c
2018-06-29 18:19:05 +01:00
Pete Batard
2d262df8f3 [bb] bad blocks check improvement
* Use a default block size of 128 KB (can speed up read operations)
* Reorganise patterns to suit different types of NAND cells (SLC, MLC and TLC)
* Only run fake drive test on first pass
* Also update rufus-next to 3.2
2018-06-28 16:25:13 +01:00
Pete Batard
9afd1d05dd [misc] silence an unwarranted coverity warning 2018-06-15 16:50:37 +01:00
Pete Batard
3ba7c9eab0 [grub] update grub4dos to latest and update db entry for grub 2.03
* Also improve PowerShell invocation for Controlled Folder Access detection
2018-06-12 16:01:14 +01:00
Pete Batard
e36fdb6736 [core] add detection and warning about Controller Access Folder 2018-06-11 14:02:23 +01:00
Pete Batard
d6e6f46029 [ui] fix notification dialog messages being truncated
* We now auto resize the height of the Notification dialog according to the
  number of lines of the message.
* Also harmonize local RECT variable names according to what we do elsewhere.
2018-06-08 13:02:39 +01:00
Pete Batard
60e21ed910 [ui] fix an issue where 2 dialogs could exist onscreen when switching languages 2018-06-06 23:15:41 +01:00
Pete Batard
fca4e2d59b [ui] fix Windows To Go option unconditional display when switching languages
* Also update version to rufus-next
2018-06-05 15:47:48 +01:00
Pete Batard
e1d864f755 [misc] work around Microsoft's broken SetDllDirectory()
* *THIS* is what you need to do to replace Microsoft's broken SetDllDirectory("")
  implementation and mitigate DLL sideloading from local directories.
* Also fix some comment typos
2018-06-05 13:02:28 +01:00
Pete Batard
98ada80b1b v3.0 (build 1303)
* Fix a 64-bit compilation warning
* Fix appx generation
2018-05-29 11:19:21 +01:00
Pete Batard
d1d6e0f8b4 [ui] improve centering of the toolbar icons
* Microsoft, how I loathe thee!!!
2018-05-22 17:14:31 +01:00
Pete Batard
f48dec11c3 [ui] fix display of RTL text in progress bar
* Another case of if you really want RTL, you have to tell Windows that you don't want it...
* Also fix the URL for Super Grub disk in .loc file
2018-05-21 10:51:12 +01:00
Pete Batard
34ee2f6382 [ui] Move the save and hash tooltips to the toolbar parent
* Also fix a .loc typo
2018-05-17 15:05:09 +01:00
Pete Batard
0d0ad389ce [ui] avoid intempestive log tooltip display and fix partition type preservation
* Because of Windows' poor handling of toolbar buttons' tooltips, an unwanted
  tooltip could be displayed onscreen after closing the log.
* Also fix an issue when Rufus would reset the partition type to GPT after a
  user created an MBR flash drive (e.g. after creating a Windows bootable USB).
2018-05-16 12:56:31 +01:00
Pete Batard
9815a18009 [ui] fix tabbing order for the new UI design
* Accessibility *IS* a thankless job...
2018-05-11 17:35:48 +01:00
Pete Batard
40b0d9e0d2 [ui] minor cosmetic improvements 2018-05-11 09:29:14 +01:00
Pete Batard
db6a5bb749 [loc] fix tooltip justification for RTL languages
* Left alignment was used instead of right
* Also improve device tooltip display
2018-05-10 12:07:21 +01:00
Pete Batard
070e28aa5a [ui] fix display of icons for RTL languages
* Ensure that the 'Save', 'Hash' and 'World' icons are not mirrored for RTL
* Also call DestroyIcon() where required and clean up code
2018-05-10 10:51:31 +01:00
Pete Batard
13e7b0226d [ui] improve log window positioning
* Now seriously what the $%^& is wrong with Microsoft?!?
2018-05-09 15:55:30 +01:00
Pete Batard
cdacc6f342 [ui] fix whole screen refresh and progress bar issues
* Whole screen was being refreshed when calling InvalidateRect() in ResizeMoveCtrl()
* Progress bar bounding rectangle could be erased at 0.0%
* No progress was displayed when writing ISOHybrid images in DD mode
* Also fix an issue when write error would not display the error string
2018-05-08 20:28:23 +01:00
Pete Batard
8453c8c44f [ui] try to reselect the last file system explicitly set
* Also remove an duplicate internal call to IDC_FILE_SYSTEM
* Also fix the hash button mention in the Japanese translation
2018-05-06 22:31:42 +01:00
Pete Batard
303978de64 [ui] fix vertical alignment of status bar messages
* Also fix ugly icon scaling at 125%
2018-05-01 23:11:19 +01:00
Pete Batard
de7dde05c4 [ui] use fluent 2-colour scheme PNG icons
* Also switch save and hash to toolbar buttons
* Also fix centering of icons on toolbars
2018-05-01 18:10:48 +01:00
Pete Batard
935c6fff23 [ui] fix a typo and try to preserve user selected partition type
* partition type and target type were mixed up on pressing 'Start'
2018-04-27 16:31:03 +01:00
Pete Batard
28cfa5a94e [ui] preserve Windows To Go dropdown when switching language
* Also fix incorrect version number from German translation
2018-04-23 17:41:05 +01:00
Pete Batard
7221dee4d1 [core] disable file indexing by default
* File indexing is too much of an annoyance on removable drives anyway
  and this should help with perf and access issues
* Alt-Q cheat mode is now changed to re-enable file indexing
* Also fix a rogue 'else' in the code
2018-04-19 16:02:07 +01:00
Pete Batard
5c57703c70 [ui] add marquee progress bar mode
* Also fix x86_64 warnings
2018-04-19 12:25:11 +01:00
Pete Batard
42c158917c [ui] fix quick format not always being disabled for Large FAT32
* Also remove no longer needed 'progress_in_use' variable
2018-04-17 09:22:27 +02:00
Pete Batard
7fef3c6434 [ui] use our own custom bar with text
* Needed because native Windows produces obnoxious tearing on redrawing.
* Also rename global partition scheme variable back to 'pt'
* Also fix major and minor version numbers in the .rc
2018-04-16 17:05:23 +02:00
Pete Batard
65ac40e750 [ui] preserve Windows To Go setting when changing boot selection 2018-04-13 12:17:09 +02:00
Pete Batard
efe7ccb43c [ui] fix an issue where the advanced toolbars may not display
* Super-strange behaviour, that happens on Windows 7, at low zoom
  factors, only when compiled with MSVC (MinGW is fine) and only
  when the advanced options are set to be displayed on startup...
* Looks like TB_GETIDEALSIZE is screwy - Thanks a lot Microsoft!
2018-03-30 15:52:44 +01:00
Pete Batard
fbe47c1abd [loc] finalize translation changes for 3.0
* Also add truncated ISO test image to our repo
* Also don't trigger portable version detection for ALPHA
2018-03-27 13:23:11 +01:00
Pete Batard
1dbbe69a4b [ui] improve partition scheme default selection
* Also rename our variable to PartitionStyle/ps for clarity
2018-03-26 19:06:55 +01:00
Pete Batard
a44518355f [ui] UI redesign
* Better guide the user through the flow of operations
* Also follow a concept design by Fahad Al-Riyami
* Closes #117
2018-03-22 23:14:21 +00:00
Pete Batard
903ac993f2 [misc] remove no longer needed XP workarounds 2017-11-13 14:30:25 +00:00
Pete Batard
9c8cb59253 v2.18 (build 1213) 2017-11-07 13:24:17 +00:00
Pete Batard
6a45a678b3 [ui] ensure that the same drive is re-selected on device refresh 2017-10-23 17:09:18 +01:00
Pete Batard
8286a0f63a [core] add a cheat mode to reset the current USB device (cycle port)
* Will not work on Vista, Windows 7 or Server 2008
* Also update Windows version info
2017-09-15 13:56:01 +01:00
Pete Batard
44c9cb0b82 [iso] add support for ISO9660 multiextent files
* Closes #1007
2017-09-14 17:36:54 +01:00
Pete Batard
e3fbfb30d3 [pki] add country code validation on signature check
* Also validate against the CN rather than the simple name, and require an exact match
2017-09-11 12:13:47 +01:00
Pete Batard
c22b378f9a [misc] display image and disk size in the log
* Also fix 2 Coverity warnings
* Also remove unneeded LFs in drive.c
2017-09-08 15:38:30 +01:00
Pete Batard
a73e695ba4 [pki] timestamp validation improvements
* Add timestamp processing for nested signature and check for anomalous differences
* Also prevent attack scenarios that may attempt to leverage multiple nested signatures or countersigners
* Simplify code by using CryptDecodeObjectEx/WinVerifyTrustEx and improve timestamp reporting
2017-09-03 13:54:07 +01:00
Pete Batard
36cadcfcca [pki] improve error handling
* FormatMessage() does not handle PKI errors
* Also fix an issue with non-official version detection when the language is not English
2017-08-27 15:07:35 +01:00
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
d620d8848d [loc] fix RTL display of ISO truncation notification
* Also don't use MessageBoxU where unneeded
2017-07-29 17:34:11 +01:00
Pete Batard
bb00e220ac [ui] more info field fixes
* Prevent text selection and try to force a redraw, to ensure the text is centered on update
* Also update the libcdio 'AL' workaround
2017-07-26 11:47:02 +01:00
Pete Batard
0a3c04379b [misc] fix Coverity warnings 2017-07-25 12:19:50 +01:00
Pete Batard
93c2d7851e [ui] fix info box when downloading Syslinux/GRUB files
* Don't duplicate the PrintInfo() from DownloadFile()
* Make sure caret is disabled and displayed text will not appear selected
* Also update MSG_085 and remove unneeded MSG_240
2017-07-24 17:20:17 +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
d5babb5e72 [ui] disable controls prior to format checks
* Also send Unicode strings to the debug output facility, since Windows 10
  *FINALLY* added Unicode processing support there...
2017-07-22 15:17:24 +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
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
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
54ee68f6fc [pki] have GetSignatureName() use the current binary on NULL parameter 2017-06-15 17:25:13 +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
be1bdb7c85 [misc] miscellaneous cleanup
* Also add CreateWindowExU() method
* Also add the 'DisableFileIndexing' to the ini template
2017-04-04 17:26:45 +01:00
Pete Batard
abce1a2aa0 [ui] prefer GPT if the user switched to it before ISO selection
* This should help with the myriad of people not noticing that
  this setting was reset after selecting an ISO.
2017-03-30 12:07:49 +01:00
Pete Batard
21ce17302d [misc] fix coverity and VS analysis warnings 2017-03-08 21:22:24 +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
c72aa7be0a [core] don't clean up partition data before writing a disk image
* This workaround seems to be needed for the upcoming Windows 10 rs2_release (see #883)
* Also some minor fixes
* Closes #883
2017-02-14 12:44:25 +00:00
Pete Batard
4373f0c452 [ui] fix notification sound when closing using X
* Closes #893
2017-01-30 17:52:37 +00:00
Pete Batard
8aeaa4d645 [grub] add fallback to same major version 2017-01-06 16:15:31 +00:00
Pete Batard
d7e977e1f1 [core] enable FAT32 for Windows install when dual UEFI+BIOS is enabled 2017-01-03 16:56:30 +00:00
Pete Batard
5b544c6a4a [misc] update copyright year 2017-01-01 15:30:03 +00:00
Pete Batard
d783573178 [syslinux] enable NTFS selection for Syslinux 6.x or later
* Tested with latest Arch, Debian and Ubuntu
2016-12-15 16:28:00 +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
8128d34e35 [bb] fix rand() initialization
* What do you know, srand() is thread-local...
2016-11-29 11:02:02 +00:00
Pete Batard
cbf01071ab [misc] add an indication in the log for portable mode
* Closes #854
2016-11-14 11:29:54 +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
5d3be6ca51 [misc] add a cheat mode to disable file indexing after format
* New cheat mode is Alt-Q, and gets preserved between sessions
* Only for file systems that support it (NTFS, UDF and ReFS)
2016-08-27 18:06:06 +01:00
Pete Batard
6d3b1c856f [iso] prevent usage of FAT32 for WinPE4 ISOs
* This is part of #801
2016-08-10 18:59:35 +02:00
Pete Batard
ab44cde7ac [misc] don't download BIOS-related files if selected target isn't BIOS
* Part of #799
* Also set rufus-next to 2.11
2016-08-08 13:46:50 +02:00
Pete Batard
56eb635879 [internal] use smart card keys for code signing
* Also fix a Coverity warning
2016-07-15 13:32:22 +01: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
cebfa4cc7a [ui] delay hotplug event when the user has pressed Start
* Closes #793
* Also update issue template
2016-07-08 12:09:46 +01:00
Pete Batard
c0393aec08 [misc] add a few more missing calloc checks
* Also use the relevant macro in msapi_utf8.h
2016-06-08 16:32:31 +01:00
Pete Batard
39d6b90447 [misc] fixes for Clang/C2 compilation support 2016-06-04 17:13:50 +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
bf679271b8 [misc] prevent application launch if running non elevated
* Since, despite what Microsoft states, having 'requireAdministrator' in a manifest STILL isn't
  enough to prevent an app from launching as non elevated for some weird account configurations...
* Closes #757
2016-05-26 21:47:01 +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
81673ade26 [core] clean up the RUFUS_DRIVE_INFO struct
* Remove the duplication of DISK_GEOMETRY to keep only the variables we actually use
* Also set rufus-next to 2.10
2016-05-23 12:19:43 +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
8bd9055d6c [misc] add a retry on commandline hogger deletion
* Trying to delete the hogger could result in access denied on first attempt,
  which would leave a rufus.com behind
* Part of #714
2016-05-02 12:06:38 +01:00
Pete Batard
b6c0dd1b23 [core] fix a typo in exFAT cluster selection for >32GB drives
* Closes #745
2016-05-02 11:11:22 +01:00
Pete Batard
d4c518a4ae [misc] update UEFI:NTFS partition detection 2016-04-28 11:06:32 +02: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
a10a207790 [syslinux] fallback to embedded on version match if download fails
* Could be useful for current tails user (6.03 based, same as ours)
  who want to create an UFD without downloading files.
* Also improve the buffer overflow check in syslinux/libinstaller/syslxmod.c
2016-03-08 17:28:45 +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
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
3a266d92a7 [misc] improve the reporting of ISO props 2016-02-22 12:51:27 +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
9ebdecc124 [ui] fix label not being blanked on device removal
* Part of #694
* Also set rufus-next to 2.8
2016-02-17 11:40:10 +00:00
Pete Batard
f88faf1a4f [usb] enable listing of non USB card readers
* Also fix the VID:PID population of USB card readers
* Also improve enumeration debugging
* Also add an unofficial cheat mode to list non USB *REMOVABLE* drives
* Closes #693
2016-02-16 20:43:30 +00:00
Pete Batard
58755c1bc4 [loc] ensure that the log content is displayed LTR
* Part of #694
* This avoids weird interpretation of content from Windows' RTL logic
* Also fix a WDK compilation error
2016-02-15 23:02:02 +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
8473e9ef56 [misc] disable loading of DLLs from current directory
* This is done to prevent potential DLL sideloading attacks
2016-02-09 12:38:09 +00:00
Pete Batard
0e91b4cf3d [iso] set ISOHybrids to DD mode if we can't support any ISO boot modes
* Closes #689
2016-02-06 23:46:30 +00:00
Pete Batard
e1499c4db0 [misc] fix WDK warnings 2016-02-05 22:24:47 +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
4474642863 [ui] fix shutdown prevention issues
* Also minor UI improvements for High DPI
* Part of issue #676
2016-02-02 16:14:22 +00:00
SeymourApps
96f421f7d2 [ui] add drag and drop support
* This feature is only available for Vista or later
* Closes #316
* Closes #668
2016-01-15 17:20:45 +00:00
Pete Batard
0fe0086c8f [core] improve WriteFileWithRetry() and move it to stdio.c
* Also fix uprintf() generating an error code if the log window
  is not instantiated yet.
2016-01-15 12:26:31 +00:00
Pete Batard
f2a539a48c [core] add and use WriteFileWithRetry() where possible 2016-01-14 17:43:02 +00:00
Pete Batard
a952221a9b [loc] fix Cyrillic not displaying properly in About dialog
* Issue was introduced in 0f56c2d1ef
* Closes #670
2016-01-11 13:06:33 +00:00
SeymourApps
4b3969e475 [misc] fix ISO label being used on non-bootable format
* Closes #490
* Closes #668
2016-01-10 20:07:35 +00:00
Pete Batard
cc65d0494d [misc] update README.md
* Also update copyright year
2016-01-03 22:53:13 +00:00
Pete Batard
fe3241d092 [core] ensure that drive zeroing is reset on user cancel
* Closes #651
2015-12-11 23:17:12 +00:00
Pete Batard
d048cc108f [core] don't check for other options when zeroing the drive 2015-12-10 13:14:27 +00:00
Pete Batard
77636d948e [core] disable FAT32 option for Windows ISOs in BIOS/CSM mode
* This was inadvertently enabled in Rufus 2.4 (commit 49e5490) and
  is causing all kind of issues, such as #641.
2015-12-05 15:40:35 +00:00
Pete Batard
549bf731a6 [ui] fix UEFI/BIOS mode never being disabled once enabled
* Closes #635
* Also fix minor logic issue and trailing whitespaces
2015-11-05 22:54:38 +00:00
Pete Batard
b66401b355 [core] add a cheat mode to zero the USB device
* Alt-Z to zap!
* Also set rufus-next to 2.6
2015-11-04 13:58:19 +00:00
Pete Batard
36bf6c7036 [loc] fix RTL display for the Info box
* Another issue from #621
* Also add ETO_NUMERICSLOCAL flag
2015-10-22 18:25:40 +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
af53d11718 [misc] add a cheat mode to not lock the physical drive during partitioning and formatting
* In some circumstances, this *might* help with the infamous #312 issue, though
  I will still recommend to figure out which application is keeping a lock instead
  of trying to cheat...
2015-10-01 22:22:20 +01:00
Pete Batard
ae06a39d2f v2.4 (build 755)
* Also set global scaling factor before the dialog is initialized and
  remove unneeded scaling initialization.
2015-09-27 20:01:38 +01:00
Pete Batard
daf039ee18 [ui] fix an UI scaling issue with high DPI displays for non English languages
* Closes #601
2015-09-24 23:59:10 +01:00
Pete Batard
a9b681976a [ui] enable some settings and cheat modes to be persisted
* Currently, the user settings that are persisted are:
  - Advanced mode (UI)
  - Timestamps preservation (Alt-T)
  - Proper unit Display (Alt-U)
  - USB debug (Alt.)
  - Fake drives detection (Alt-B)
  - Dual UEFI+BIOS for Windows images (Alt-E)
  - Force Large FAT32 formatting (Alt-L)
  - VMWare Disk Detection (Alt-W)
* Settings that are *NOT* persisted include:
  - UDB HDD listing (too dangerous!)
  - NTFS compression (Alt-N)
  - ISO/Joliet/Rock-Ridge (too confusing if not reset)
  - Disabling of size limits (Alt-S)
* Closes #436
2015-09-17 00:20:22 +01:00
Pete Batard
ff9eae4e6d [vhd] fix broken save to VHD cheat mode
* vhd_save wasn't static, which of course created all kind of issues
  when the VHD save thread tried to use it while it was being freed...
* Closes #591
2015-09-04 14:15:22 +01:00
Pete Batard
4788ee25d2 [misc] fix a WDK warning 2015-09-04 13:53:35 +01:00
Pete Batard
49e54904c2 [core] fix population of label and filesystem for ISOHybrid images
* Also fix a misleading error about incompatible file system for pure EFI images (such as Acronis 2016)
* Closes #588
2015-09-02 23:34:20 +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
87892e24cc [misc] remove unwanted debug statements
* Also clarify ChangeLog
2015-08-29 17:15:39 +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
1106c22acc [ui] fix Alt-I cheat mode
* Also move VHD save into a separate function
* Closes #569
2015-08-14 23:09:45 +01:00
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
b854f70bae [misc] fix MinGW-w64 compilation issues
* Closes #553
2015-08-05 22:36:22 +01:00
Pete Batard
e1f76a5dd1 [core] make check for portable version case insensitive
* Closes #482
2015-08-04 22:31:37 +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
8b880a7d31 [iso] add timestamp preservation
* Enabled through the Alt-T cheat mode
* Closes #389
2015-06-25 19:48:37 +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
Pete Batard
517a14ccb1 [cmp] add pkzip decompression support
* Now you can install a Raspbian image without having to decompress it first ;)
2015-06-20 18:40:55 +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
4c8cd053f0 [misc] fix WDK compilation
* Also ensure that the VHD extension is properly set on proposed dump name
2015-06-08 02:42:02 +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
Pete Batard
0e59b86abc [ui] fix dropdown being populated on ISO selection when no device is present
* Also remove unneeded code in libfat.h
* Also set rufus-next to 2.3
2015-06-06 23:13:39 +01:00
Pete Batard
bf967dc39b v2.2 (build 668)
* Also fix display of some of the buttons on Windows XP
2015-05-31 20:10:26 +01:00
Pete Batard
5e131a7f56 [ui] indicate to the user if UEFI-CSM mode is used
* Also fixes Japanese for UEFI-CSM
* Closes #508
2015-05-24 21:50:50 +01:00
Pete Batard
3edb9d93f7 [misc] don't prevent Windows shutdown if Rufus is running
* Closes #512
2015-05-22 00:01:42 +01:00
Pete Batard
cf391d693d [ui] fix issues with the Info field
* Make the field a tab stop for screen readers
* Ensure the font is consistent
* Clip text so that it doesn't overflow
* Closes #503
2015-05-21 23:51:48 +01:00
Pete Batard
c84075385e [ui] improve application look on high DPI displays
* Fix Quick Format option overlapping boot option dropdown
* Fix vertical spacing between "Create bootable disk" and "Create extended label and icon files"
* Fix vertical spacing of progress bar in non advanced mode
* Align and resize Advanced Options button
* Align and resize Select Image button
* Fix vertical centering of Status text
* Add 64x64px icon so that the About dialog looks better at 200% size
2015-05-15 00:36:42 +01:00
Pete Batard
d593e03c2b [ui] improve accessibility
* Ensure that focus is set back to a button after some operations
* Remove a confusing forced focus on Start after boot type dropdown selection
* Ensure that the Advanced Options and Select Image buttons have a label that
  can be picked up by screen readers such as nvda
* Closes #243
* Closes #499
2015-05-08 23:37:22 +01:00
Quppa
629cfa68ad [ui] fix keyboard accessibility
* The tab and arrow keys can now be used to navigate around the various dialogs.
* This should fix part of #243
* Closes #491
2015-04-19 13:45:20 +01:00
Quppa
3579c770a2 [ui] modernize the language button
* The language button is now a toolbar button with a dropdown arrow.
* Its icon is a globe for Windows XP to Windows 7 and a globe with characters
  on it for Windows 8 and above (same as the icon for the 'Languages' control
  panel).
* Closes #488
2015-04-19 01:52:39 +01:00
Pete Batard
fa5f8702c3 [misc] change default number of bad blocks passes to 1
* Also fix a potential issue if the server adds a charset
  to plain/text data on update check
2015-04-18 23:14:55 +01: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
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
785150dcb2 [core] fix "Requesting Disk Access" issue with Syslinux/NTFS
* See http://reboot.pro/topic/17902-rufus-v130-has-been-released/?p=190958
* Also fix non continuation of format operation after Syslinux has been downloaded
* Also fix missing Syslinux installation for ReactOS
2015-02-26 00:15:13 +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
Pete Batard
821a9df1c8 [cmd] add -g option to disable the commandline hogger (rufus.com)
* This can be useful when launching Rufus from the commandline or a batch file with 'start /wait'
* Also fix a crash when specifying an unknown commandline option
* Also fix the commandline usage help
2015-02-22 01:14:00 +00:00
Pete Batard
c53b80ba29 [ui] fix artifacts when toggling To Go mode 2015-02-16 23:05:27 +00:00
Pete Batard
1dc55596d5 [grub] update Grub4DOS to 0.4.6a
* Also fix Grub4DOS and Grub2.0 versioning issues
* Also ensures that operation gets canceled on missing download
* Also fix German translation and remove trailing whitespaces in .loc file
* Also fix inverted display status for VMWare disk detection
2015-02-16 22:29:23 +00:00
Pete Batard
18b267c80a [ui] add compressed format to DD image listing
* Also add a reference to BusyBox/Bled in additional copyrights
2015-02-13 00:37:21 +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
cf7e52e051 [misc] pocketful of enhancement and fixes - part 4
* Fix disappearance of "Start" button when selecting an ISO with
  no target (reported by Sopor)
* Add commented sample ini file
* Add AC_PROG_AR macro in configure.ac
* Update ChangeLog for BETA
2015-02-10 22:45:48 +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
7b8c51e425 [ui] fix FS selection when switching between To Go and regular install 2015-02-03 00:28:08 +00:00
Pete Batard
d1d16ce1c5 [ui] fix progress display of network downloads
* Also fix a memory leak with the GRUB download buffer
2015-02-02 21:16:53 +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
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