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

643 commits

Author SHA1 Message Date
Pete Batard
480214bbb6
[ui] add a message for ISOHybrids that don't allow for ISO mode
* Also limit VDS refresh to DD image writing
* Also increase the number of loc messages
2021-03-25 20:49:45 +00:00
Pete Batard
a3df3b0fb3
[ui] move Syslinux/GRUB downloads after the ISO vs DD mode selection 2021-03-25 19:52:33 +00:00
Pete Batard
bb291df342
[appstore] disable update related elements and enable Fido always
* The check for update is not necessary or even desirable for the AppStore
  version, since the Windows Store takes care of updating the app.
2021-02-08 21:02:01 +00:00
Pete Batard
1062dde076
[appstore] add AppStore version detection
* Also make sure we don't include appstore.listing.csv in the app
  and remove unneeded call to GetModuleHandle() in pki.c.
2021-02-07 20:25:21 +00:00
Pete Batard
b2492908be
[net] switch to INetworkListManager::GetConnectivity to detect connectivity
* InternetGetConnectedState() is next to useless and doesn't provide
  coherent outcome on the ARM64 platform I'm testing with. This results
  in Rufus declaring that Internet is unavailable on platforms that do
  have actual Internet connectivity.
* Swicth to using INetworkListManager::GetConnectivity(), which actually
  reports a dependable result.
* Closes #1691
* Also remove the mutex for uprintf(), which may produce thread lockout
  and remove an unwanted double GetSignatureName() call on startup.
2021-02-06 18:58:42 +00:00
Pete Batard
e4372a9f57
[appstore] don't exit on unhandled parameters
* Looks like executables installed from the Windows Store launch with a "/InvokerPRAID"
  added parameter, which of course BREAKS apps that have a defined set of parameters
  and don't except that Microsoft would gingerly add random unwanted stuff there...
* The provision of this extra parameter also appears to be tied to using one of:
  - <TargetDeviceFamily Name="Windows.Universal" ...>
  - <uap:SplashScreen ...>
  - <Application EntryPoint="$targetentrypoint$" ...>
  in the appxmanifest.
* This resulted in our argument processing loop to cause early exit on account that an
  unexpected option was provided.
* Fix this by adding an explicit check for /InvokerPRAID and not exiting on unhandled
  params and removing or altering the 3 appxmanifest options listed above.
* Also set an explicit Windows.FullTrustApplication and remove splash screen.
* Also update _pre-commit.sh to update appstore build number automatically.
* Also remove splash screen images, add store listing CSV and toggle App builds to manual.
* Closes #1690
2021-02-05 17:47:48 +00:00
Pete Batard
fce645543f
[dev] add exception for Realtek card readers
* Also update copyright year to 2021
* Also update version for rufus-next
* Also set Win32 "A" APIs to UTF-8 and enable long paths in manifest
2021-01-06 19:27:31 +00:00
Pete Batard
35b0ab2470
[ui] add cheat mode (Alt-M) to ignore Boot Marker 2020-11-12 17:38:20 +00:00
Pete Batard
77b0d1d366
[ui] display marquee operations on taskbar 2020-11-10 19:46:53 +00:00
Pete Batard
e8c717c394
[ui] always use fake units for proposed labels
* Also improve log messages
2020-11-03 12:49:08 +00:00
Pete Batard
3758f84b17
[vds] improve VDS calls
* Make sure that instantiated objects are released.
* Factorize the instantiating of disk interfaces.
* Allow the provision of an offset to delete a single partition.
* Add a ListVdsVolumes() call (which is pointless since Microsoft *CRIPPLED* its VDS implementation).
2020-10-25 13:09:32 +00:00
Pete Batard
318d5ed16d
[iso] fix "ISO has not been properly scanned" error for some ISOs
* Make sure that if we skip a deep directory during scan, we count at
  least one block of data.
* Also produce a note about deep directory long scan times and improve
  the formatting of some messages.
