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

1007 commits

Author SHA1 Message Date
Pete Batard
fac433a0fe
[loc] set up Windows Store listing translations (part 1)
* MSG_900+ will be used for Windows Store translation, so add them
  and makes sure these get filtered out from embedded.loc.
* Also make sure we don't get a "Translated by:" in the English version
  when compiled with VS2022.
* Also add Store screenshots and update listing.csv so that we can
  autogenerate and upload a complete translation update to the store.
2023-02-03 17:03:06 +00:00
Pete Batard
6ebe13eb31
[fido] deactivate Fido for Windows 7
* Also add an extra Fido translation string and improve/fix Fido testing.
* Also add an exception for HP iLO SD-CARD devices (Closes #2136).
2023-01-27 17:23:08 +00:00
Pete Batard
1dc9fab917
[misc] add a cheat mode to preserve the log between sessions
* This new cheatmode (<Ctrl>-<P>) is mostly designed to help with development.
2023-01-13 21:49:57 +00:00
Pete Batard
3fbc465d31
[core] fix Large FAT32 not being used in ISO → ESP mode
* Not using our own FAT32 formatting may result in access errors due to
  Microsoft's hare-brain handling of ESP access.
* Also update upcoming translations and copyright year.
2023-01-09 23:19:01 +00:00
Pete Batard
c2fe08080a
[core] add provision for Windows 7 sunsetting
* Update the relevant loc messages.
* Also add a -z commandline option to force the Windows version (but without letting
  this option work as an override, if running on an unsupported platform).
* Also fix typos and broken URLs.
2022-11-22 13:35:50 +00:00
Pete Batard
419522c803
[efi] update UEFI:NTFS's NTFS and exFAT drivers to latest
* Now uses read-only NTFS drivers v1.4 from https://github.com/pbatard/ntfs-3g.
* Like previous ones, aa64, ia32 and x64 versions are Secure Boot signed (but not arm).
* Fixes the recent potential vulnerabilities found in https://github.com/tuxera/ntfs-3g.
* Also update exFAT drivers to v1.9 from https://github.com/pbatard/efifs.
2022-11-17 10:42:56 +00:00
Pete Batard
c19ef1125d
[wue] allow the provision of an arbitrary local account username
* This is required because, even though it's easy to change a local account name
  post install, doing so does not change the directory name in C:\Users\
2022-10-18 13:58:38 +01:00
Pete Batard
fcae51a446
[grub] force server download for nonstandard GRUB (Fedora 37, openSUSE Live, GeckoLinux)
* This reverts most of 3528ca773d in order to download 'core.img' from our server instead of patching it.
* Also solve the issue of downloading a custom 'core.img' for Fedora 37, that introduced
  a new 'grub_debug_is_enabled' symbol without altering their GRUB version string.
* This is accomplished by doing what the distro maintainers should have done on their
  own, by appending a custom suffix to the GRUB version string.
2022-10-06 23:39:32 +01:00
Pete Batard
ae839d96ef
[appstore] fix invalid country code for Serbia
* sr-SR is not a country code that Microsoft accepts (and from what I can see
  is not valid, because it should be sr-RS).
* This has the unfortunate effect of preventing the installation of Rufus from
  the Windows Store, which fails with error 0x80070057 (Invalid parameter).
* Fix this by using a country code for Serbia that Microsoft does accept: sr-Latn-RS
* Closes #2015
2022-08-12 11:09:04 +01:00
Pete Batard
55ce65af6c
[appstore] try to fix error code 0x80070057 during App install
* First thing I'm gonna say is that, if your app validation process is unable to catch universal
  installation errors like the one above, then your app validation process *SUCKS*, Microsoft!
* Hopefully, this has to do with the additional languages not being passed to MakePri's /dq
  option. And there I also have to say thanks to Microsoft for *NOT* documenting how the heck
  one is supposed to pass multiple languages with /dq, so that you actually end up with
  <qualifier name="Language" value="en-US;ar-SA;bg-BG;..."> in priconfig.xml.
* What's that quote again? "Show me an App Store than only triples my work, and I will happily
  let it take a third of my revenue"...?
2022-08-10 23:46:13 +01:00
Pete Batard
a2e9b6fee0
[appstore] ensure the Windows Store page does report the 38 languages Rufus is translated into 2022-07-27 17:15:37 +01:00
Pete Batard
2c26f838f4
[wue] enable applicable WUE options for Windows 10
* Also ensure that we print a message on the status bar while applying options.
2022-07-27 11:49:26 +01:00
Pete Batard
c34cbab3b5
[wue] remove non-existent min disk size bypass
* Closes #1990
* Also group all of SB, TPM and min RAM into a single option and update French translation
2022-07-22 13:02:02 +01:00
Pete Batard
9073962faf
[wue] add automatic local account creation and regional settings duplication
* Local account is created with the same name as the current user along with an *empty* password
  (which we force the user to change on next logon). This is done to assuage users who might be
  weary of entering a password in a third party application, and has the benefit of enabling
  autologon when the install is complete.
* Note that the creation of a local account through an answer file prevents Windows 11 22H2
  from bugging users about MSA *even with an active network connection*.
* For convenience reasons, only duplication of the current username is enabled. We *may* add a
  dialog to enter any random username in a future version, but for 3.20, this is all you get.
* Likewise, the locale duplication is only carried out during OOBE and *not* WinPE (which means
  that you still get the initial "Windows setup language and user preferences" prompt). This is
  intentional as otherwise the default screen and "Repair Windows" options are not presented.
* It's not my fault that the Windows password change screen is super ill conceived, whereas it
  doesn't hide the current password field as it should when the current password is blank, and
  one needs to click on a very small arrow to get the changes applied, instead of a PROMINENT
  button that should intuitively have been positioned right next to "Cancel".
* If you want to complain that we should just "present the user with XYZ and be done with it",
  please bear in mind that we can't add new dialogs to Rufus as willy-nilly as you believe we
  can. *ANY* new UI interface requires major planning, which is the reason why, for the time
  being, we are limited to reusing a simple dissociated list of checkboxes for all WUE options.
2022-07-19 19:11:06 +01:00
Pete Batard
8fb602b8ee
[mbr] use 80x25:16 text mode rather than 640x480:16 VGA mode
* This should produce the same output while improving compatibility with systems that have a broken VGA implementation.
* Also fix an LD error with newer gcc toolchains.
2022-07-04 15:08:55 +01:00
jb66
8c25bf4b69
[loc] fix typos in French translation
* Closes #1961
2022-06-30 11:27:56 +01:00
Marcos Mello
6c8432ebf6
[loc] update Brazilian Portuguese translation to latest
* Closes #1948
2022-06-28 00:16:50 +01:00
Pete Batard
65f05f4d58
[loc] update French translation to latest
* Also update ChangeLog for Rufus 3.19 BETA
2022-06-24 18:32:49 +01:00
Pete Batard
e043a49fa7
[ui] add option to set internal drives offline for Windows 11 To Go
* This is enabled by default for Windows 11 images and is done to prevent the
  annoying behaviour of Windows 11 *automatically* upgrading all ReFS drives
  it sees to latest version, thereby instantly preventing you from accessing
  these drives ever again with Windows 10.
* See: https://gist.github.com/0xbadfca11/da0598e47dd643d933dc#Mountability.
2022-06-24 17:47:08 +01:00
Pete Batard
a25af06b3c
[ui] drop the option to remove the "unsupported hardware" watermark
* I've never seen that watermark in the first place, therefore can't test if the option is
  working, and, as opposed to the other options, users can deal with it post install anyway.
* Also ensure that we prompt for customization when selecting an install.wim.
2022-06-24 14:27:02 +01:00
Pete Batard
d0844bfc70
[misc] minor update to pollock
* Also reinstate CodeQL since github/codeql-action#850 is supposed to be fixed.
* Also fix a false Coverity warning.
2022-06-23 14:05:52 +01:00
Pete Batard
a0d669232c
[ui] add a new selection dialog for Windows 11 setup customization
* This moves the extended Windows 11 options (bypass TPM & Secure Boot) away from
  "Image options" into a new explicit dialog, along with supplementary customization
  such as enabling offline account (for Windows 11 22H2) and skipping all data
  collection questions.
* This customization is now enacted through an unattend.xml file rather than offline
  registry manipulation, so that this *should* also work with the Windows Store version.
* Also update arch detection and rework/reorganize upcoming translation changes.
* Note: The 'Remove "unsupported hardware" desktop watermark' option is *UNTESTED*.
2022-06-23 13:34:24 +01:00
Pete Batard
a9a97b6f10
[efi] update UEFI:NTFS's NTFS drivers to latest
* Now uses read-only NTFS drivers v1.3 from https://github.com/pbatard/ntfs-3g.
* Like previous ones, aa64, ia32 and x64 versions are Secure Boot signed (but not arm).
* Fixes the recent potential vulnerabilities found in https://github.com/tuxera/ntfs-3g.
* Note that we have asked Microsoft to add the previous signed NTFS drivers to the UEFI
  Revocation List, even as we believe that the ntfs-3g vulnerabilities are not exploitable
  in the limited context of UEFI:NTFS.
2022-06-16 11:54:00 +01:00
Pete Batard
cd9d3737b1
[core] add the ability to ignore USBs through VID:PID
* This enables the provision of Registry/Settings key IgnoreUsb01 to IgnoreUsb08 where
  one can specify a USB device to ignore by providing its VID:PID as a 32-bit hex value.
* Closes #1879.
* Also update rufus.ini sample for current Rufus version.
* Also fix status display for Alt-Q.
2022-06-14 23:29:33 +01:00
Maison
df5cfe94c1
[loc] update Brazilian Portuguese translation
* Closes #1940
2022-06-07 16:30:00 +01:00
Pete Batard
4cdbad283a
[loc] update Polish translation
* Closes #1916
* Also removes wininet.dll from MSVC vcxproj.
2022-05-02 11:21:16 +01:00
Vlad
48574f10d6
[loc] update Ukrainian translation
* This fixes multibyte indexes
* Closes #1908
2022-04-26 00:00:32 +01:00
Pete Batard
e7b66e7e4c
[mingw] use delay loading for DLLs that are subject to side loading
* This reverts much of commits f6ac559f4d and 1947266837
  so that we call the Windows APIs directly again, while ensuring that, by the time we load the DLLs,
  sideloading mitigation has already been applied by the application.
* This is a continuation of #1877, and should help prevent re-introducing side-loading issues when we
  link against new libraries, as well as allow us to drop some of the manual DLL hooking we've been
  doing to prevent it, to clean up the code.
* Note that this is a bit more complex than what the stackoverflow post suggests, because we need to
  create delayloaded libs for both 32-bit and 64-bit, which use a different calling convention and
  therefore need to use different .def files. So there's a lot of gymkhana involved, with Makefiles
  and whatnot, to get us there.
* Also simplify the use of CM_Get_DevNode_Registry_PropertyA() in dev.c since recent versions of
  MinGW now have support for it.
* Also fix 2 small issues in net.c (potential overflow) and format.c (memory leak).
2022-04-12 11:09:59 +01:00
Pete Batard
3528ca773d
[iso] add support for distros using a NONSTANDARD GRUB 2.0 prefix directory
* Looking at you, openSUSE Live and GeckoLinux!
2022-04-07 01:58:22 +01:00
Dinis Medeiros
50d81af6cf
[loc] update Portuguese translation
* Add MSG_322, 323, 324
* Closes #1886
2022-04-01 13:03:59 +01:00
Pete Batard
0de209ee53
v3.18 (Build 1877)
* Formally disable Windows 11 bypass for Windows 7 and AppStore version since it can't be applied.
2022-03-11 16:51:59 +00:00
Pete Batard
42483d23ed
[dos] update FreeDOS to version 1.3
* FreeDOS 1.3 has just been released. Yay! :)
* Closes #1740
* Also addresses 2 warnings reported by Coverity.
2022-02-21 20:02:53 +00:00
Tatsuhito KATO
108424ecf4
[loc] update Japanese translation
* Closes #1863
2022-02-11 18:44:46 +00:00
Csizmadia Gábor
891eb45549
[loc] update Hungarian translation to latest 2022-01-25 09:39:44 +01:00
SiderealArt
2e19b4958b
[loc] update Chinese Traditional translation
* Closes #1849
2022-01-20 16:10:01 +01:00
Pete Batard
14847a1a89
[misc] update copyright year
* Also update signing certificate hash
2022-01-09 15:02:50 +00:00
Pete Batard
a47072c3c6
[ui] produce a more explicit error message when an image can't be opened/read
* Closes #1843
* Also publish Coverity artifacts since upload to Coverity seems to be broken atm.
2022-01-07 13:27:15 +00:00
Jeon Hyun-seok
52d05aa228
[loc] update Korean translation 2022-01-07 12:27:41 +00:00
marcellogianola
7fa83aa479
[loc] update Italian translation
* Closes #1841
2022-01-05 18:37:47 +00:00
Pete Batard
eeca1f279c
[iso] add 'inst.repo' Red-Hat workaround for CentOS Stream
* Since CentOS Stream does not use the 'CentOS-8.*' labelling scheme.
* This is a follow up to #1777.
* Also fix Windows Kit location for signing scripts.
2021-11-22 20:11:47 +00:00
Dimitri Papadopoulos
d840083a32
[misc] fix typos found by codespell
* 3rd party software was left out.
* Most changes are in code comments, but one user-visible string has also been fixed.
* Closes #1817
2021-11-16 18:53:52 +00:00
marcellogianola
5030c1520d
[loc] fix typos in Italian translation
* Closes #1813
2021-11-16 18:48:48 +00:00
Mihai-Octavian STRĂUȚ
1de1c2a94a
[loc] update Romanian translation to latest 2021-11-13 11:41:31 +00:00
Pete Batard
ca4e009ffc
[appstore] revert to using a script to build AppStore bundle
* Having two separate Visual Studio solution files, while more convenient, was a major
  pain in the ass and it also required us to update versioning in the .appxmanifest for
  each commit.
* Also, this new AppStore build process enables us to use the GitHub Actions executables
  to further foster the complete transparency of our build process.
2021-10-27 09:47:27 +01:00
Pete Batard
d5dc8ee5e7
v3.17 (Build 1845)
* Also update README.md
2021-10-23 15:40:06 +01:00
Pete Batard
a519e3b03b
[misc] fix console hogger not being deleted on exit
* Also update hash DB and readme for latest Grub4DOS
2021-10-23 15:14:46 +01:00
marcellogianola
c516c1e38b
[loc] update Italian translation
* Fix typo and upper case to lower case
* Closes #1800
2021-10-23 13:10:44 +01:00
Pete Batard
b39e2f8615
[misc] improve GetLibraryHandle() fallback
* This is a follow up to 1c2884ceba where the error code returned by Windows 7 platforms
  that don't have KB2533623 is expected to be ERROR_INVALID_PARAMETER rather than ERROR_PROC_NOT_FOUND.
* Also update the Windows 11 'Extended' installation mode translations.
2021-10-23 13:08:13 +01:00
Pete Batard
b30e3b387a
[efi] update UEFI:NTFS to latest
* Also remove Secure Boot notice since (outside of 32-bit ARM and exFAT)
  our bootloaders and NTFS drivers are now Secure Boot signed.