2020-10-12 19:33:54 +01:00
Pete Batard
e6ac3782fe
[ext2fs] set a minimum ext partition size of 256 MB
* Not gonna bother with computing the effective minimum size so 256 MB will have to do.
* Closes #1576
2020-10-02 13:58:15 +01:00
Pete Batard
68a5a26956
[core] fix FAT32 not proposed for Win ISOs with <4 GB install.wim 2020-09-23 16:06:15 +02:00
Pete Batard
1bb2b3b126
[syslinux] disable MBR install for images using SysLinux 4.x with a >4 GB file
* The presence of a > 4 GB file forces the use of NTFS which is incompatible with
  SysLinux 4.x or earlier. As such, if an image uses SysLinux only, there's no
  point in enabling MBR as SysLinux won't boot.
* Required for ISOs such as securityonion-2.0.1-rc1.iso.
2020-09-15 21:02:08 +01:00
Pete Batard
b3caf638b6
[misc] miscellaneous code cleanup and fixes
* Don't use hDrive handle for longer than necessary
* Move all the popcount() function calls into missing.h
* Ensure that the thread_affinity[] array is properly sized
* Improve timeouts for conflicting process search
2020-09-09 17:00:39 +01:00
Pete Batard
3f0d574657
[misc] improve ToggleEsp() call to take an offset
* Also fix a MinGW warning
2020-08-15 14:58:55 +01:00
Pete Batard
ba406843f4
[core] work around a Windows bug where GetVolumePathNamesForVolumeName() can return the wrong drive letter
* A user is reporting that, on one of their platforms, Rufus is writing to the wrong target during the file-copy
  phase and using their existing Y: local drive instead of the drive associated to the USB, despite the fact
  that Rufus is passing the right volume name to GetVolumePathNamesForVolumeName().

* Here's the PowerShell wmic output, confirming that the volume GUID obtained by Rufus is the right one:

  DriveLetter : Y:
  DeviceId    : \\?\Volume{000349b1-17d0-69f6-c13f-f31162930600}\
  Capacity    : 118540464128
  FileSystem  : NTFS
  Label       : Y-DISK

  DriveLetter : H:
  DeviceId    : \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\
  Capacity    : 15791824896
  FileSystem  : FAT32
  Label       : ADATA16GB

* And here's the Rufus log demonstrating that GetVolumePathNamesForVolumeName() is returning the *WRONG* letter:

  Found volume \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\
  \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\ is already mounted as Y: instead of H: - Will now use this target instead...

* The last line shows, without the shadow of a doubt, that we did feed "\\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\" to
  GetVolumePathNamesForVolumeName() and that this API call was successful (returned a non zero size) but ultimately returned
  the wrong letter (Y: instead of H:)...

* Therefore, Windows is BUGGY and the use of GetVolumePathNamesForVolumeName() must be avoided.
2020-08-13 14:49:34 +01:00
Pete Batard
6f5ea5f88f
[efi] add RISC-V support
* Also fix Coverity warnings
2020-07-29 19:32:32 +01:00
Pete Batard
34b1d8a3ca
[core] enable the direct provision of install.wim/install.esd for Windows To Go
* Also remove the use of 'unattend.xml' to disable the recovery environment (use bcdedit instead)
* Also some code cleanup and refactoring
2020-07-19 22:35:30 +01:00
Pete Batard
4617f91e3b
[misc] introduce hImageOption and ComboBox_GetCurItemData() to simplify code
* Also add retry to ms-sys' write_sectors()
2020-07-17 21:51:15 +01:00
Pete Batard
09d2f2f0ab
[ui] add cheat mode (Alt +/-) to increase/decrease thread priority
* This *may* help improve write speeds if your system is starved for I/O
* Related to #968
2020-07-10 12:00:10 +01:00
Pete Batard
500172a7a3
[core] fix format error when trying to use old BIOS fixes with VHDs
* And other improvements
* Closes #1409
2020-07-03 15:24:37 +01:00
Pete Batard
0dc13e5283
[ui] fix missing labels for accessibility
* Closes #1467
* Also ensure that previous element is set when repositioning a
  control to preserve tabbing order