2021-10-23 02:49:15 +01:00
Pete Batard
05382d8c7d
[core] ReFS improvements
* Allow 4K/64K cluster size selection
* Only enable ReFS on relevant platforms
* Also recognize a few more Windows editions
2021-10-21 02:02:17 +01:00
Pete Batard
32b083e535
[misc] improve path display for Sylinux/GRUB resources 2021-10-21 01:59:03 +01:00
Pete Batard
1c2884ceba
[misc] fallback to using LoadLibrary() when LoadLibraryEx() fails or doesn't apply
* Per 2a3e82fa96, it looks like some Windows 7 system have trouble with
  LoadLibraryEx() if they don't have KB2533623 installed (which fixes a MAJOR Windows
  vulnerability. Some people sure want to leave their system open to hackers...).
* Work around this by adding a fallback to LoadLibrary() in GetLibraryHandle()
* Also switch to using GetLibraryHandle() in dos.c and using LoadLibrary() in sections
  where we have the full path (since these calls are not vulnerable).
2021-10-18 13:15:41 +01:00
Pete Batard
d8a2c29a67
[core] fix MBR cleanup regression
* Commit 9dc045a701 introduced a regression on account that we didn't set the
  file pointer to 0 before clearing the disk.
* This leads to the MBR not being properly cleared, with the result that Windows may in turn
  produce errors when trying to repartition the disk.
* Fix this by making sure we do invoke SetFilePointerEx() before calling WriteFileWithRetry().
* Also set rufus-next to 3.17
* Also fix a MinGW warning
2021-10-17 13:35:31 +01:00
Pete Batard
0b618f3de7
[misc] misc improvements and fixes
* Remove BypassRAMCheck from Extended Windows 11 installation since the minimum
  RAM requirements for Windows 11 are 4 GB and not 8 GB as pointed out in #1791.
* Display Windows edition code when we can't resolve it.
* VS2019 wants us to have PackageOptionalProjectsInIdeBuilds enabled? So be it.
2021-10-15 13:13:36 +01:00
Pete Batard
8a09b9b9fc
v3.16 (build 1836)
* Also update French translation to latest
2021-10-13 12:22:04 +01:00
Pete Batard
56a99e6394
[misc] use application dir for storage in portable mode
* Also improve path reporting in the log.
* Also fix MinGW warnings
2021-10-11 20:11:06 +01:00
Pete Batard
9cd7adaaaa
[iso] finalize workaround for Red Hat 8 derivatives
* See #1777
2021-10-11 17:55:46 +01:00
Pete Batard
957ec183c9
[ui] improve progress report when disabling Windows 11 installation restrictions
* Also fix Image Options content being lost when switching language.
2021-10-09 16:18:45 +01:00
Pete Batard
b043db33e6
[core] add option to bypass TPM 2.0/Secure Boot/RAM requirements for Windows 11 ISOs
* If 'Extended Windows 11 Installation' mode is selected, the system registry hive of
  'sources\boot.wim' is patched to add the Setup\LabConfig registry keys that bypass
  the TPM 2.0/Secure Boot/8GB+ RAM Windows 11 system requirements.
2021-10-08 19:24:10 +01:00
Pete Batard
a10b8e8c54
[iso] add Windows ISO version report
* Use sources/compatresources.dll, when available, to try to detect the Windows ISO version and build.
* Also report what facility we use for formatting.
2021-10-08 19:24:07 +01:00
Pete Batard
e6a967c5c9
[misc] update Changelog for 3.16_BETA 2021-10-04 14:29:38 +02:00
Pete Batard
ce8aaa99f7
[core] add VDS detection and print a notice if VDS is unavailable 2021-10-04 14:29:09 +02:00
Pete Batard
c09ede16b3
[iso] add kernel options update for Red Hat derivatives
* Since version 8.2, and rhinstaller/anaconda@a766101954,
  Red Hat derivatives have changed their CD-ROM detection policy which leads to
  the installation source not being found when writing the media in ISO mode.