* Also fix x64 version being able to download x86 BETA
2020-07-02 22:55:01 +01:00
Pete Batard
2d6a73e4f4
[checksum] enable toggling of SHA512 (Alt-H)
* Also fix overflow digest test into message length
* Also switch log font to Consolas
* Also update version to rufus-next
2020-06-25 11:58:56 +01:00
Pete Batard
e011cc8201
[checksum] add SHA512 digest algorithm
* "Is it possible to learn this power?"
2020-06-24 14:08:24 +01:00
Pete Batard
c4ee840fb6
[misc] fix Coverity upload - Take 3
* It was a missing @ sign for --form file=
2020-06-19 13:10:41 +01:00
Pete Batard
517e417d44
[misc] fix Coverity upload - Take #2 2020-06-19 12:27:14 +01:00
Pete Batard
3a593211b9
[misc] fix Coverity upload
* Stupid PowerSell aliases "curl" to a non compatible script unless you explicitly use "curl.exe"
2020-06-19 11:25:50 +01:00
Pete Batard
94a2699640
[ui] perform ISO download feature check in a background thread 2020-06-13 13:17:35 +01:00
Pete Batard
e554d2b4e0
[misc] add Ctrl-SELECT option to provide additional content
* For now only .zip archives are supported
2020-06-10 21:25:33 +01:00
Pete Batard
c601aed054
[core] add option to write a small enough ISO to an ESP
* This is mostly aimed at Debian 11 netinst on the Raspberry Pi 4
* Only available for regular UEFI ISOs if GPT and FAT are selected (no MBR ESPs).
* Also fix a MinGW warning in GetUnusedDriveLetter()
2020-06-06 22:19:20 +01:00
Pete Batard
23057f6124
[core] add a cheat mode (Alt-P) to toggle GPT ESP to Basic Data
* Windows 10 or later *ONLY*
* Also don't report a GPT partition name if it's empty
2020-06-06 16:37:25 +01:00
Pete Batard
76d8adaaac
[misc] try to fix device dropdown not appearing on startup
* Also add '.usb' to the list of extensions we recognize by default.
2020-06-03 16:06:47 +01:00
Pete Batard
3b327bff83
[loc] flag "Deleting partitions" message as a potential lengthy operation
* Also use this update to factorize all "This may take a while" messages.
2020-06-03 16:03:20 +01:00
Pete Batard
77d319267f
[iso] add Rock Ridge deep directory support
* Closes #1526
2020-06-02 11:13:47 +01:00
Pete Batard
4bf69215bf
[iso] enable extra libcdio debugging with Alt-.
* Also fix 2 memory leaks
2020-05-12 14:13:44 +01:00
Pete Batard
077f143252
[core] add cheat mode to disable VHD listing (Alt-G) 2020-04-27 10:28:00 +01:00
Pete Batard
129aa64394
[misc] add alternative test mode
* Also fix some typos and unwanted messages
2020-04-12 23:45:09 +01:00
Tsarevich Dmitry
121257c584
[misc] fix PVS-Studio static analyzer warnings
* Surround macro params to ensure expected results
* Fix copy-paste errors
* Fix a potential buffer overflow in SetSectionHeaders()
* Add const modifier where relevant
* Use GetWindowLongPtr() everywhere
* Use proper sprintf format for unsigned int
* Use %s for printf-like funcs (https://www.viva64.com/en/w/v618/print/)
* Closes #1464
2020-02-28 17:08:11 +00:00
Pete Batard
b8579c04da
[misc] add arbitrary buffer allocation to GetResource()
* If duplicate is TRUE and len is non-zero, then a buffer of len size,
  padded with zeroes, is allocated for the resource.
2020-02-19 12:43:05 +00:00
Pete Batard
4ee90a9546
[ui] fix Quick Format being disabled when no device is plugged 2020-02-15 14:40:05 +00:00
Pete Batard
4ebed1eac2
[iso] report usage of UDF symbolic links
* These may dramatically increase the size required for extraction
  so users may want to have some hints about these.
* Closes #1446
2020-02-05 13:23:49 +00:00
Pete Batard
87a7228d38
[ui] improve error reporting for download issues
* This is part of #1444
2020-02-03 12:35:49 +00:00
Pete Batard
d1d5c2a7b6
[efi] enable the use of exFAT with UEFI:NTFS
* Only applies for blank UEFI:NTFS drives for now. UEFI:NTFS Windows drives are
  still set to use NTFS only (since Windows 7 doesn't support UEFI exFAT boot).
2020-01-30 13:51:19 +00:00
Pete Batard
1b02181f74
[ui] fix percent not being displayed on slow format 2019-09-21 22:39:00 +01:00
Pete Batard
bf8d888b21
[ext2fs] fix creation of persistent partitions for pre-1703 platforms
* Windows platforms prior to Windows 10 1703 cannot access any logical partition besides the
  first one (we don't even get a volume for those).
* This fix enables the use of physical + offset for ext# formatting to work around this,
  which is file since we don't actually need to mount the partition.
* Also fix ext2fs_open2() not handling normalized versions of Windows drive paths ("\\?\...")
* Also fix an issue where we would make the drive letter unavailable after formatting a
  standalone partition to ext#.
* Also ensure that we return an error if the drive we attempt to locate a partition on
  through an offset does not match the currently selected one.
* Also remove some unused calls in drive.c.
* Closes #1374
2019-09-14 23:33:46 +01:00
Pete Batard
798029237f
[iso] improve fallback for dual UDF+ISO9660 images
* Also add private filtering of LM90X USB⟷SSD devices
2019-08-28 11:00:32 +01:00
Pete Batard
0f6794a72b
[ui] improve handling of the Quick Format and Extended Label options
* Make sure they are always unchecked for pure DD images
* Make sure Quick Format is checked and disabled for ReFS or Large FAT32
* Also make sure Fixes for old BIOSes is disabled for pure DD images
2019-08-24 23:45:53 +01:00
Pete Batard
21351b9fbe
[misc] refactor the "operation in progress" detection
* Remove unused iso_op_in_progress and use a single op_in_progress that gets
  set when we disable the controls.
* Also fix an issue where Ctrl-L was being processed as Alt-L due yet another
  completely backwards Windows behaviour where the message that is meant to
  indicating whether Alt is pressed is also sometimes used to indicate that
  another key is being pressed if the dialog doesn't have keyboard focus...
2019-08-22 14:04:41 +01:00
Pete Batard
af95de8198
[ui] add experimental optional display of transfer speed and time remaining
* You can use <Alt> to switch modes during an operation that supports it (e.g. Checksum
  computation, DD image writing or zeroing, save to VHD, download, etc.
* IMPORTANT: This is *NOT* available for all operations. Especially, if you were hoping
  to get transfer speed or ETA during ISO or WIM extraction, you *WILL* be disappointed.
* Also harmonize the code in checksum.c
2019-08-20 18:06:07 +01:00
Pete Batard
17d4d6c6fe
[core] fix regression with checkboxes being cleared on START
* Regression was introduced with 3c1ef23ff3 and 2ff6da49f0.
* Because of it extended label and icon, fixes for old BIOSes and Rufus MBR were not applied.
* Closes #1348
2019-07-30 11:41:04 +01:00
Pete Batard
180e6d4364
[iso] disable ISO mode for incompatible Manjaro 2019-07-03 23:07:24 +01:00
Pete Batard
3c1ef23ff3
[ui] remove check box when old BIOS/Rufus MBR is disabled
* Also use ChangeWindowMessageFilterEx() instead of ChangeWindowMessageFilter()
2019-07-02 17:49:33 +01:00
Pete Batard
f6687e729b
[ui] fix unwanted persistence unit overlay
* Also fix a typo and make sure to quote more paths when invoking Fido.
2019-06-05 17:00:21 +01:00
Pete Batard
8b18d8ce1d
[core] add CycleDevice and VDS layout refresh
* Also fix some minor issues
2019-05-23 13:09:25 +01:00
Pete Batard
2ff6da49f0
[extfs] add standalone ext2/ext3 formatting
* Only enabled when Advanced format options are shown
* Also enable reading of extfs volume label
* Also improve GRUB lookup fallback
* Also fix possible truncation when sanitizing labels
* Also write a zeroed MBR when non-bootable is selected
2019-05-03 23:51:05 +01:00
Pete Batard
5f9e65707f
[core] partitioning improvements
* Improve report and make sure we zero leftovers from the start of a partition
* Also add VDS error codes
* Also fix Coverity warnings
2019-04-27 16:04:47 +01:00
Pete Batard
1c39a80d72
[core] partial overhaul of the partitioning and formatting facilities
* Add VDS formatting support (through an Alt-V cheat mode)
* Add partition index support
* Improve(?) Windows To Go support by following Microsoft recommended partition order
* Code refactoring & cleanup
2019-04-25 18:58:55 +01:00
Pete Batard
4b38483a68
[ext2fs] improve persistence partition creation's progress report
* Closes #691
2019-04-19 13:24:20 +01:00
Pete Batard
d93ae1e598
[core] fix 2.x → 3.x regression that removed NTFS for Grub4DOS
* Also update file hash DB
2019-04-18 12:53:12 +01:00
Pete Batard
0a3600f9ff
[ext2fs] add registry setting to specify which ext fs version we should use
* Also improve log progress report
* Also move ext formatting to before we format the main partition
2019-04-17 20:34:39 +01:00
Pete Batard
0ad3f8c1d3
[ext2fs] integrate ext3 formatting into UI operations
* Add display of persistence controls on relevant images
* Add progress on ext3 formatting and improve error reporting
* Also improve MountVolume() and fix some Coverity warnings
2019-04-16 20:44:13 +01:00
Pete Batard
ccf0f1bf3c
[ext2fs] add journal support for ext3 formatting
* Also clean up code, handle errors and fix issues
2019-04-15 17:04:39 +01:00
Pete Batard
9610e3a63b
[misc] refactor some global variables' names so we can reinstate -Wshadow
* Also remove no longer used _coverity.cmd and update .gitignore
2019-04-13 15:29:27 +01:00
Pete Batard
cda716c1ff
[ext2fs] initial ext2fs support 2019-04-12 21:32:40 +01:00
Pete Batard
38d82612cd
[core] fix a memory leak when search for process is interrupted 2019-04-10 12:17:47 +01:00
Pete Batard
d4a663991b
[core] report write errors more explicitly
* Also issue a port cycle on ERROR_NOT_READY
* Also run a check for conflicting processes during write retries
2019-04-09 21:37:08 +01:00
Pete Batard
f02fbe3acc
[core] add full extraction support for efi.img
* Also, Solus distro maintainers, I hate you!
2019-04-04 19:12:48 +01:00
Pete Batard
2a1c57c750
[ui] disable button and add a countdown when launching update
* Also disable Launch button while we do so
* Also add new <Ctrl>-<Alt>-<Y> cheat mode
* Also terminate update thread before exiting if running
* Also set version to rufus-next
2019-04-01 16:38:27 +01:00
Pete Batard
efd6d9f345
[misc] fix Coverity warnings
* What would be nicer was if half these Coverity issues weren't false positives...
* Also update Readme and fix progress bar colour not being reset after error
2019-03-15 11:00:13 +00:00
Pete Batard
25a4666911
[ui] fix fs selection and remove prompt for GRUB/Syslinux downloads in GPT mode
* FS selection might default to NTFS instead of FAT32 after having selected a Linux ISO if
  no drive was plugged in when the ISO was selected and then a drive was plugged using NTFS.
* Also display Fido's exist code
* Closes #1255
2019-03-14 18:53:08 +00:00
Pete Batard
924c6b1a79
[loc] fix alert hook handling when switching language
* Because the localized title/button text lookup was only executed once
  on startup, it wouldn't apply to the new language on relaunch. Fix that.
2019-03-13 17:01:26 +00:00
Pete Batard
0c368b4e69
[loc] finalize translations for 3.5
* Also update for latest Fido and simplify SetLGP
2019-03-12 19:53:25 +00:00
Pete Batard
65f886141b
[fido] improve UI handling
* Center dialog on open
* Close dialog on main application exit
* Display ISO short name & size on status bar during download
* Display ISO download progress on taskbar
* Also fix improper detection of EAGET Mass Storage USB Device as HDD
2019-03-07 16:29:43 +00:00
Pete Batard
9d1a2bc25e
[net] fix session variables not being cleared in ResolveRedirect()
* Also set default network timeouts to 3500ms
* Also add '-Sta' option when running Fido so that at at least the UI can display on Windows 7
2019-03-05 16:25:14 +00:00
Pete Batard
db68bcd7f9
[fido] use Rufus existing alert handler to close Fido's cookie prompts
* Addresses pbatard/Fido#1 while being much more effective than an all-script solution
2019-03-05 12:41:10 +00:00
Pete Batard
8823c0cf9c
[net] always download latest release of Fido
* Also clean up/factorize some of the net code
2019-03-04 19:14:54 +00:00
Pete Batard
2a77763dc3
[net] add ISO selection after successful download
* Also use UM_TIMER_START message to start timed operations
2019-03-04 11:57:33 +00:00
Pete Batard
e073fb47b0
[net] add Windows retail ISO downloads
* This is accomplished through Fido (https://github.com/pbatard/Fido), a *SIGNED*
  PowerShell script, that is downloaded from GitHub and that resides in memory for
  the duration of a session.
* The reason we use a downloaded PS script, rather than an embedded on, is because:
  - Microsoft have regularly been changing the deal with regards to how retail ISOs
    can be downloaded, and not for the better, so we can't simply embed a static
    means of downloading ISOs and expect that to work forever.
  - By using an external script, we can immediately respond to whatever new means of
    *ANNOYING* their legitimate users Microsoft will come up with next, as well as
    make sure that, the minute a new retail version of Windows becomes available, it
    also becomes available for download in Rufus.
* Note that if you are concerned about downloading a remote PS script that is being
  run at the same level as an elevated application, you should understand that:
  - Only scripts downloaded from GitHub, from an account that is protected with 2FA,
    are allowed to run (i.e. someone would first have to steal a *physical* 2FA key
    to be in a position to upload a malicious script).
  - On top of this, only scripts that are signed with a separate private key (RSA +
    AES-256), that is itself also protected with a strong unique password which only
    a single person knows (and must manually enter each time they want to make a new
    version of the script available for download), are allowed to run.
  The above means that there's about as much chance for someone to manage to upload
  a malicious script on the GitHub servers, that Rufus would allow to run, as there
  is for someone to upload a malicious version of Rufus itself.
  Still, if you are paranoid and have concerns that, even as you can validate from
  its source that Rufus does not attempt to execute any remote script unless a user
  actively selected and clicked the DOWNLOAD button, you can also completely disable
  the remote script download feature, if you just set the update check to disabled
  (which, by the way, Rufus *EXPLICITLY* asks you to choose whether you want to
  enable or not, the very first time you run the application).
* Also remove _unlinkU() which duplicates what DeleteFileU() already does.
2019-03-02 23:34:32 +00:00
Pete Batard
555397403a
[ui] fix quickformat option being ignored when unchecked 2019-02-11 16:10:27 +01:00
Pete Batard
078aaf7714
[net] disable BETA version check for anything but x86_32 2019-02-05 17:49:27 +00:00
Pete Batard
5247ffa6ab
[core] add a notice about MBR and >2TB partitions
* Also fix Boot Options not displaying when no drive is plugged in advanced mode
2019-02-01 12:35:09 +00:00
Pete Batard
f98c243eb8
[iso] fix crash when opening Windows ISOs
* Closes #1268
* Issue was introduced in 521034da99 and has
  to do with VS2017's handling of static strings in RELEASE mode.
  Fix is to use a static char array instead.
* Also fix MinGw build warnings and increase process search timeout
2019-01-31 13:50:03 +00:00
Pete Batard
326ae54f45
[togo] add a notice about WppRecorder.sys BSOD with 1809 ISOs
* Also improve detection of build number
2019-01-30 17:15:25 +00:00
Pete Batard
336e24c8c7
[loc] drop GetMuiString() and use formal loc data instead
* Relying on system MUIs was too brittle and provides us with no guarantee
  that the translated messages we need will actually be there.
* Also fix space before question mark in French translation.
2019-01-09 15:53:44 +00:00
Pete Batard
521034da99
[togo] add newer install.wim + install.esd support
* With no thanks whatsoever to Microsoft for *NOT* documenting that you need
  to pass flag 0x2000000 to WIMCreateFile() if you want to avoid an open error.
  One has to wonder if Microsoft isn't deliberately adding *BULLSHIT FLAGS*
  that only they know of, to hinder competing third-party tools...
2019-01-08 18:30:07 +00:00
Pete Batard
f94d2f479f
[core] fix abort if we can't display the "drive in use" message
* Also display the current MUI on startup and set version to rufus-next
2018-12-14 18:19:33 +00:00
Pete Batard
c0526b3e8b
[core] invoke VDS to delete all partitions before format/write 2018-11-28 10:50:00 +00:00
Pete Batard
04a5793ee7
[misc] use compilation flag to undefine NDEBUG for assert 2018-11-21 17:45:18 +00:00
Pete Batard
15806de646
[ui] display a notice about Secure Boot when UEFI:NTFS is applied 2018-11-20 12:33:12 +00:00
Charles Stevens
2ba62fa891
[misc] fix application closing when terminating console, when -g is used
* Closes #1243
* Closes #1244
2018-11-12 12:58:19 +00:00
Pete Batard
c2ba8fc0d2 [ui] fix UI elements that don't match commandline parameters 2018-10-30 16:14:07 +00:00
Charles Stevens
865678b4b7 [misc] add file system selection to commandline options
* Closes #1236
2018-10-30 12:53:14 +00:00
Pete Batard
d90676542b [misc] report executable arch in the log
* Also update VS2017 solution to use 10.0.17134 SDK
* Also update README
2018-10-27 14:22:09 +01:00
Pete Batard
fd08cf4745 [ui] fix file system being reset when switching languages
* Also add a <Ctrl>-<L> cheat mode to toggle the log window
2018-10-23 22:35:39 +01:00
Pete Batard
7757cab3c5 [ui] fix possible truncation of short image path
* Closes #1233
* Also fix MinGW builds due to missing PROCESSOR_ARCHITECTURE_ARM64 define
2018-10-22 22:28:20 +01:00
Pete Batard
6109d91c38 [net] add automated update support for ARM/ARM64 2018-10-22 17:42:40 +01:00
Pete Batard
e587997f4e [ui] fix an issue where target system could appear blank for UEFI:NTFS
* Also fix a regression introduced in 790b188b3d
2018-10-08 19:00:24 +02:00
Pete Batard
19d9bdbed0 [ui] fix missing description of some buttons for screen readers
* Closes #1215
2018-10-05 10:55:00 +02:00
Pete Batard
790b188b3d [ui] fix disabling of Quick Format checkbox
* Closes #1211
* Also fix MBR analysis report displayed each time the user changes boot selection
2018-10-03 19:14:40 +02:00
Pete Batard
97315a238d [togo] fix bcdboot invocation for ISOs that aren't dual BIOS and UEFI
* Closes #1111
2018-09-14 14:10:40 +01:00
Pete Batard
2d99601a5f [core] fix a regression when scanning uncompressed bootable DD images
* Closes #1206
2018-09-13 11:49:51 +01:00
Pete Batard
e52a5206ba [ui] fix FAT32 sometimes becoming available for ISOs with >4GB files
* FAT32 would become available and selected as default FS when
  selecting a Windows ISO with a >4GB file and then clicking
  "Show advanced drive properties".
2018-09-07 14:11:25 +01:00
Pete Batard
619dd9862b [misc] use GetWindowLongPtr/SetWindowLongPtr everywhere
* Also remove WS_EX_RIGHT style from IDC_PERSISTENCE_SIZE since we apply it manually
2018-08-20 09:46:23 +01:00
Pete Batard
c832814af0 [ui] small fixes for RTL languages 2018-08-18 17:38:23 +01:00
Pete Batard
e8745339e4 [ui] fix multiple persistence slider issues
* Range not being set when plugging a drive
* Set position to zero when no drive is selected
* Make sure the restored position can not be greater than the max
2018-08-14 23:05:52 +01:00
Pete Batard
71578459d7 [loc] fix spaces before full stops
* Also: "Asserts, it's not just for debug any more!"
2018-07-31 20:47:24 +01:00
Pete Batard
1612064c66 [loc] finalize new translations for 3.2
* Also fix a MinGW warning
2018-07-18 16:59:35 +01:00
Pete Batard
1004a6e066 [ui] update persistence size controls
* Also refactor ToggleImageOptions()
2018-07-18 12:22:37 +01:00
Pete Batard
f9275e4780 [loc] update the processing of version numbers
* Now only use major.minor for version references
* Drop the use of LOC_FRAMEWORK_VERSION. We'll use custom handling if we ever need a framework change.
* Also update/fix some of the UI elements for persistent partition
* Also reposition the language selection menu when we don't have a large number of them
2018-07-15 01:05:05 +01:00
René van der Zee
77bf5c8a49 [core] add alternate cheat mode for fast zeroing
* Ctrl-Alt-Z can now be used to zero a drive, while skipping blocks that are detected empty
* Depending on your hardware, as well as the existing drive content, this strategy can greatly
  speed up zeroing operations, especially if the flash memory's read speed is much higher than
  its write speed.
* Closes #1174
2018-07-06 13:29:20 +01:00
Pete Batard
a394b9731a [ui] add positioning, resizing & filling of the persistence controls
* Also add a test ISO to display these controls
* The intent is to use the next round of translation to get these new UI elements localized,
  as any translation work takes _months_, and it is a precondition to start working on #691.
* Also fix new issues with image options when switching language
2018-07-06 11:23:57 +01:00
Pete Batard
05f8400451 [misc] reorganize UI function calls into their own source
* Also fix ARM/ARM64 broken compilation due to missing __popcnt()
2018-07-06 05:46:36 +01:00
Pete Batard
a34cb1194e [ui] initial work for the display of a persistence option
* This doesn't mean we'll get persistence support any time soon, but any UI work
  on this needs to be carried out *MONTHS* in advance because of the translators.
2018-07-06 00:40:52 +01:00
Pete Batard
5602494690 [ui] fix application exit when cancelling the ISO scan 2018-07-04 22:50:26 +01:00
Pete Batard
c12640b547 [ui] fix progress not being displayed for syslinux/grub downloads
* Also make download of .sig files a bit less verbose
2018-07-03 22:54:06 +01:00
Pete Batard
7c142fadbc [net] improve handling of invalid signatures
* Also make bPromptOnError an actual parameter to the download function calls
* Also prefer the use of assert() to custom assertion messages
2018-06-30 22:45:15 +01:00
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