* Replace 'inst.stage2' by 'inst.repo' in the kernel options.
* Closes #1777 (See also rhinstaller/anaconda#rhinstaller/anaconda#3529).
* Note that this reverts part of 9c8fa40995.
2021-10-03 16:04:34 +02:00
Pete Batard
83ea7103e3
[ci] set VS2019 to produce ALPHA or BETA off release 2021-09-28 20:00:59 +01:00
Pete Batard
df8058b4f3
[core] add workaround for Windows 11's locking issue
* Windows 11 appears to be a lot more proactive in locking system partitions (ESPs, MSRs)
  than previous versions of Windows were, resulting in format or access errors.
* Try to work around these by disabling exclusive drive locking as needed.
2021-09-28 16:17:35 +01:00
Pete Batard
fba24170e1
[ci] set MinGW to produce ALPHA or BETA off release
* Also avoid tagged release duplication
2021-09-28 16:03:36 +01:00
Pete Batard
aba6c7d996
[misc] small Windows versioning improvement
* Actually define a WINDOWS_11 version and use it when Windows 11 is detected.
* Also some comment cleanup.
2021-09-28 15:39:51 +01:00
Pete Batard
d203c91403
[core] report Windows edition
* Also use build number to detect Windows Server 2019 and Windows 11
  since Microsoft are COMPLETE ASSES about their version reporting.
* Also fix a compilation warning.
2021-09-26 16:20:46 +01:00
Pete Batard
2761c72187
[parser] fix unwanted removal of lines that don't match a token
* In replace_in_token_data() when looking for lines starting with a specific
  token but finding lines containing a larger version of the token (e.g. looking
  for 'linux' but finding 'linux16') we would forget to output the non matching
  line as we rejected it.
* This produced issues such as the one described at:
  https://ubuntuforums.org/showthread.php?t=2465291&page=10&p=14052629#post14052629
* Fix this by ensuring that we always output the lines that we reject.
2021-09-20 16:11:47 +01:00
Pete Batard
deee38d4e5
[misc] fix log potentially not being saved on exit
* Also ensures that if the user deleted the directory we don't recreate it for the log.
* Also fix typos and Coverity warnings.
2021-09-19 21:01:45 +01:00
Pete Batard
9dc045a701
[core] speed up the clearing of MBR/GPT sectors
* write_sector() should really only be used when writing single sectors as it
  is way to slow for anything else => Switch to using WriteFileWithRetry().
* Also revert an unwarranted change from f0047986e7.
2021-09-19 14:29:30 +01:00
Pete Batard
f0047986e7
[dev] add support for intel NUC card readers
* Also make sure that cards larger than 200 GB are not listed by default.
2021-09-09 22:20:57 +02:00
Pete Batard
366ce99712
[misc] fix Coverity and CodeQL warnings
* Also make sure to build Release for static analysis.
2021-09-07 23:39:04 +01:00
Pete Batard
a787fb34b3
[iso] fix loader/entries/*.conf labels for Arch derivatives...
* ...that didn't get the memo about using UPPERCASE 11-chars max ISO labels.
* There's a reason why Arch labels its ISOs 'ARCH_YYYYMM', people!
* Anyway, EndeavourOS should now work in ISO mode when booted from UEFI.
2021-09-07 01:07:37 +01:00
Pete Batard
8e2a9797cd
[ci] clean up CI yml scripts 2021-09-07 01:01:56 +01:00
Pete Batard
f4be099f08
[ci] add codeQL static analysis 2021-09-04 01:20:12 +01:00
Pete Batard
405fc6bfae
[misc] report UEFI Shell download feature in README
* See pbatard/Fido@2ee5f896d3 along with https://github.com/pbatard/UEFI-Shell.
* Also set rufus-next to 3.16.
2021-08-25 15:24:56 +02:00
Pete Batard
02aa03078b
v3.15 (build 1812) 2021-08-03 11:33:07 +01:00
Pete Batard
8538ce0590
[misc] fix some Coverity warnings 2021-08-02 13:22:49 +01:00
Pete Batard
436584fcc0
[appstore] revert AppStore version detection to rufus.app presence check
* This basically reverts the changes from 9dfa31db03.
2021-08-01 21:50:11 +01:00
Pete Batard
723b6c98a2
[grub] add workaround for openSUSE Live ISOs
* In their great wisdom, the openSUSE maintainers added a 'set linux=linux'
  line to their grub.cfg, which means that their kernel option token is no
  longer 'linux' but '$linux'... and we have to add a workaround for that.
2021-07-29 22:37:09 +01:00
Pete Batard
94a2789296
[ci] add SHA-256 display and VirusTotal upload 2021-07-29 14:42:08 +01:00
Pete Batard
9da4a49ab8
[misc] switch to GitHub actions for CI 2021-07-29 01:10:53 +01:00
Pete Batard
7afa7348cf
[misc] update ChangeLog for BETA 2021-07-28 16:51:32 +01:00
Pete Batard
41a9436649
[core] automatically save log to %LocalAppData%\Rufus\rufus.log on exit 2021-07-28 16:37:45 +01:00
Pete Batard
8ceb0045fa
[grub] update embedded GRUB to 2.06
* Also enable NTFS and ext# as GRUB2 compatible file systems.
2021-07-27 18:10:29 +01:00
Pete Batard
6ed7524c1b
[ui] fix download status message remaining indefinitely
* Closes #1727
2021-07-26 17:19:45 +01:00
Pete Batard
0475f4796a
[cmp] fix some Coverity warnings 2021-07-26 16:57:48 +01:00
Pete Batard
57af9e7106
[misc] set rufus-next to 3.15
* Also update DB for GRUB 2.06 binary and fix a line break when writing images
2021-06-22 19:08:34 +01:00
longpanda
49eefa2e03
[cmp] add support for Ventoy Sparse Image (.vtsi) 2021-06-22 19:08:33 +01:00
Pete Batard
4f97cdfdc3
[ui] increase projected size to prevent persistence overflow
* If users set the persistent size to max, we may run into a situation
  where projected size (which is always a rough estimation) is too low.
* When persistence is in use, we increase the projected size by 10%, to
  ensure that the above scenario cannot happen.
* Also work around potential issues with Windows APIs when the application
  is launched from the root of a drive.
2021-06-10 17:18:40 +01:00
Pete Batard
9d7e96e293
[core] move downloads from <app_location>\rufus_files\ to %LOCALAPPDATA%\Rufus\
* While this is intended to solve the issue of saving GRUB/Syslinux files for the
  App Store version, we apply this change globally, as it allows the user to move
  the Rufus executable around while preserving access to existing downloads.
* Closes #1744
2021-05-31 16:54:11 +01:00
Pete Batard
aeae66e971
[efi] prevent a drive letter to be assigned to the UEFI:NTFS partition
* Closes pbatard/uefi-ntfs#25
* Also make the UEFI:NTFS partition read-only for release version
2021-05-29 13:59:59 +01:00
Pete Batard
702a60630f
[appstore] update supported languages 2021-05-28 22:02:19 +01:00
Pete Batard
3db3bf527f
[appstore] add French to app listing 2021-05-27 16:49:46 +01:00
Pete Batard
f26fd2fbe3
[fido] add additional Authenticode validation before running the script
* This basically means that the script is validate *TWICE*, using two
  completely independent signatures, before it is allowed to run, which
  should add another mitigation layer against TOCTOU (which we already
  friggin' mitigated against anyway) and other potential vectors of
  attack.
* Also remove -DisableFirstRunCustomize option and the associated cookie
  prompt monitoring, which the latest version of Fido no longer requires.
* Also update WDK version for signtool and flesh out PKI error messages.
2021-05-27 00:19:25 +01:00
Pete Batard
3083324a0e
[internal] switch to using workflows to lock old issues
* GitHub's Lock bot has been replaced with a new lock action -> Use this.
2021-05-26 13:07:26 +01:00
Pete Batard
3bb83709da
[core] avoid the creation of 'System Volume Information' for ESPs written in DD mode
* Trying to mount accessible partitions after writing an image may lead to the
  creation of the infamous 'System Volume Information' folder on ESPs, which in
  turn leads to checksum errors for Ubuntu's boot/grub/efi.img (that maps to the
  Ubuntu ESP). So comment out that code.
* Also fix a missing CRLFs in the log after displaying write progress.
2021-05-18 15:18:28 +01:00
Oree111
03ef8aa024
[loc] fix a typo in Polish translation
* Closes #1730
2021-05-09 13:20:16 +01:00
Pete Batard
e22955aa2b
[core] fix fast-zeroing assertion 2021-05-04 21:04:30 +01:00
Sasa Vujanic
7e114ad55a
[loc] updated Croatian translation 2021-05-03 11:50:48 +01:00
Pete Batard
1c470a5ec2
v3.14 (build 1788) 2021-04-30 13:36:17 +01:00
Sasa Vujanic
2b5329037b
[loc] update Croatian translation to latest 2021-04-30 13:28:44 +01:00
Gintaras Venslovas
73f26d74b9
[loc] update Lithuanian translation to latest 2021-04-30 00:11:11 +01:00
anni deer
410f6e8170
[loc] update Danish translation to latest 2021-04-29 16:15:47 +01:00
Matej Horvat
e49ef606ab
[loc] update Slovenian translation to latest 2021-04-29 11:49:47 +01:00
Tiryoh
5553c8f2fd
[loc] update Japanese translation to latest 2021-04-27 21:28:06 +01:00
Костянтин Сергійович
3fdfa478ed
[loc] update Ukrainian translation to latest 2021-04-25 12:32:47 +01:00
Pete Batard
2bcb68efd8
[misc] update ChangeLog for BETA
* Since Ubuntu 21.04 forces a new release...
* Also update DB for latest GRUB "2.04" and fix a minor loc capitalization issue
2021-04-23 22:25:56 +01:00
Pete Batard
9c8fa40995
[ui] add forced DD mode exceptions for Red Hat based distros
* Anaconda broke ISO compatibility, most likely with the following commit:
  84529204fe
* However, Ret Hat, and its followers, have drunk the "DD only" kool aid, and
  appear to be blissfully unaware of the very real drawbacks that enforcing a
  "DD only" mode for ISOHybrid can actually place on distro users.
* Rather than spend another wasted effort trying get people, who appear to be
  impervious to even remotely consider the idea that DD imaging can have flaws,
  to look into the possibility that Red Hat might indeed have introduced a
  regression, and given the downright hostility I have been subjected to from
  trying to state this *very verifiable* fact, we'll just force DD mode for the
  affected Red Hat and derivatives, whilst trusting that users will be smart
  enough to compare their more limited installation experience against the ones
  from other distros (such as Arch, Debian or Ubuntu, which, unlike Red Hat and
  co., appear to fully understand that the whole ISOHybrid vs DD mode situation
  is not all black and white), and see for themselves which distros do actually
  place *their* interests first, rather than just the interests of the distro
  maintainers...
2021-04-23 17:04:55 +01:00
Pete Batard
16c0e8e2a2
[misc] UFD vs HDD detection improvements 2021-04-23 12:03:43 +01:00
Pete Batard
252759eb91
[grub] add yet another frigging patch to GRUB "2.04"
* GRUB 2.0 maintainer think they're doing a fine job, even when there are
  CRITICAL SECURITY FIXES that should warrant an immediate out of bound
  release, and instead consider that waiting MONTHS or YEARS to release
  anything is not a big deal at all.
* Ergo, distros, such as Ubuntu, start to pick whatever security patches
  they see fit, since they can simply not RELY on the upstream project to
  produce security releases in a timely manner. One such patch is:
  https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00012.html
* But since there is no new GRUB release per se, they still call their GRUB
  version, onto which they applied patches that have come into existence
  more than 2 years after the actual 2.04 release, "GRUB 2.04".
* Obviously, since GRUB 2.04 + literally hundreds of cherry picked patches
  does deviate a lot from the last release, THINGS BREAK IN SPECTACULAR
  FASHION, such as the recently released Ubuntu 21.04 failing to boot with
  the error: grub_register_command_lockdown not found.
* Oh, and of course, regardless of all the above, if you ask anyone, they'll
  tell you that there's nothing fundamentally wrong with the GRUB release
  process (even if they should long have released 2.05, 2.05-1 and 2.05-2,
  were their maintainer ready to acknowledge that delaying releases DOES
  CREATES MAJOR ISSUES DOWSTREAM, as many people REPEATEDLY pointed to them
  on the GRUB mailing list) or with the Ubuntu GRUB versioning process (that
  really shouldn't be calling their version of GRUB "grub-2.04" but instead
  something like "grub-2.04_ubuntu"). Oh no siree! Instead, the problem must
  all be with Rufus and its maintainer, who should either spend their lives
  pre-emptively figuring which breaking patch every other distro applied out
  there, or limit media creation to DD mode, like any "sensible" person
  would do, since DD mode is the ultimate panacea (Narrator: "It wasn't").
* So, once again, a massive thanks to all the people who have been involved
  in the current GRUB 2.0 shit show, whose DIRECT result is to make end
  users' lives miserable, while GRUB maintainers are hell bent on continuing
  to pretend that everything's just peachy and are busy patting themselves
  on the back on account that "Fedora recently dropped more than 100 of the
  custom patches they had to apply to their GRUB fork" (sic). Nothing to see
  here, it's just GRUB maintainer's Jedi business as usual. Besides, who the
  hell cares about Windows users trying to transition to Linux in a friendly
  manner anyway. I mean, as long as something doesn't affect existing Linux
  users, it isn't a REAL problem, right?...
2021-04-23 12:01:23 +01:00
Pete Batard
8f0d248a56
[misc] add regexp engine
* From https://github.com/kokke/tiny-regex-c
2021-04-22 22:43:20 +01:00
Pete Batard
a0904cad35
[core] switch to async I/O for image writing
* Combined with the increase in buffer size from previous commits, this
  should help us get close to a device's maximum write speed.
* Also add async write support to winio.h
* Also increase the buffer size for bad blocks check operations
2021-04-22 01:01:56 +01:00
Pete Batard
80eca5739d
[core] split zeroing and dd write operations
* This is in preparation for async reads
* Also move open/close image operations to WriteDrive()
* Also increase DD buffer size to 32 MB to improve performance
2021-04-21 22:58:41 +01:00
Pete Batard
d77a825ffd
[misc] don't overdo CoUninitialize calls
* 2e1833e91e introduced issues with VDS since, despite what
  Microsoft's documentation says, balancing CoInitialize with CoUninitialize
  leads to VDS not properly relinquishing disk access.
2021-04-14 18:13:36 +01:00
Suttirak Mattayawerakiat
c9a0fcd0bf
[loc] update Thai translation to latest 2021-04-13 17:36:18 +01:00
Jakub Zieciak
5abdce4b3c
[loc] update Polish translation to latest 2021-04-11 21:33:48 +01:00
Jakub Zieciak
a370a8ddc6
[loc] update Norwegian translation to latest 2021-04-11 21:32:30 +01:00
Pete Batard
2e1833e91e
[misc] improve CoInitialize calls
* Balance with CoUninitialize and add COINIT_DISABLE_OLE1DDE
* Also add /BREPRO linker flag for reproducible VS2019 release builds
2021-04-09 12:36:30 +01:00
Pete Batard
2a3e82fa96
[misc] switch to using LoadLibraryEx everywhere
* This allows us to further mitigate DLL side loading by enforcing
  LOAD_LIBRARY_SEARCH_SYSTEM32 / LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR.
2021-04-09 11:31:52 +01:00
Pete Batard
c9e71de898
[ui] disable drag and drop during drive creation
* Closes #1672
* Also fix Rufus MBR not being selected when switching partition scheme to MBR
* Also fix users being prompted twice for ISO → ESP
2021-04-08 17:29:13 +01:00
MaKK
f2ca5a3121
[loc] update Spanish translation to latest 2021-04-07 21:06:19 +01:00
Martin Kubánik
19326d151a
[loc] update Slovak translation 2021-04-07 10:43:33 +01:00
Riku Brander
6e6d3227a3
[loc] update Finnish translation to latest 2021-04-06 13:06:17 +01:00
Dinis Medeiros
9f1b37b77a
[loc] update Portuguese (Portugal) translation to latest 2021-04-03 20:43:32 +01:00
Chocobo1
629ae34fbd
[loc] update Chinese (Traditional) translation to latest
* Closes #1712
2021-04-03 20:38:37 +01:00
Jiawei Wang
574114d0ee
[loc] update Chinese (Simplified) translation 2021-04-03 20:38:34 +01:00
Thilo Langbein
2b87f89325
[loc] update German translation to latest 2021-04-02 22:07:56 +01:00
Miloš
4edb99e462
[loc] update Serbian translation to latest 2021-04-02 22:04:55 +01:00
Itiel
0e65eab27f
[loc] update Hebrew translation to latest 2021-04-02 17:01:32 +01:00
Aldis Tutins
06e6a3cbee
[loc] update Latvian translation to latest 2021-04-02 12:42:04 +01:00
Roberto Boriotti
6ae66d1adf
[loc] update Italian translation to latest 2021-04-02 12:39:19 +01:00
Thomas De Rocker
bba6684928
[loc] update Dutch translation to latest 2021-04-02 12:13:43 +01:00
Uk-Jin Jang
4f5246c7a9
[loc] update Korean translation to latest 2021-04-02 11:53:52 +01:00
Arif Budiman
0ae9c617f4
[loc] update Indonesian translation to latest 2021-04-02 11:30:56 +01:00
Sopor
286480e50a
[loc] update Swedish translation to latest 2021-04-01 23:32:59 +01:00
Mehmetali Kuran
be7f9d815e
[loc] update Turkish translation to latest
* Also fix a translation ChangeLog.txt typo
2021-04-01 23:29:31 +01:00
Pete Batard
fbd6521789
[loc] fix incorrect use of KB instead of byte in Russian translation 2021-03-31 19:11:43 +01:00
Pete Batard
5803d7ad8a
[loc] update French translation
* Also fix MinGW warning
2021-03-31 16:38:09 +01:00
Pete Batard
b3eca3451d
[loc] update for new translation round 2021-03-31 13:21:57 +01:00
Pete Batard
9dfa31db03
[appstore] improve AppStore version detection
* Also fix ESP prompt no longer appearing
2021-03-31 13:21:52 +01:00
Pete Batard
9aea069f84
[misc] update autotools support files 2021-03-25 23:57:34 +00:00
Pete Batard
29c10d3ee0
Update Grub4DOS and signature DB to latest
* Of course, since Grub4DOS's grldr.mbr hasn't changed from previous releases
  there's not much to update there, but then again, people like version bumps.
2021-03-25 21:19:13 +00:00
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
1f4a2aaf30
[misc] fix a warning in msapi_utf8.h
Also set the AppStore default codepage to UTF-8
2021-03-25 19:27:27 +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
b3daef6a67
[appstore] use a separate solution for App packaging
* Also update _chver.sh and fix version in Package.appxmanifest
2021-02-07 20:19:53 +00:00