Compare commits

...

346 Commits

Author SHA1 Message Date
Pete Batard bdff2dc45c
[core] work around Windows' moronic behaviour for mounted VHDs
* If you attempt to read past the end of a mounted VHD, not only will Windows happily
  return data that doesn't exist (instead of returning End of Disk), but it will also
  corrupt the existing data!
* So, to appease the capricious Windows gods, we now make sure that we never attempt
  to read (or write) past the boundaries of the source or target when writing images.
* This should address the last issue from #2468.
* Also set version to rufus-next and make some small improvement in winio.h.
2024-06-03 12:58:37 +01:00
Dayking Cheng ae3c65e7f8
[loc] update Chinese Traditional translation to latest 2024-05-26 11:50:42 +01:00
Pete Batard 9551655103
Rufus 4.5 (Build 2180)
* "Yeah, well, I'm gonna go build own translations, with blackjack (Google translate), and hookers (DeepL)!"
2024-05-22 12:02:44 +01:00
Pete Batard 59fd550c46
[core] do not set the UEFI:NTFS partition to ESP type
* As usual, Microsoft products are so poorly designed that they can't deal with
  multiple instances of one thing. In this case, if the Windows installer sees
  two ESPs after you select the drive where you want to install Windows and it
  creates its own ESP there, it will fail during the "CopyinG Windows Files"
  step.
* So make sure that the UEFI:NTFS partition is *not* set to ESP type, even
  though it is really an ESP, which is something that we used to do, but that
  got reverted in 0f23c47184.
2024-05-22 09:56:38 +01:00
Hugo Carvalho fcf5e2eede
[loc] update Portuguese (Portugal) translation to latest 2024-05-20 22:59:53 +01:00
Pete Batard a50d390767
[ui] don't preserve the UEFI runtime validation setting between sessions
* I don't think we want to make this setting permanent for the time being as
  this may result in drawbacks like people using the UEFI Shell going through
  an unwanted MD5Sum check because they forgot to turn it off.
2024-05-20 11:08:49 +01:00
Ana Pevac c5ade8c811
[loc] update Slovenian translation to latest 2024-05-20 10:41:46 +01:00
Костянтин Сергійович 1d4eea4926
[loc] update Ukrainian translation to latest 2024-05-16 11:11:23 +01:00
Pete Batard e596e1a550
[loc] update Pollock to prevent an issue with Outlook and whitespaces 2024-05-14 16:49:04 +01:00
Riku Brander 49be8c34b5
[loc] update Finnish translation to latest 2024-05-14 16:36:18 +01:00
Aldis Tutins 3fdf6e121f
[loc] update Latvian translation to latest 2024-05-14 16:25:46 +01:00
a1346054 97d69d84c6
[misc] correct author's name
* Closes #2477.
2024-05-13 17:07:59 +01:00
Pete Batard 45423becd5
[vhd] fix VHDX being inadvertently saved as VHD
* Addresses the error reported in #2468.
* Also use memmove instead of memcpy where overlapping data is involved.
2024-05-12 13:06:23 +01:00
Martin Kubánik fb43dc8957
[loc] update Slovak translation to latest 2024-05-12 12:26:17 +01:00
Roberto Boriotti d12e845b9a
[loc] update Italian translation to latest 2024-05-12 12:14:48 +01:00
Miloš Ljubičić 236b4e60eb
[loc] update Serbian translation to latest 2024-05-11 11:40:56 +01:00
Jakub Zieciak b2f06d746b
[loc] update Norwegian and Polish translations 2024-05-10 11:21:38 +01:00
Ben Gamer 8727d3b3f6
[loc] update Croatian translation to latest 2024-05-10 11:13:29 +01:00
Marco A. Ramirez Madrid ef2cac008d
[loc] update Spanish translation to latest 2024-05-10 11:08:51 +01:00
Csizmadia Gábor 9476bb41ad
[loc] update Hungarian translation to latest 2024-05-10 10:47:34 +01:00
五月雨 412f1c63da
[loc] update Japanese translation to latest 2024-05-10 10:42:13 +01:00
Christos Alvanos 0c38268665
[loc] update Greek translation to latest 2024-05-10 10:39:25 +01:00
Pete Batard 03d46b3d87
[misc] silence a benign log warning
* Also update ChangeLog for 4.5 BETA.
2024-05-08 15:44:32 +01:00
Pete Batard d0bc05077a
[misc] improve size based constants
* Make them more explicit by ensuring that they use a size suffix.
* Also improve whitespace consistency.
* Also make sure that we display the search for conflicting process message
  in the status on a search operation that may timeout.
2024-05-07 12:53:40 +01:00
Pete Batard 180a61736c
[misc] move the revoked UEFI bootloader prompt before the ISO → ESP one
* Also fix a potential buffer overflow when displaying the detailed HDD vs UFD score due to the
  safe_sprintf() macro re-evaluating the expression passed as parameter.
* Also refactor and clean up the the safe_###() macros to avoid similar issues.
* Also use FOF_NO_UI as flag for SHDeleteDirectoryExU(), which may alleviate some Alt-D errors.
2024-05-06 19:47:36 +01:00
Pete Batard 2106be0c3b
[iso] fix an assertion with mt86plus_7.00_64.grub.iso
* Also fix a couple typos in Brazilian Portuguese translation.
2024-05-06 19:39:26 +01:00
Marcos Mello ddc7f1b89d
[loc] update Portuguese (Brazilian) translation to latest 2024-05-03 20:12:35 +01:00
Pete Batard 39a5ae6d36
[core] fix "drive cannot find the sector requested" when writing VHDs
* As opposed to the ERROR_HANDLE_EOF we get when reading sectors from the VHD file directly, now that we mount
  VHD/VHDX for reading, and access them as regular disks, we also need to process ERROR_SECTOR_NOT_FOUND as an
  indicator for the end of the drive.
* Also switch to using GetOverlappedResultEx() with a timeout since we no longer have to cater for Windows 7.
* Closes #2468.
2024-05-01 12:48:42 +01:00
Pete Batard cba95f7710
[grub] update GRUB to 2.12 release 2024-04-30 11:59:40 +01:00
Erfan Al 4df3fd8d16
[loc] update Persian translation to latest 2024-04-30 11:57:20 +01:00
VenusGirl d38664dde8
[loc] update Korean translation to latest 2024-04-29 10:44:27 +01:00
Mehmetali Kuran 7d63b78571
[loc] update Turkish translation to latest 2024-04-29 10:39:27 +01:00
Wang JiaWei 2767fdbfd3
[loc] update Chinese Simplified translation to latest 2024-04-29 10:36:34 +01:00
Ahmed Rasnaama 569b1e2971
[loc] update Arabic translation to latest 2024-04-29 10:31:15 +01:00
Pete Batard 2a6df95cad
[iso] fix persistence option not being added for Ubuntu 24.04
* Ubuntu changed their GRUB config format yet again, so our search for the kernel
  config no longer works, and the 'persistent' option doesn't get added.
* Switch to a more generic '/casper/vmlinuz' search, though it might have unintended
  consequences...
* Also fix a possible double free in FormatExtFs().
2024-04-28 13:56:18 +01:00
Pete Batard 83e0bdad7a
[md5sum] fix unwanted partial matches in is_in_md5sum()
* is_in_md5sum() could partially match a string against another one, which, aside from matching
  unwanted files, could also lead to files not being identified as being in the md5sum.txt if
  the previous partial match happened to be with the current search target.
* Fix this by making sure that we always match a whole path followed by '/n', '/r' or '/0'.
2024-04-28 13:26:38 +01:00
Pete Batard df9e333f3a
[md5sum] fix bootloaders not being extracted unless referenced in md5sum.txt
* Not all md5sum.txt (e.g. Ubuntu 24.04) will reference the UEFI bootloader,
  so we can't rely on using that data for the bootloader extraction.
* Instead, formally test for the presence of the bootloader on disk.
2024-04-27 18:21:57 +01:00
Pete Batard 4ec57dc5d7
[iso] fix improper size being returned by ExtractISOFile()
* The call returned the size occupied in blocks rather than the actual file size,
  leading to issues such as Rufus not being able to identify the GRUB version used
  by Ubuntu 24.04.
2024-04-26 21:54:43 +01:00
Pete Batard 6ac2dfb0df
[misc] fix temp_dir not being properly initialized
* The static_/safe_ string macros were not properly designed to handle the case where
  an expression such as strlen() rather than a static value was passed for the count,
  leading to unexpected results, such as excessive truncation of strings. Fix that.
* Also fix a buffer overflow in GetDevices() due to using a wrong string length.
2024-04-26 19:15:48 +01:00
Suttirak Mattayawerakiat 00dc0473b5
[loc] update Thai translation to latest 2024-04-26 12:57:20 +01:00
Pete Batard 4286871f50
[loc] fix versioning for Russian and French
* Also update README for upcoming feature.
2024-04-26 11:06:37 +01:00
Thilo Langbein 2c3e560ba3
[loc] update German translation to latest 2024-04-26 10:54:32 +01:00
Thomas De Rocker 2ecb8b54b2
[loc] upate Dutch translation to latest 2024-04-26 10:52:09 +01:00
Sopor 4019bc135f
[loc] update Swedish translation to latest 2024-04-26 10:46:05 +01:00
Дмитрий Ерохин 0a956f38b0
[loc] update Russian translation to latest 2024-04-26 10:19:13 +01:00
Itiel 37ccc8d1e1
[loc] update Hebrew translation to latest 2024-04-26 10:12:20 +01:00
Mike Handberg Hovedskov 13ae9b3339
[loc] update Danish translation to latest 2024-04-26 10:09:45 +01:00
Richard Kahl 11f74cde01
[loc] update Czech translation to latest 2024-04-26 10:05:09 +01:00
Fedorovici Constantin-Robert b28eb88e3b
[loc] update Romanian translation to latest 2024-04-26 10:01:50 +01:00
Minh Nguyễn Quang 8b0531e4dc
[loc] update Vietnamese translation to latest 2024-04-26 09:56:56 +01:00
Pete Batard 855a06d3a0
[loc] update French translation to latest
* Also change the time of cron execution for the lock issues workflow.
2024-04-25 12:51:28 +01:00
Pete Batard eb45c97667
[bled] fix memory allocation issue for 32-bit in unpack_lzma_stream()
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
* Also update the lock thread workflow to try to avoid recent failures.
2024-04-22 12:56:28 +01:00
Pete Batard 513c5f44a5
[misc] fix possible buffer overflows in _snprintf()
* _snprintf() is not always guaranteed to NUL terminate a string which could
  lead to  buffer overflows in iso_extract_files() and iso_extract_files().
* Fix this by switching to using the more secure _snprintf_s().
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
* For good measure, we also switch to the strncat_s() where possible and also
  use memmove() instead of memcpy()/strcpy() as the behaviour of the latter on
  overlapping memory regions is undefined.
* Also fix some additional MinGW warnings regarding casts and nb_blocks.
2024-04-17 17:19:03 +01:00
Pete Batard 92ac1c770c
[wue] don't display WUE when '/sources/$OEM$/$$/Panther/unattend.xml' exists
* Closes #2451.
* Also update Coverity workflow to use latest actions/upload-artifact.
2024-04-15 16:35:52 +01:00
Pete Batard f813eb05d8
[iso] fix a buffer overflow in syslinux.c
* p[safe_strlen(p)] = 0; was pointless and could lead to a buffer overflow if
  the string was not already NUL terminated, so remove it and make sure we
  process a buffer that either contains legitimate Syslinux version strings
  (that are NUL terminated always) or that has been read through read_file()
  (that always adds a NUL terminator to the buffer).
* Also fix some whitespaces in related code sections and switch to using
  read_file() for GRUB version lookup.
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
2024-04-10 10:26:31 +02:00
Pete Batard 34e6e43a97
[efi] update UEFI:NTFS to latest
* This updates UEFI:NTFS to the v2.5 release:
  https://github.com/pbatard/uefi-ntfs/releases/tag/v2.5
2024-04-09 22:49:31 +02:00
Pete Batard 8a8e418751
[iso] fix a buffer overflow in iso9660/iso9660_fs.c
* Whereas the length of the buffer allocated for the UTF-8 filename string is
  the same length as the UCS-2 (which means it can store twice as many UTF-8
  bytes as there are characters in the filename), it is still possible for the
  converted UTF-8 string to overflow this buffer if the name contains glyphs
  that use 3 or 4-byte sequences.
* As a result, use strncpy with the actual size of the UTF-8 filename buffer
  (the following bytes are calloc'd to zero so the truncated string will be
  NUL terminated) and produce a warning if the filename is truncated.
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
2024-04-09 00:09:21 +02:00
Pete Batard 4eda8d9d5c
[process] add extra exception handling on NtClose()
* Also fix a typo in Norwegian translation (Closes #2453).
2024-04-04 17:40:20 +01:00
Pete Batard 5061af2b7c
[md5sum] compute and add md5sum_totalbytes to pre-existing md5sum.txt 2024-04-04 17:28:00 +01:00
Pete Batard dd8314b2f0
[ui] add runtime UEFI media validation as a selectable advanced option
* Also add Ctrl-A as a new cheat-mode to toggle the use of Rufus MBR (which is enabled by default)
  which replaces the previous UI checkbox. The Disk ID field is now completely removed as we now
  use the default values for XP and non XP installs, and will expect people with multiple disks to
  disconnect all except the one where they plan to install Windows.
2024-04-02 17:18:06 +01:00
Pete Batard 6dac531552
[misc] don't pass an output size in DeviceIoControl() when not needed
* Also improve partition creation and address 2 Coverity warnings.
2024-04-01 14:56:06 +01:00
Pete Batard 8a5a5a318a
[misc] improve readability of error code handling
* Also don't pass a read size value in WriteFileWithRetry() if we don't use it.
2024-04-01 02:16:41 +01:00
Pete Batard 52ca79816f
[md5sum] Add md5sum.txt creation and runtime UEFI validation
* This allows *runtime* validation of UEFI bootable media, such as Windows
  or Linux installers, which, considering the unreliability of USB flash
  drives, we assert is a a much better proposal than write-time validation
  that utilities like balenaEcther (and to a lesser extent MCT) provide.
* Based on uefi-md5sum (https://github.com/pbatard/uefi-md5sum).
* Unconditionally activated on ISO extraction for GPT targets for now.
  This will be changed to a user selectable option later.
2024-03-29 00:48:05 +00:00
Pete Batard b7568ab30a
[uefi] add the uefi-md5sum resources
* See https://github.com/pbatard/uefi-md5sum.
* The ia32, x64 and aa64 have been Secure Boot signed by Microsoft.
2024-03-28 23:50:41 +00:00
Pete Batard a59389e1e1
[misc] move hash definitions to rufus.h
* Also always add an extra NUL to read_file(), some additional macros in missing.h
  and fix some warnings in process.c.
2024-03-27 19:02:24 +00:00
Pete Batard d3f78c4e01
[efi] update UEFI:NTFS to latest
* Also fix missing original translator for Korean and remove an unwanted warning message.
2024-03-25 18:56:23 +00:00
Pete Batard 5eae8a6441
[cmp] Enable extraction of zip archives outside of ISO copy mode
* This enables the use of Ctrl-SELECT to also extract files from a .zip
  when using non-bootable, DOS, UEFI-NTFS, etc.
* Also clean up some uprintf line terminations and some additional code.
* Also fix some Coverity and MinGW warnings.
2024-03-12 17:41:27 +00:00
Pete Batard abc33122a0
[iso] increase write buffer size to work around a bug in the AMI UEFI NTFS driver
* The AMI UEFI NTFS driver (version 0x10000), which is used in many modern systems from
  ASUS, Gigabyte, intel and so on, has a major bug whereas depending on the size of the
  buffers that are used to write the data onto the NTFS volume from Windows, as well as
  read the data from the NTFS volume from UEFI, the data being read may be incorrect
  (for details on this, see https://github.com/pbatard/AmiNtfsBug).
* Especially, it appears that if the size of the buffer used to write data on Windows is
  smaller than the NTFS cluster size, the bug may be triggered.
* Because of this, we increase the size of ISO write buffer to 64 KB since, per
  https://support.microsoft.com/en-gb/topic/default-cluster-size-for-ntfs-fat-and-exfat-9772e6f1-e31a-00d7-e18f-73169155af95
  this is the maximum cluster size that can be used for NTFS volumes.
* This increase in size should also help with performance somewhat.
* Also add support for C11's _Static_assert() which may come handy.
2024-03-12 12:53:30 +00:00
Pete Batard 8738e7a7de
[vhd] fix truncated write operation when using a VHDX image as source
* The legacy code we used for writing disk images used the size of the source image as
  the maximum number of bytes we should copy, which is fine for uncompressed DD or VHD
  images, but not so much for compressed VHDX ones. So we now make sure to use the
  actual size of the virtual disk, which we obtain when mounting the VHD/VHDX.
* Also fix log progress update as well as a MinGW warning.
2024-03-04 00:49:57 +00:00
Bella Zhang 026afa7e3d
[iso] add Circle Linux to the list of Red-Hat derivatives
* Closes #2414.
2024-02-09 17:04:40 +00:00
Pete Batard 172888ac32
[dos] fix a CodeQL warning and harmonize code 2024-02-09 17:00:42 +00:00
Pete Batard 15e3886499
[iso] enable persistence support for Linux Mint
* Mint users sure are lucky that one of them *lied their way through* pretending that
  persistence actually used to work with previous version of Mint, when it never did,
  because they got us going through a whole refactor of the partition creation process
  just so we could make Mint persistence work.
* Closes #2428.
* Also fix a Coverity warning.
2024-02-09 16:59:28 +00:00
Pete Batard 0f23c47184
[misc] refactor partition creation 2024-02-08 14:17:03 +00:00
Pete Batard 164d4b0ab0
[misc] update workflows to use upload-artifact@v4
* See actions/upload-artifact#483, actions/upload-artifact#472#issuecomment-1861571655
  and ultimately https://github.com/actions/upload-artifact/blob/main/merge/README.md.
2024-02-07 20:11:09 +00:00
Pete Batard 1be7eaf306
[net] fix Fido script not being able to be launched again on user cancel
* Also update workflows to latest setup-msbuild
* Closes #2419
2024-02-07 19:24:17 +00:00
Pete Batard ac9a3f42d8
[misc] fix revoked bootloaders message does not display when using MBR
* Also update version to rufus-next
2024-02-06 20:02:36 +00:00
Pete Batard c2b2624b62
[vhd] improve handing of user selected filename on save to VHD/FFU
* Use of '*.*' as pattern in file save dialog could lead to assert and crash, so
  we now try to derive the type of image to be saved from the file extension. We
  also did not properly handle user cancellation in the file save dialog.
* Also update iso9660/iso9660_fs.c to latest proposal of El Torito image handling.
* Also add a couple asserts in the hash table functions so that, if these ever get
  triggered we will pick them from Windows Store reports, and clean up code.
2024-02-03 18:39:44 +00:00
Pete Batard 018ed3414b
[iso] improve El Torito image handling
* Update to latest libcdio proposal and fix incorrect image size.
* Also remove unnecessary calls in packme.cmd.
2024-01-24 17:51:40 +00:00
Pete Batard f6fd520d2a
[appstore] prevent packaging of ALPHA or BETA versions
* Also add package version override
2024-01-18 14:24:53 +00:00
Pete Batard b63f9ae93c
Rufus 4.4 (Build 2103) 2024-01-17 14:11:50 +00:00
Pete Batard fff39c56e8
[misc] fix UEFI:NTFS partition not being added when needed in MBR mode
* Also add support for SD card readers identifying themselves as SDXC.
2024-01-17 14:10:46 +00:00
Pete Batard 710bfe7f4d
[iso] work around ISOs that use broken symbolic links for UEFI bootloaders
* Per linuxmint/linuxmint#622 some ISOs may have a /EFI/boot/bootx64.efi that
  is a symbolic to a nonexisting file.
* This is originally due to a Debian bug that was fixed in:
  5bff71fea2
* Work around this by trying to extract a working bootx64.efi from the El-Torito image.
* Also improve DumpFatDir() to not replace already existing files.
2024-01-16 17:27:37 +00:00
Pete Batard ae6732c07b
[iso] add basic El-Torito image parsing to libcdio
* Based on El-Torito specs found at https://pdos.csail.mit.edu/6.828/2014/readings/boot-cdrom.pdf.
* Follows 7-zip's virtual '[BOOT]/#...' naming conventions (though we don't check for the full name).
* Limited to 8 NoEmul images.
2024-01-16 17:21:32 +00:00
Fred 2cebf914fd
[fat] align start of data region to MB
* Closes #2387
2024-01-10 13:36:50 +00:00
Pete Batard 70e87482c1
[misc] add some more Windows edition names
* Closes #2380
* Also fix a typo in the Norwegian translation, with thanks to @Legendarion
* Closes #2397
2024-01-10 12:53:07 +00:00
Pete Batard ebe01cc7b6
[dev] filter out Microsoft Dev Drives
* Microsoft Dev Drives are VHDs consisting of a small MSR followed by a large (50 GB or more)
  ReFS partition. See https://learn.microsoft.com/en-us/windows/dev-drive/.
* Closes #2395.
2024-01-08 16:43:52 +00:00
Pete Batard 51569d9e13
[misc] silence Coverity warnings
* Also update copyright year and improve uprintf error handling
* Also bump GitHub Actions dependencies. Note that we do NOT want to update to
  upload-artifact v4 because it BREAKS the creation of artifacts from matrix.
  See: https://github.com/actions/upload-artifact#v4---whats-new
* Closes #2382
* Closes #2383
2024-01-08 14:34:57 +00:00
dependabot[bot] 965d82c425
bump dessant/lock-threads from 4 to 5 (#2359)
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 4 to 5.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v4...v5)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-25 18:24:40 +00:00
johnloopi b6d14d46df
[loc] Fixed typo in Norwegian translation
* Closes #2351
2023-11-14 12:13:49 +00:00
Pete Batard 89c1f8a72c
[iso] add BIOS support for Artix Linux
* Unfortunately, the Artix maintainers decided *NOT* to include the fat
  GRUB module for UEFI, so this will only work for BIOS boot...
2023-11-09 18:06:06 +00:00
Pete Batard e0b5c6d96f
[misc] improve the code related to the commandline hogger deletion
* Also small additional code improvements
2023-11-09 17:39:38 +00:00
Pete Batard 58c56eb398
[vhd] fix a crash when saving .ffu images with release version
* Also update Rufus next to 4.4
2023-10-27 22:45:24 +02:00
Pete Batard 020e0b7c3a
Rufus 4.3 (Build 2090)
* Also fix a CodeQL warning in process.c
2023-10-19 10:31:19 +01:00
Pete Batard 8edb487ac9
[misc] update ChangeLog for 4.3 BETA
* Also minor code cleanups and improvements.
2023-10-12 19:46:10 +01:00
Pete Batard 1630e912d4
[iso] add exception for Mint's LMDE
* Mint have decided to make their installation rely on a working /live/ ➔ /casper/ symlink for LMDE
  thereby breaking the promise of File System Transposition that all Debian derivatives should have.
* Because of this, trying to use FAT32 with LMDE will fail, as reported in linuxmint/live-installer#152.
* Therefore, now that we can replicate symlinks on NTFS, we add an exception to always enforce the use
  of NTFS for LMDE.
2023-10-12 18:28:56 +01:00
Pete Batard e9d588a6e0
[iso] add symlink support for target file systems that support it
* For now that means only NTFS. And we only do that for ISO-9660/Rock Ridge images.
2023-10-12 17:32:20 +01:00
Pete Batard 0bd38abd4e
[syslinux] improve support for Syslinux based Slax ISOs
* For some weird reason appending the base directory to the root syslinux.cfg
  we create does not appear to work with Slax. So we now always patch ldlinux.sys
  to include the base directory.
* Also add an exception to move the /slax/boot/EFI directory to /EFI.
* It should be noted that, as of slax-64bit-slackware-15.0.3.iso, the Slax UEFI
  Syslinux bootloaders appear to be broken (since creating a media without using
  Rufus at all per the Slax documentation does *not* produce a USB drive that was
  bootable in UEFI mode on 2 of the machines I tried).
* Also clean up some iso.c code and fix some unreachable code in ntfssect.c.
* Closes #2336.
* Closes #2338.
2023-10-11 20:46:46 +01:00
Pete Batard 45a5f22d43
[process] move the search for conflicting process to a background thread
* Removes the annoyance of having to wait for the process search to complete before media creation can start.
* Also update the "Process Hacker" references to its new "System Informer" name.
2023-10-10 22:22:45 +01:00
Pete Batard 8859c59548
[iso] count Rock Ridge duplicated files into the total size to process
* Duplicated symlinked Rock Ridge files were not counted into the total size needed
  to process the image and as a result, progress could go over 100% when extracting
  data (e.g. debian-live-12.1.0-amd64-lxqt.iso).
* Fix this by adding the duplicated files twice in the total block size.
2023-09-23 17:07:55 +01:00
Pete Batard 1fc790295c
[efi] update UEFI:NTFS to latest
* Add Windows bootmgr detection to report a more explicit error on security issues.
2023-09-08 17:33:25 +01:00
Pete Batard 99bffe8364
[misc] add '.wic' to the list of default image extensions
* '.wic' are DD images used by the Yocto project.
* Why Yocto chose to use their own extension instead of using the de-facto '.img' is beyond me but hey...
* Also update GitHub Actions dependencies to latest.
* Closes #2319.
2023-09-08 17:14:09 +01:00
Pete Batard 98725a0d5f
[misc] fix improper processing of net related errors
* With thanks to @Wack0
* Also silence a Coverity warning
2023-09-08 16:58:41 +01:00
Pete Batard 94ecf74c5f
[misc] use FORMAT_MESSAGE_FROM_HMODULE where possible and drop our custom message tables 2023-09-04 11:41:35 +01:00
Pete Batard d5bf53054b
[misc] improve retrieval of core directories
* This *might* help with the issue reported in #2296.
2023-08-28 11:08:03 +01:00
Pete Batard 866aa22a8b
[iso] fix Debian 12 Live not using persistence in BIOS mode
* The Isolinux/Syslinux append line has been moved to /isolinux/live.cfg
  so make sure we patch that file when persistence is enabled.
2023-08-27 23:03:43 +01:00
Pete Batard 9c6b1ad977
[vhd] fix Rufus being unable to open .vhd images
* Due to a typo in vhd.c where the second safe_stricmp() should be against ".vhd" and not ".vhdx" again.
* Also enable the ignore boot marker bypass for VHD/VHDX/FFU and don't misreport those images as
  "compressed disk images".
* Closes #2309.
2023-08-20 13:12:38 +01:00
Pete Batard 5b6574d6f6
[misc] add S Mode detection to Windows version reporting
* With thanks to @Wack0
2023-08-18 17:38:12 +01:00
Pete Batard c5ad16fdeb
[wue] add an expert feature to restrict a Windows installation to S Mode
* This is placed behind an expert wall (Ctrl-Alt-E) on account that:
  - If you happen to boot a Windows To Go drive in S Mode on a computer, it may set any
    existing Windows installation there to S Mode as well, *even if their disk is offline!*
  - It can be *exceedingly* tricky to get out of S Mode, as the SkuPolicyRequired registry
    trick alone may not be enough (i.e. You can have very much a Windows install in S Mode
    *without* SkuPolicyRequired being set anywhere).
* Also set version to rufus-next and fix a ChangeLog typo.
2023-08-15 11:15:16 +01:00
Pete Batard 5084317dd7
Rufus 4.2 (Build 2074)
* Also update UEFI:NTFS's NTFS driver to v1.7
2023-07-26 12:54:49 +01:00
AJIOB b81b440a20
[uefi] fix search for bootloaders in FAT images that have an 'EFI' volume label
* Per https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Directory_entry it
  is possible to have a FAT directory entry with a 'EFI' volume label alongside with
  a 'EFI' subdirectory.
* If that happens, then the current Syslinux libfat_searchdir() code may treat the
  'EFI' volume label as an empty subdirectory and say that there are no bootloaders,
  even if the 'EFI\Boot\Boot###.efi' binaries really do exist.
* Fix this by filtering out entries with the 'volume label' attribute (0x08).
* For good measure, also filter out entries with the 'device' attribute (0x40), as
  it is technically possible to create a 'EFI' device leading to the same issue.
* Closes #2288.
* Closes #2289.
2023-07-24 23:55:47 +01:00
Pete Batard 64e85ed09a
[uefi] don't revoke Windows 11 or post Windows 10 20H1 boot media yet
* As opposed to what we originally asserted, Microsoft did enact a blanket revocation
  in SkuSiPolicy.p7b for all post 1703 up to 2305 Windows UEFI bootloaders.
* As a result, unconditionally copying SkuSiPolicy.p7b will result in media as recent
  as Windows 11 22H2 (v1) being flagged as revoked, which we don't want to enforce as
  long as Microsoft themselves haven't entered the enforcing phase of their Black
  Lotus mitigation (currently planned for early 2024).
* Because of this, while we add some revocation detection for post 1703 bootloaders,
  we set it to only go as far as 20H1 for now, which means that all post 20H1 Windows
  10 media and all Windows 11 media will not yet be flagged by Rufus as revoked and
  will still boot in a Secure Boot environment due to lack of an SkuSiPolicy.p7b.
* Ultimately, per #2244 we may look for a BOOTMGRSECURITYVERSIONNUMBER resource to
  blanket revoke all post 1703 - pre 2305 Windows UEFI bootloaders.
* Also remove the now unused comdlg32 library from the linker.
2023-07-15 23:20:59 +02:00
Pete Batard 3329304e67
[grub] update DB for GRUB 2.12~rc1
* Also fix some Coverity warnings in stdlg.c.
2023-07-13 10:11:52 +02:00
Pete Batard 65b84ea99d
[loc] update French translation 2023-07-10 12:40:55 +02:00
Pete Batard 5191c68337
[ui] keep user preferred image type when saving drive to VHD
* Also fix a Coverity warning and use a better description for SELECT image types.
2023-07-10 11:34:50 +02:00
Pete Batard 5bbcba8534
[vhd] add write support for .vhdx and .ffu images
* Also move VHD mounting function calls from iso.c to vhd.c and remove unused VHD footer elements.
2023-07-06 19:47:26 +01:00
Pete Batard f411d526d6
[misc] attempt to fix DLL address resolver for ARM64
* SymLoadModuleEx() on the DLL fails (with ERROR_SUCCESS, sic) on ARM64, so we have to resort
  to loading the DLL in memory and look for the "RSDS" section to access the GUID and Age.
* Except that, once you sort that, you end up with SymEnumSymbols() producing two separate
  addresses for each symbol, on account that the Windows 11 ARM64 DLLs are actually an
  unholy union of X64 and ARM64 *in the same binary*, under an abomination that Microsoft
  calls ARM64X (See https://learn.microsoft.com/en-us/windows/arm/arm64x-pe for details).
* And, of course, Microsoft did not provide any means during PDB enumeration to tell which
  address is for which arch. Especially, the bloody pSymInfo->TypeIndex, that they could
  easily have used for this, is utterly pointless as it remains set to 0...
* This means that, even after all this effort, we're still nowhere close to have a solution
  that can make DLL address resolution work on Windows 11 ARM64.
2023-07-05 22:25:25 +01:00
Pete Batard 0363bfe503
[misc] add an address resolver for internal DLL function calls
* Not sure if we'll use this to hook into FfuCaptureImage()/FfuApplyImage()/FfuMountImage()
  directly. But at least, if we ever need it, it's there...
2023-07-05 18:36:58 +01:00
Pete Batard ef345bf106
[uefi] fix UEFI bootloader extraction when case doesn't match
* With ISO-9660 being case sensitive, we could end up in situations where trying to extract
  '/efi/boot/bootx64.efi' for revocation validation would fail if the file on the image was
  stored as '/EFI/boot/bootx64.efi' (e.g. Debian 12).
* Fox this by storing the exact UEFI bootloader path we detected during ISO scan, and using
  this path for file extraction.
* Also add a Cancel choice to the revocation dialog and harmonize whitespaces.
2023-07-04 18:05:30 +01:00
ИEØ_ΙΙØZ bb66dfc492
[loc] update Traditional Chinese translation
* Closes #2274.
2023-07-04 13:29:27 +01:00
Pete Batard 10dbfdd7e1
[core] make sure the main partition size is aligned to the cluster size
* Having NTFS partitions properly aligned to the cluster size can drastically
  improve the speed of capturing a disk to an FFU image, as, when the size
  is aligned, the FFU capture uses the actual NTFS allocation map to only read
  and capture the clusters that are actually in use, whereas, if no aligned,
  FFU capture falls back to a sector by sector copy that is both much slower
  and also includes unwanted leftover garbage.
* Also only enable FFU when we detect FFUProvider.dll as a system library.
2023-07-04 13:26:04 +01:00
Pete Batard 0b1c68635a
[vhd] add experimental save to Full Flash Update (FFU) image support
* Full Flash Update (FFU) image support was added to dism with Windows 10 1709
  and is an alternate way to save a virtual hard disk for restoration.
* While more modern than VHD/VHDX, FFU creation only works for drives with file
  systems that Windows natively recognizes (FAT, NTFS) and that look like Windows
  installation media, so you can forget about FFU'ing a Linux disk.
* The other *intentional* drawback that Microsoft added is that they don't want
  anybody but themselves being able to create and restore FFU images, so, even
  as they have nice FfuApplyImage()/FfuCaptureImage() calls in FfuProvider.dll
  they have decided not to make these public.
* This means that, since we don't have time to spend on figuring and direct
  hooking internal DLL calls for x86_32, x86_64, ARM and ARM64 (and worrying
  that Microsoft may ever so slightly change their DLL between revs to break
  our hooks), we just call on dism.exe behind the scenes to create the FFU.
2023-07-03 23:57:04 +01:00
Pete Batard f9370e002e
[iso] fix a crash when parsing Windows ISOs with MinGW x86_32
* MinGW32's delay loading functionality is not yet up to par with MSVC's and especially, for
  some libraries (wininet, virtdisk) attempting to delay load them simply crashes the runtime.
* This results in the MinGW32 version of the app crashing when selecting a Windows ISO, as we
  will then try to mount the ISO using virtdisk to poke the build version. Note that this crash
  does not happen with the MinGW64 version or with MSVC.
* Closes #2272.
* Also fix a Coverity warning in SaveImageThread() and improve the VHD saving code.
2023-07-02 13:15:51 +01:00
Pete Batard d4c9f2dfa1
[vhd] enable saving device to compressed VHDX
* Now that we don't have to deal with Windows 7, we can use CreateVirtualDisk() to
  automatically dump a physical disk to VHD/VHDX, so do just that
* Also move the relevant VHD/ISO imaging call to the appropriate source.
2023-07-01 20:43:26 +01:00
Pete Batard 1476e9cd8b
[uefi] fix path of SKUSiPolicy.p7b for WOW
* 32-bit x86 running on 64-bit x86 Windows needs to get SKUSiPolicy.p7b from sysnative.
* Also fix automatic extension switching in file dialog and a small MinGW warning in Bled.
2023-07-01 20:22:10 +01:00
Pete Batard c47ee4c435
[cmp] update Bled to latest
* Adds the provision of default buffer size in bled_init()
2023-06-30 13:05:42 +01:00
Pete Batard c717c7789b
[cmp] further ZIP64 and overall Bled improvements
* The ZIP64 extra record may not be the first one, so add processing for all extra zip records.
* Also add extra sanity checks to try to appease Coverity and properly detect short writes.
2023-06-29 21:15:35 +01:00
Pete Batard f233191d54
[cmp] update Bled to latest
* This adds ZIP64 support, which is required to extract zip archives that are larger than 4GB.
* Closes #2264
* Also fix a MinGW warning in pki.c and improve the UEFI revocation messages.
2023-06-28 17:40:11 +01:00
Pete Batard 52a5551749
[uefi] improve revoked UEFI bootloader reporting
* Remove duplicates from Microsoft's SKUSiPolicy.p7b
* Also display the number of revoked from embedded
* Also use Microsoft's official capitalization for SKUSiPolicy.p7b's target path
2023-06-22 11:18:49 +01:00
Pete Batard 16570f8662
[uefi] warn about revoked UEFI bootloaders when creating Windows To Go drives
* Also move the warning after the WUE dialog.
* Also work around another possible access violation in process.c.
2023-06-19 10:38:30 +02:00
Pete Batard c59e9209eb
[uefi] factorize SkuSiPolicy.p7b copying code and apply it for Windows To Go
* Also don't forget to credit the original authors of the PowerShell gist we derived our code from!
2023-06-19 00:04:08 +02:00
Pete Batard 7eb9a6f16b
[misc] fix some benign Coverity warnings 2023-06-18 19:09:15 +02:00
Pete Batard be5b590cfb
[uefi] add parsing and copying of the system's SkuSiPolicy.p7b
* Instead of embedding the content of the most recent revoked bootloader hashes in db.h
  we now parse the system's SkuSiPolicy.p7b to do so. This has the drawback of not alerting
  users running Rufus on systems where SkuSiPolicy.p7b is not up to date, but I believe the
  trade-off is worth it.
* We now also copy the system's SkuSiPolicy.p7b to the created media when possible (for
  Windows 10 or later), so that Microsoft's WDAC UEFI revocations can apply during boot.
2023-06-18 19:07:45 +02:00
Pete Batard 43764268de
[uefi] add detection and warning for revoked bootloaders
* Considering that alerting users to potential security breaches that may be
  exploited by boot media should also be performed by application that create
  them, we add detection for all the currently known revoked UEFI bootloaders,
  be it the ones from the official UEFI DBX as well as the ones from Windows'
  SkuSiPolicy.p7b, and warn the user when one such bootloader is detected on
  their source media.
* Note that, to actually be revoked, the bootloaders flagged through SkuSiPolicy
  require the copying of the .p7b to the boot media, which we are currently
  not enacting but will perform in a subsequent commit.
* Also fix a Coverity warning in hash.c.
2023-06-16 20:36:50 +02:00
Pete Batard c4b1b23832
[hash] add PE256 hash functions
* Mostly copied from U-Boot's https://github.com/u-boot/u-boot/blob/master/lib/efi_loader/efi_image_loader.c
2023-06-13 17:57:34 +02:00
Pete Batard 090bfb9770
[misc] rename checksum.c to hash.c 2023-06-11 16:18:26 +01:00
Pete Batard 3e81b38c2d
[misc] try to support folks who use a symlink for their temp dir
* Microsoft's WIM mounting APIs can't use symlinked directories and
  some folks want to use a symlinked temp dir...
* Closes #2084
2023-06-05 14:08:25 +01:00
Pete Batard 71e99add76
[iso] increase ISO → ESP limit for Debian 12
* Debian 12 ARM64 netinst ISOs have doubled in size to be larger than 512 MB,
  so we need to increase MAX_ISO_TO_ESP_SIZE as a result.
* Also add extra NULL checks in process.c as some people seem to run into
  NULL deref issues.
* Also set version to rufus-next and update some URLs/text files.
2023-06-05 13:29:18 +01:00
Pete Batard beb847511b
Rufus 4.1 (Build 2045)
* Also revert GRUB 2 core.img to vanilla 2.06, with the hope that GRUB will
  *ACTUALLY* bother to release in 2023 and we will be able to update to
  GRUB 2.12 (or whatever non-sequential version they decide to go with) to
  say a most welcome goodbye to this whole 2.06 incompatibility crap!
2023-05-31 18:24:46 +01:00
Pete Batard 30ccf24ca4
[wue] add TCGSecurityActivationDisabled when BitLocker is disabled
* Closes #2253
2023-05-30 14:42:07 +01:00
Pete Batard 109df708b4
[misc] add an exception for 23A9:EF18 UFDs
* Closes #2247
2023-05-29 18:04:42 +01:00
Pete Batard 4d89e83b5d
[ui] change the log icon to something more explicit
* Hopefully a notepad/logbook icon will be more intuitive.
* Also tweak the new message for diskcopy.dll download and add French translation.
2023-05-27 16:18:22 +01:00
Pete Batard 600b8fc787
[efi] update UEFI:NTFS's NTFS drivers to latest
* Plus small updates to .gitignore and README and update rufus-next to 4.1.
2023-05-26 12:17:52 +01:00
Pete Batard 3afa139d7a
[dos] reinstate MS-DOS boot disk creation for Windows 10 and later platforms
* The BlackLotus malware shows that it is possible to download individual
  executables and DLLs straight from Microsoft's symbol servers, so we use
  that capability to download the missing Windows 8.1 'diskcopy.dll', that
  contains the flat floppy disk image with MS-DOS files we need. See:
  https://randomascii.wordpress.com/2013/03/09/symbols-the-microsoft-way/
* Also reorder entries in the "Boot selection" dropdown.
* Also use CreateFileWithTimeout() in GetLogicalName().
2023-05-24 17:55:25 +01:00
Pete Batard 3a0f7d3813
[iso] attempt to fix the clusterfuck of GRUB 2.06 incompatible versions
* As was *ENTIRELY PREDICTIBLE*, the lack of timely releases from the GRUB
  project has resulted in distro maintainers (Ubuntu, Fedora, etc.) taking
  matters in their own hand and applying patches on top of their 2.06 version.
  However, these patches result in 2.06 bootloaders that are incompatible
  with 2.06 modules that don't have the same patches applied. Especially this
  now results in the infamous "452: out of range pointer" error message when
  using patched modules with unpatched bootloader or unpatched modules with
  patched bootloaders.
* Making this issue worse, we also have distro maintainers who won't add a
  suffix to their GRUB version, AS ONE SHOULD DO WHEN ONE APPLIES TONS OF
  PATCHES ON TOP OF A PROJECT'S SOURCE, and MISreport their non 2.06 GRUB as
  "2.06", and, because we can't detect what patches are needed from modules
  themselves (unlike what is the case for grub_debug_is_enabled), we have no
  way of telling incompatible GRUB 2.06 binaries from one another.
* As a result, we have no choice but to append a sanitized version of the ISO
  label to the GRUB version, as a means to differentiate between incompatible
  versions, and tweak our existing bootloader download mechanism to *ATTEMPT*
  to download a compatible 'core.img' from our server... where we will have
  to waste a lot of time adding new binaries and symlinks to try to make all
  these GRUB "2.06" based images work, and will probably miss quite few with
  the end results that users who are just trying to install Linux will be left
  stranded.
* Again, I have to point out how the end result of regular users wanting to
  try Linux and being unable to do so is the *DIRECT* result of the GRUB project
  maintainers having sat on a 2-year influx of CONTINUOUS patches, and thinking
  that "Release Early, Release Often" is only a gimmick, and not something that
  should apply to their project, even as they have been warned before, by yours
  truly, that *NOT* releasing on a timely basis is causing actual grievances...
  That's because, had the GRUB maintainers released on a timely basis (at least
  once a year) Fedora and Ubuntu would be using vanilla GRUB 2.07 with the memory
  patches, and we wouldn't be trying to mix that with old GRUB 2.06 binaries.
* For more on this, see #2233, noting that we will need to apply a compatibility
  breaking change during the 4.1 release, to revert the patches we applied to
  the default 2.06 'core.img' in pbatard/rufus-web@320b800592.
2023-05-16 14:05:28 +01:00
Pete Batard 23d89d9764
[misc] apply a timeout when querying drives for letters/type
* Some Windows Store reports suggest that the existing call might freeze
  on CreateFile() leading some users to kill the app. So switch to using
  a CreateFile() call that times out instead of waiting forever...
2023-05-03 16:26:54 +01:00
Pete Batard 0df68b6af9
[misc] further Windows 7 specifics removals
* Also remove some unused code in stdlg.c
* Note that virtdisk appears to be a vulnerable library, so we go
  through delay loading yet again...
2023-04-28 17:46:05 +01:00
Pete Batard 0bda98f0ed
[misc] update DB for newer GRUB core.img's
* See pbatard/rufus-web@320b800592
* Also fix © sign not displaying properly in executable details page
2023-04-28 17:34:06 +01:00
Pete Batard 0e14725de8
Rufus 4.0 (Build 2035)
* Also make sure we only upload the x86_64 MinGW binary to VirusTotal
  since the x86_32 will conflict with the MSVC one.
2023-04-26 00:00:03 +01:00
Pete Batard 18645c9e70
update internal GRUB2 bootloader for Ubuntu 23.04
* Yet another example in the long list of how not releasing your project IN A
  TIMELY MANNER is creating HUGE PROBLEMS downstream... Looking at you GRUB!!!
* Closes #2233
2023-04-25 18:18:26 +01:00
Pete Batard e44cd90639
[loc] bring all remaining translations to latest
* Poedit Pro was used to machine-translate, and thus I make no guarantee
  of translation accuracy.
2023-04-25 13:51:49 +01:00
Abdulmajeed Almarzoqi 08ba77b0ea
[loc] update Arabic translation 2023-04-25 13:10:49 +01:00
Pete Batard 1e51385bed
[misc] revert to using the OS arch rather than app arch for the update download
* This means that someone running Rufus x64 or ARM64 should be
  proposed Rufus ARM64 rather than Rufus x64 as an upgrade.
* Also switch the BETA channel from x86 to x64.
* Also remove the _chdirU(app_dir) when using -i in commandline.
2023-04-24 20:50:53 +01:00
Pete Batard a354178239
[cmd] fix the use of relative paths with option -i
* Closes #2232
2023-04-23 13:06:32 +01:00
Pete Batard 3177e70e25
[misc] fix CodeQL warnings 2023-04-22 16:36:27 +01:00
Pete Batard d18260bec3
[misc] update version to 4.0
* With the removal of Windows 7 support, wrong platform archs in the check for updates
  (that has now been fixed) and switch to an x86_64 default MinGW binary, we have enough
  breaking changes to warrant a version bump for the major. So just do that.
* Also fix a couple Coverity warnings and update a URL.
2023-04-22 15:46:03 +01:00
Pete Batard 41ebb9d9ca
[iso] fix persistence support for Ubuntu 23.04
* Closes #2231
2023-04-22 12:46:45 +01:00
Pete Batard fffd4d1160
[misc] harden usage of uprintf()
* Passing a non-formatting buffer as first parameter of uprintf() can lead
  to an exception if this buffer happens to contain a '%' character, so
  usage of uprintf() with string buffers that may contain '%' should be
  sanitized.
* Also drop the _uprintf/_uprintfs aliases as they are no longer required.
2023-04-20 17:43:24 +01:00
Pete Batard 1a3a155e8c
[dev] fix description of UAS devices
* Having Windows append "SCSI Disk Device" screws up the scoring regarding
  disks that are actually describing themselves as SCSI, so replace that
  with "UAS Device", as it should be.
* Closes #2221.
* Also fix a MinGW warning.
2023-04-19 13:38:19 +01:00
Pete Batard a6451c6fc7
[misc] further Windows version and arch detection improvements
* Now also populate the underlying Windows arch in the version struct
* Also fix MinGW warnings
2023-04-18 17:32:47 +01:00
Sivert Løkkesveen 4dd40bba2f
[loc] update Norwegian translation to latest 2023-04-17 13:47:57 +01:00
Minh Nguyễn Quang 41e0ed8933
[loc] update Vietnamese translation to latest 2023-04-17 13:41:23 +01:00
Pete Batard e5f90282ed
[misc] improve Windows version detection
* Also use actual Windows major.minor when checking for updates
2023-04-17 13:33:05 +01:00
Pete Batard 6280e8020a
[net] fix incorrect architectures when querying for updates 2023-04-16 19:47:54 +01:00
Pete Batard f27dda1164
[efi] update UEFI:NTFS's NTFS drivers to latest
* Closes #2210
2023-04-15 15:57:21 +01:00
五月雨 e3e02f3a3c
[loc] update Japanese translation to latest 2023-04-06 18:41:13 +02:00
Mike Handberg Hovedskov cb6455fd42
[loc] update Danish translation to latest 2023-04-05 14:08:18 +02:00
Pete Batard ad809e866c
[loc] fix formatting typos from various languages
* Also update a comment URL in format.c
2023-04-05 14:00:09 +02:00
Pete Batard e86523e024
[enum] minor improvements to drive size handling
* Also fix a typo when trying to detect x86 running on ARM
2023-04-04 10:28:01 +02:00
Pete Batard af8f68c305
[msvc] enable Structured Exception Handling (SEH) in process.c
* We are seeing reports of access violation exceptions being generated
  when looking for processes, with the App Store version.
* Since this is not critical code, add an SEH handler to ignore those.
2023-04-01 15:50:59 +02:00
Mattayawerakiat Suttirak 59efc53da7
[loc] update Thai translation to latest 2023-04-01 15:44:25 +02:00
Pete Batard 9285313f28
[iso] fix a possible buffer overflow in GetGrubVersion()
* Also increase the size for "probably a flash drive if under" from 32 GB to 128 GB.
2023-04-01 14:39:25 +02:00
Ahmed Rasnaama ee6c907415
[loc] update Arabic translation to latest 2023-03-28 17:37:14 +02:00
Pete Batard 018718b2c8
[misc] disable Windows 7 support
* Also set rufus-next to 3.23 and fix a date typo in ChangeLog.txt
2023-03-27 21:45:55 +02:00
Pete Batard d478e3179b
Rufus 3.22 (Build 2009) 2023-03-25 13:44:19 +00:00
Pete Batard 76ec89032c
[loc] update MSG_199 and MSG_294 for remaining languages
* Also fix double space typos.
2023-03-24 17:16:44 +00:00
Kaloyan Nikolov 426ceed4e1
[loc] update Bulgarian translation to latest 2023-03-23 15:54:10 +00:00
Pete Batard e524e81e99
[iso] improve Rock Ridge CE handling 2023-03-23 14:47:53 +00:00
Pete Batard 365449fcce
[iso] revert processing of menu.lst
* Usage scenario is too limited and the cost of doing so is simply too high.
* This reverts the relevant changes from 737db33f9c.
2023-03-22 16:52:39 +00:00
Fedorovici Constantin-Robert c697604f16
[loc] update Romanian translation to latest 2023-03-20 12:59:44 +00:00
Pete Batard 737db33f9c
[iso] enable menu.lst patching
* Closes #2183
* Also improve safe_strdup() and "update" Grub4DOS to latest
  (NB: grldr.mbr has not changed in the last few years)
2023-03-18 14:20:39 +00:00
Marcos Mello 4a0940ad23
[loc] update Brazilian Portuguese translation to latest
* Closes #2202
* Closes #2116
2023-03-17 14:33:02 +00:00
Yanottama Oktabrian e14fcd8649
[loc] update Indonesian translation to latest 2023-03-17 14:16:19 +00:00
Jakub Mierzejewski 3c7434ee99
[loc] update Polish translation to latest 2023-03-16 00:46:27 +00:00
Marco A. Ramirez Madrid ff4923112e
[loc] update Spanish translation to latest 2023-03-15 23:16:49 +00:00
Pete Batard 247dbe2f7b
[ui] preserve user-specified label on error/cancel or drive insertion
* Also produce warnings in the log if we detect Windows write-protection policies.
2023-03-14 20:31:51 +00:00
Erfan Al 892996aafd
[loc] update Persian translation to latest 2023-03-13 17:31:02 +00:00
Костянтин Сергійович ca84a4f6c5
[loc] update Ukrainian translation to latest 2023-03-12 14:11:22 +00:00
Csizmadia Gábor f9168e8bbb
[loc] update Hungarian translation to latest 2023-03-12 13:57:10 +00:00
Дмитрий Ерохин 50b3d0b634
[loc] update Russian translation to latest 2023-03-10 17:25:22 +00:00
VenusGirl de29bc5129
[loc] update Korean translation to latest
* Closes #2186
2023-03-10 13:50:44 +00:00
cupofocha d989a7d148
[loc] update Traditional Chinese translation to latest 2023-03-09 10:06:12 +00:00
Pete Batard 65542b9179
[misc] fix 2 Coverity warnings
* Yay, for once Coverity actually found an actual issue!
2023-03-09 09:55:17 +00:00
Pete Batard 21ac145a4b
[vhd] add force unmount of stale .wim images
* Required because some users appear to force kill Rufus while we're doing WUE patching of boot.wim,
  and Windows prevents a .wim with the same path and index from being mounted twice, even if the
  original .wim has become stale or deleted. Oh, and of course the WIM APIs don't have a force-mount
  flag that would take care of this whole situation.
* Basically, this forces us to parse HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted Images
  and check each instance for a .wim/index match, so that we can access to the existing mount path
  so that we can actually unmout the image (because, in typical Microsoft fashion, WIMUnmountImage
  requires both the mount path and the source image to be provided).
* Closes #2199.
* Also improve the existing VHD code to use a struct where possible.
2023-03-08 20:00:37 +00:00
Pete Batard ed80d696f4
[core] minor drive.c improvements
* Double the timeout when searching for conflicting processes on error
  and improve the disk extent/drive number error messages.
2023-03-08 13:03:25 +00:00
Christos Alvanos 8449accb55
[loc] update Greek translation to latest 2023-03-04 18:32:14 +00:00
Riku Brander da746d83dd
[loc] update Finnish translation to latest 2023-03-04 18:18:12 +00:00
Pete Batard d78a556e4e
[loc] report if an external loc file is used, in the UI log
* Also avoid using LPTSTR in lieu of LPWSTR (even if they do resolve to the exact
  same thing) and force the use of app_dir when looking for a local .loc file.
* Closes #2193
2023-03-04 16:21:25 +00:00
Pete Batard cb561e7176
[iso] fix libcio processing of Rock Ridge CE fields
* Boy do you not want to use chars in struct iso_su_ce_s as
  from_733() will sign extend the bytes and you will end up
  with an offset like 0xffffffc4 instead of 0x000000c4...
* Addresses the leftover from 6c44dccc10.
* Also some headers clean up and pick up latest libcdio changes.
2023-02-28 18:27:21 +00:00
Pete Batard 6c44dccc10
[iso] duplicate Rock Ridge symbolic links for Debian non-free firmware ISOs
* Note that, because of an unrelated libcdio bug where it does not properly
  detect Rock Ridge symbolic links, some files may still not be instantiated.
* Also remove unneeded checks for ISO9660/UDF function cleanup and remove
  a workaround for an issue that has since been fixed in libcdio.
2023-02-27 17:43:39 +00:00
Martin Kubánik 218cf22fed
[loc] update Slovak translation to latest 2023-02-26 22:19:28 +00:00
Aldis Tutins 83b9de015e
[loc] update Latvian translation to latest 2023-02-26 22:15:07 +00:00
Pete Batard aed34ca635
[misc] report if running x86 emulation on ARM
* Also fix a static analysis warning.
2023-02-26 22:10:22 +00:00
Pete Batard 4e8375c73c
[loc] misc. small updates and corrections
* Closes #2184
2023-02-24 13:23:08 +00:00
Itiel 284528d79c
[loc] update Hebrew translation to latest 2023-02-24 13:16:32 +00:00
Mehmetali Kuran c9889ad502
[loc] update Turkish translation to latest 2023-02-23 13:36:37 +00:00
Dinis Medeiros 2e782bfa0b
[loc] update Portuguese Standard translation to latest 2023-02-23 13:23:30 +00:00
Pete Batard b969b7ec42
[iso] add yet another exception for Red Hat derivatives
* Fedora 37 netinst requires special handling and I don't have all day.
* Closes #2179.
* Also fix a small typo in Italian translations. Closes #2180.
2023-02-21 19:57:27 +00:00
Wang JiaWei 77b6c4d531
[loc] update Simplified Chinese translation to latest 2023-02-20 13:43:30 +00:00
Thilo Langbein 160ff5ebb0
[loc] update German translation to latest 2023-02-18 17:26:10 +00:00
Pete Batard 12bab09a9f
[wue] display user-selected WUE options in the log
* Also fix a Coverity warning
2023-02-17 22:42:45 +00:00
Marcello Gianola 506274687b
[loc] small additional update to the Italian translation 2023-02-17 17:35:24 +00:00
HRxiaohu d39f82a9e7
[loc] update Chinese (Simplified) translation
* Closes #2110
2023-02-17 17:30:46 +00:00
Miloš Ljubičić 61a2743fc5
[loc] update Serbian translation to latest 2023-02-17 17:23:02 +00:00
Marcello Gianola 65f0a6e266
[loc] update Italian translation to latest
* Closes #2091
2023-02-17 17:13:34 +00:00
Thomas De Rocker 5c75bda39e
[loc] update Dutch translation to latest 2023-02-17 17:05:08 +00:00
Pete Batard 18f1013259
[github] do not run CodeQL for non-code updates 2023-02-17 12:56:10 +00:00
Sopor Spr 5f5bfdf3bf
[loc] update Swedish translation to latest 2023-02-17 12:52:45 +00:00
Richard Kahl b7baacc3cd
[loc] update Czech translation to latest 2023-02-17 12:33:47 +00:00
Pete Batard 3df8651225
[appstore] update gen_listing.ps1 for relative paths
* https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/import-and-export-store-listings?pivots=store-installer-msix#update-listing-info
  and Microsoft support indicate that you need to include the listing folder name and use slashes.
* Import folder still chokes on non en-us languages though :(
* Also fix a typo in the French translation.
2023-02-16 01:14:47 +00:00
Pete Batard b163b3dfe2
[core] fix default listing of large SanDisk SSD devices
* Closes #2164
* Also add breakdown of score computation when device enumeration debug is active
* Also fix a minor Code Analysis warning in msapi_utf8.h
2023-02-13 13:34:17 +00:00
Pete Batard 3281f6b97e
[loc] set up Windows Store listing translations (part 2)
* Add PowerShell script to generate listing.csv
* Also update relevant messages along with French translation
2023-02-08 17:11:51 +00:00
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 43c6290143
[misc] generate PDBs for Visual Studio builds
* Even if this makes the resulting executable slightly larger, this should help
  with troubleshooting, especially for the Windows Store releases.
* Also drop the "since 2019" from the Downloads badge, since once you reach 100M
  the start date for the counter becomes a bit meaningless...
2023-01-30 19:21:08 +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 6eabcb4c9d
[internal] add pull_request_template.md and update issue_template.md
* Also remove .github/ directory from source archives.
2023-01-13 21:45:50 +00:00
Pete Batard 1ce1f47a8b
[wue] add option to Disable BitLocker automatic device encryption
* See https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-bitlocker#disable-bitlocker-automatic-device-encryption
* Closes #2121
2023-01-10 20:43:07 +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 ac7b171eca
[misc] fix badges
* See https://github.com/badges/shields/issues/8671
2022-12-16 00:39:10 +00:00
Pete Batard 8d04e5f1f4
[misc] update GitHub Actions scripts
* Closes #2113
* Also fix a broken URL
* PS: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
  is *WOEFULLY* incomplete, in that it doesn't tell you that:
  1. The new method of setting output is *NO LONGER* shell agnostic (i.e *REGRESSION*)
  2. You need to use bash for the new $GITHUB_OUTPUT to work
2022-12-15 19:53:56 +00:00
Rose fab095c043
[misc] prefer strtol/strtoull over atol/atoll
* This means we don't need to worry about conversion issues regarding signedess. In addition,
  the behavior will no longer be undefined if for some reason the conversion cannot happen.
* Closes #2104.
2022-12-08 11:21:39 +00:00
dependabot[bot] 2bc1428975
[misc] bump dessant/lock-threads from 3 to 4
* Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 3 to 4.
  - [Release notes](https://github.com/dessant/lock-threads/releases)
  - [Changelog](https://github.com/dessant/lock-threads/blob/master/CHANGELOG.md)
  - [Commits](https://github.com/dessant/lock-threads/compare/v3...v4)
* Closes #2102
* Also bump Rufus version to Rufus next
2022-12-08 11:18:47 +00:00
Jeffrey Walton 36f4716afd
[checksum] enable x86 acceleration if the CPU supports it
* Newer Intel and AMD CPUs have SSE extensions for SHA-1 and SHA-256 acceleration.
* Add new cpu.c/cpu.h sources to detect the extensions, and use them in checksum.c
  if available.
* Acceleration code is taken from https://github.com/noloader/SHA-Intrinsics.
2022-12-08 11:15:48 +00:00
Pete Batard ddcbe8ed81
v3.21 (Build 1949) 2022-11-28 16:41:27 +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 9727fd4342
[core] improve/fix file system selection according to current ISO
* Closes #2074.
* Also harmonize whitespaces.
2022-11-16 16:55:41 +00:00
Pete Batard a6769e4fb2
[core] don't process DBT_DEVNODES_CHANGED when scanning an image
* Since 8814944c35 we may mount an ISO for the lookup of the Windows version,
  which produces DBT_DEVNODES_CHANGED messages being issued when the virtual DVD is being created or removed
* This in turn leads to unwanted device refreshes.
* This patch makes sure we ignore DBT_DEVNODES_CHANGED while scanning.
* Also improve comments in iso.c.
2022-11-16 16:50:53 +00:00
Pete Batard 165127d221
[iso] fix GRUB boot for newer Arch and derivatives
* Arch recently added a "search --no-floppy --set=root --label <LABEL>" into their
  grub.cfg, which we didn't have provision for patching, which means that, as soon
  as the user changed the label or used an Arch derivative with a label that isn't
  compliant with FAT (e.g. Athena Linux), search, and therefore boot would fail.
* Also alter the code so that we modify for more than one token if needed.
* Closes #2086
2022-11-13 20:57:26 +00:00
Pete Batard 4cfe1c9947
[iso] fix UEFI:NTFS not being installed for ISOs that have a >4GB file, when MBR is selected
* GPT was fine but MBR led to the creation of EFI bootable images using NTFS as the file
  system, but without the UEFI:NTFS partition (e.g. UwUntu-22.10-desktop-amd64.iso).
2022-11-07 17:45:42 +00:00
Pete Batard 3cd6d18ef8
[ui] fix 'Image option'/'Persistent partition size' title not toggling when switching ISOs 2022-11-07 17:42:54 +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 cee21b1981
[wue] prevent 'Administrator' and 'Guest' from being set as username
* These are reserved usernames that are created by default, so we should not use them.
* Also fix missing format specifier in ApplyWindowsCustomization() and make sure we
  print wim_index for both mount and unmount.
* Closes #2067 (with thanks to marcosfrm)
2022-10-15 12:24:43 +01:00
Pete Batard 76ff620714
[ui] fix tab order not working on WUE dialog
* Also add minor improvements and update Bled to latest
2022-10-07 17:43:46 +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 8814944c35
[wue] improve Windows version reporting from ISO/.wim
* Pick the version and build number directly from the install[.wim|.esd] XML index.
  This forces us to mount the ISO during scan, but it's the only way to get an accurate Build number...
* Also drop linking to version.dll (along with the whole version.dll delay-loading shenanigans).
2022-10-04 11:58:30 +01:00
Pete Batard 4d6c8b72d8
[loc] improve fatal error handling on application launch
* Remove last ditch effort on systems that are clearly broken for localization
  and always report an explicit error to the user.
* Also update GitHub Actions actions/checkout (Closes #2036).
2022-09-19 10:37:23 +02:00
Pete Batard 07d1fdcc2f
[cmp] update Bled to latest
* Also try to fix the fallthrough Coverity warning in format_ext.c
2022-09-14 23:37:46 +02:00
Pete Batard 2cf183e9f1
[misc] fix Y2K38 related Coverity warnings 2022-09-14 10:58:18 +02:00
Pete Batard d9e8b8caeb
[iso] fix incorrect detection of GRUB with nonstandard prefixes
* Existing code was trying to detect if GRUB patching was needed for GRUB bootloaders
  even if they were using standard prefixes, and as a result dropped GRUB support for
  any versions that wasn't 2.04 or 2.06, since we don't have a patch for those.
* This patch restores the expected behaviour to ensure that we don't disable GRUB if
  a standard prefix is being used, regardless of the version being reported.
* Note that this issue only affected BIOS GRUB boot. UEFI GRUB boot was unaffected.
* Also set rufus-next to 3.21.
2022-09-07 18:10:30 +01:00
Pete Batard 861d1473ac
[misc] add a notice about hidden VHDs limiting the drives Rufus can list
* See #2029
2022-08-28 15:24:57 +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 b2bf29f652
v3.20 (Build 1929)
* Fix a Coverity warning and lock.yml syntax
2022-08-03 16:49:31 +01:00
Pete Batard fbad63666e
[wue] add fallback to index 1 if boot.wim index 2 is not available
* Some "unofficial" Windows ISOs use a custom boot.wim that only includes the Setup
  image at index 1, rather than at index 2, after the PE image, for official ISOs.
* Also refactor to add a long needed vhd.h header.
* Also fix a MinGW warning.
2022-08-02 20:14:29 +01:00
Pete Batard eda1f59a38
[iso] fix GRUB version detection for Fedora Rawhide
* How nice of "Open Source proponent" IBM/Red-Hat/Fedora to fix double space typos while making sure the
  provenance of the software they are using is hidden:
  https://src.fedoraproject.org/rpms/grub2/blob/rawhide/f/0024-Don-t-say-GNU-Linux-in-generated-menus.patch
* Long story short: Fedora fixed the double space in "GRUB  version", but of course they didn't upstream
  this change since it is part of a patch that removes every possible mention of GNU. This made our GRUB
  version detection break, since it relies on finding a "GRUB  version" string.
* Fix this by looking for both "GRUB  version" and "GRUB version".
* This, however, does not fix Fedora Rawhide BIOS boot, since they also added custom GRUB calls such as
  'grub_debug_is_enabled', which we don't have in our vanilla produced GRUB binary.
* Closes #2002.
2022-07-28 15:47:05 +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 8790c480dd
[ui] resize SelectionDialog() according to the text content 2022-07-26 16:49:10 +01:00
Pete Batard 01dbb3d957
[wue] fix WUE options not being applied for ARM64 images
* Closes #1996
* Also set Coverity GitHub Actions workflow to use windows-latest
2022-07-25 16:48:57 +01:00
Pete Batard a19828c9d1
[wue] move WUE, Windows To Go and WinPE calls to their own source 2022-07-25 13:18:14 +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 5117a3b4a8
[wue] fix MSA bypass not being applied unless SB/TPM or RAM/Disk bypass is also selected
* In a manner that defies logic, Microsoft designed Windows setup to parse Autounattend.xml
  for windowsPE tasks in the PE environment, but only carry out the copying of that file
  to %WINDIR%\Panther for subsequent processing with the other passes *IF* there exist an
  actual windowsPE section.
* In short, when using the Autounattend.xml method, Microsoft have made all passes there
  dependent on the existence of a windowsPE pass, regardless of whether that pass has any
  use or not.
* Working around this would be fine and all (just add an empty windowsPE pass so that the
  later passes get executed) if the absence of a windowsPE pass didn't also determine
  whether the user will be presented with the default Windows setup screens that include
  the "Repair your computer" option or a completely different set of screens (c.f. #1971).
* This means that, to keep users happy, we need to add yet another method to carry out
  tasks that should have remained the realm of boot.wim's Autounattend.xml, and instead
  create a \sources\$OEM$\$$\Panther\unattend.xml when there are no windowsPE tasks (on
  account that setup copies anything found under \sources\$OEM$\$$\ to %WINDIR%\).
  Only through this can we have the specialize and oobeSystem tasks actually carried out
  (for bypassing MSA requirements of skipping the data collection screens) while keeping
  the original Windows Setup look and feel.
* Closes #1981
2022-07-13 18:31:11 +01:00
Pete Batard 2b7b81808f
[misc] improve/factorize '/' ↔ '\' conversions 2022-07-09 18:16:42 +01:00
Pete Batard 14f19e5275
[wue] revert to inserting the bypass registry keys directly where possible
* The use of an unattend.xml to create the TPM/Secure Boot/Disk/RAM bypass keys was
  prompted by Microsoft restricting the ability of Windows Store app from manipulating
  offline registry hives.
* However, the use of a windowsPE phase in unattend.xml to insert the keys results in
  a windows command prompt briefly appearing when setup launches, as well as slightly
  different Windows setup screens from the default.
* So we are now reverting to trying to edit the boot.wim registry hive offline (which
  should work for the non Store version of Rufus) while falling back to using a PE
  unattend section if that doesn't work.
* Closes #1971
2022-07-08 18:48:02 +01:00
Pete Batard 2be4470bc5
[iso] add workaround for ISOs that have a syslinux symbolic link to isolinux
* This is for Knoppix images that have a /boot/syslinux that links to /boot/isolinux/
  with EFI Syslinux trying to use /boot/syslinux/syslnx[32|64].cfg as its config file.
* Note to Knoppix devs, you could have ensured EFI File System transposition by using
  the same approach as we do here, which is to create non-symlinked /boot/syslinux
  config files that point back to the isolinux ones.
2022-07-08 13:34:34 +01:00
Pete Batard f17e287e39
[wue] make WUE choices persist between sessions 2022-07-07 11:22:39 +01:00
Pete Batard d9a7a03834
[vhd] improve mounting/unmounting of WIM
* Also fix wininet not having been removed from DelayLoadDLLs except x64.
2022-07-07 11:20:30 +01:00
Pete Batard 110f4025b7
[wue] fix Windows User Experience dialog appearing twice with Windows To Go
* Issue was introduced with the fix for #1956
* Closes #1968
* Also set rufus-next to 3.20
2022-07-05 14:09:41 +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
Pete Batard 3cf41abf2e
v3.19 (Build 1911) 2022-07-01 22:42:02 +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
Thomas Schmitt ae377ae8ca
[iso] fix support for multi-extent files when Joliet is in use
* See https://lists.gnu.org/archive/html/libcdio-devel/2022-06/msg00000.html
* This partially fixes ISO mode support for Gentoo Live, though, since the Gentoo
  maintainers appear not to have a kernel NTFS driver in the current images, the
  installer still fails to mount the installation media.
2022-06-27 20:42:41 +01:00
Pete Batard d457a0bafe
[ui] fix Windows 11 customization options not appearing with MBR
* Fixes #1956
2022-06-25 15:39:05 +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
dependabot[bot] 7391b342db
[misc] update dependabot dependencies
* Closes #1952
* Closes #1953
2022-06-23 14:26:39 +01:00
Pete Batard 43761aba43
[misc] add dependabot.yml 2022-06-23 14:17:40 +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 9690742d91
[ui] extend SelectionDialog() to support checkbox selection 2022-06-20 13:47:43 +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
Pete Batard d8af83dd14
[core] use Linux Data GUID for ext GPT partitions
* Also add an IS_EXT() macro
2022-06-08 19:37:24 +01:00
Pete Batard c2cd5185a3
[iso] enforce DD mode for Proxmox ISOHybrid images 2022-06-07 16:39:03 +01:00
Maison df5cfe94c1
[loc] update Brazilian Portuguese translation
* Closes #1940
2022-06-07 16:30:00 +01:00
Marcos Mello 591bec3cbe
[iso] add versions 9.x for Red Hat derivative exceptions
* Closes #1943
2022-06-07 16:19:47 +01:00
Pete Batard 746f91acc7
[core] work around Windows refusing to mount Linux MBR partitions on FIXED drives
* Fixes #1922.
* Also fix a typo and apply minor updates for GitHub Actions workflows.
2022-05-31 16:30:19 +01:00
Pete Batard c76327f96e
[ui] list drives by increasing order of size
* Also silence MSVC and MinGW obnoxious warnings about bidirectional Unicode characters.
2022-05-25 13:22:47 +01:00
Pete Batard 1dcfd69dee
[ext2fs] return a more explicit error on directory corruption 2022-05-14 10:19:36 +02: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
Pete Batard cc293c0512
[core] add exception for LaCie XtremKey USB 3.0
* Closes #1912
2022-04-27 11:36:59 +01:00
Pete Batard a3c75e480e
[core] revert to direct-hooking into wininet.dll
* This reverts 3194a4dac4 on account that MinGW's delay loading of
  wininet.dll causes the application to prematurely close.
* Yet another episode of the never ending #1877 saga...
2022-04-27 10:41:19 +01:00
Vlad 48574f10d6
[loc] update Ukrainian translation
* This fixes multibyte indexes
* Closes #1908
2022-04-26 00:00:32 +01:00
Pete Batard f5abae6442
[core] fix Boot selection dropdown not being reset on unsupported images
* Closes #1903
2022-04-15 11:43:22 +01:00
Pete Batard d029551929
[core] drop direct hooking into dwmapi DLL and use delay-loading instead
* Now that we can delay-load DLLs for both MinGW and MSVC, we can also remove
  the direct DLL hook that was added into dwmapi.dll due to side loading and
  revert to using a direct API call instead.
* This reverts part of e1d864f755.
* Also attempt to silence that damn Coverity warning.
2022-04-12 13:55:33 +01:00
Pete Batard 3194a4dac4
[net] drop direct hooking into wininet DLL and use delay-loading instead
* Now that we can delay-load DLLs for both MinGW and MSVC, we can remove the
  cumbersome direct DLL hooks into wininet.dll (which is vulnerable to side
  loading when not delay-loaded) and revert to using direct API calls instead.
* This reverts part of e1d864f755.
* Also attempt to silence a Coverity warning.
2022-04-12 13:35:41 +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
Pete Batard f669f05403
[iso] add ISOHybrid "CD" partition and ISO9660 file system detection
* Notably for openSUSE-Leap-15.3-XFCE-Live-x86_64-Build9.427-Media.iso
2022-04-05 18:31:03 +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 8ec570570f
[core] reassign a letter for drives written in DD mode that don't have an ESP
* This should help with the CoreELEC usage case described in #1842
* Also add MBR handling for ESP ↔ FAT cheat mode (Alt-P)
* Also set rufus-next to 3.19
2022-03-24 17:24:39 +00: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 1947266837
[pki] don't link with wintrust.lib
* WinTrust.lib is responsible for the MSASN1.dll sideloading issue described in #1877,
  so, since we only use it for WinVerifyTrustEx(), hook into that function manually.
* Closes #1877 for the MinGW side.
* Note that we will probably try to use the method suggested by @assarbad and documented at
  https://stackoverflow.com/questions/1851267/mingw-gcc-delay-loaded-dll-equivalent/70416894#70416894
  to try to put an end to the problem of DLL side loading.
2022-03-03 17:41:43 +00:00
Pete Batard d07ec87b3a
[mingw] fix compilation breakage due to MinGW header screwup
* See https://github.com/pbatard/rufus/actions/runs/1900092904
* Guys, I know VDS is fundamentally broken... but that's no reason to break it further!
2022-02-28 22:00:41 +00:00
Pete Batard cef651c52c
[msvc] actually apply DLL delay loading to the Release builds
* ef2ff7179d was supposed to apply delay loading to our DLLs, for all MSVC builds,
  thereby preventing sideloading attacks, but the patch actually only set the DelayLoadDLLs
  property for Debug builds and not Release builds, with the result that side loading could
  still be triggered for the Release executables, as demonstrated in #1877.
* This patch therefore properly sets the DelayLoadDLLs for all builds, which should take care
  of the side loading vulnerability at least for MSVC executables.
* A subsequent patch will still be needed for MinGW, since there is no equivalent to DelayLoadDLLs.
* This addresses part of #1877.
2022-02-25 18:05:49 +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
Pete Batard 89db56acbc
[net] add fallback to InternetGetConnectedState() when INetworkListManager service dependencies are missing
* INetworkListManager appears to depend on specific services to be able to work,
  which one can actually disable while still getting full Internet connectivity.
* If that is the case, HRESULT_FROM_WIN32(ERROR_SERVICE_DEPENDENCY_FAIL) will be
  returned, therefore we add a fallback to using InternetGetConnectedState(), which
  does not have such dependencies (but has other limitations per b2492908be)
  when we detect a dependency error.
* Also take this opportunity to switch to using INetworkListManager::get_IsConnectedToInternet().
* Also fix Coverity breakage due to Synopsys having upgraded their toolchain.
* Closes #1801
2022-02-18 17:18:34 +00:00
Pete Batard 209fb18b1c
[iso] add bypass of Windows 11 restrictions for in-place upgrades 2022-02-16 17:25:43 +00:00
Matthias Kruk 23e79ad907
[iso] add Miracle Linux 8 to the list of Red Hat exceptions
* MIRACLE LINUX is a Red Hat derivative, so it needs the same special
  treatment as Red Hat, CentOS, etc to work around issues in anaconda.
* This commit adds MIRACLE LINUX to the list of Red Hat derivatives.
* Closes #1866
2022-02-11 18:47:41 +00:00
Tatsuhito KATO 108424ecf4
[loc] update Japanese translation
* Closes #1863
2022-02-11 18:44:46 +00:00
Pete Batard 4223fe9681
[misc] fix inverted memset() parameters
* Also fix artifact name for VS2022 builds.
2022-02-11 18:42:38 +00:00
Pete Batard ebaa7d561a
[core] add file System detection from superblock
* Also prevent GitHub Actions from failing on VirusTotal upload
2022-02-04 17:41:44 +00:00
Pete Batard 036f6260c5
[ui] fix regression in conditional expression and use %c always
* This fixes the regression introduced in c28f9bc491.
* 'if ((a && !b) || (!a && b))' can not always be simplified as 'if (a != b)' when the types for 'a' and 'b' are not straight booleans.
* Closes #1862
* Also drop the use of '%C' in printf() expression, as it is intended to print wide characters and not turn a char to uppercase.
2022-01-31 16:55:42 +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 00a802ca1d
[iso] fix ISO→ESP creation for Windows 11
* In their great "wisdom", Microsoft made it even harder to access ESPs on Windows 11,
  meaning that we have to use even more convoluted ways of providing the ISO→ESP feature.
* Closes #1855
2022-01-20 15:24:35 +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
Austin Wise ef2ff7179d
[msvc] add provision to prevent DLL search order hijacking through delay loading
* Hypothetically if the user's current directory contains a malicious DLL that DLL
  could be loaded instead of the one in System32.
* Whereas the previous patch should have taken care of the one DLL referenced by
  Rufus that may be vulnerable to this attack (version.dll), we nonetheless add
  delay loading for all the libraries we reference as a precautionary measure.
* One can confirm that this works by using dumpbin.exe /IMPORTS to make sure
  a specific DLL is delay loaded. Then putting a breakpoint in the delay load
  hook should also confirm that the hook is used.
* Closes #1838
2022-01-05 18:33:59 +00:00
Pete Batard f6ac559f4d
[iso] don't link with version.lib to prevent DLL sideloading issues
* This is part of #1838, where we need to sort the version.dll sideloading problem for MinGW.
* A subsequent patch will be applied to MSVC, to more generally delay the loading of DLLs.
* Also fix a typo with an assert expression.
2022-01-05 16:49:06 +00:00
Pete Batard e495c691ea
[misc] fix GitHub Actions' MinGW compilation 2022-01-05 12:51:29 +00:00
Pete Batard c28f9bc491
[misc] fix PVS-Studio warnings 2022-01-05 12:57:26 +01: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
Pete Batard 9692e6709d
[misc] forget CodeQL until they fix VS2022 support
* I don't have time for this bullshit. Of course the irony is that a Microsoft product (CodeQL)
  hosted on a Microsoft platform (GitHub) hasn't been updated to work with the latest Microsoft
  compiler (VS2022).
* Also removed the stuff CodeQL complains about and updated README badges.
2021-11-16 18:44:43 +00:00
Pete Batard f5072e45de
[misc] update solution to VS2022
* Also fix a possible mishandling of compounded strings in safe string macros
2021-11-16 17:50:20 +00:00
Mihai-Octavian STRĂUȚ 1de1c2a94a
[loc] update Romanian translation to latest 2021-11-13 11:41:31 +00:00
Pete Batard 3aac3f5583
[misc] improve Windows edition reporting
* Closes #1808
* Also update rufus-next to 3.18
2021-10-27 09:51:28 +01: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
265 changed files with 29931 additions and 13416 deletions

2
.gitattributes vendored
View File

@ -4,6 +4,7 @@
*.in eol=lf
*.m4 eol=lf
missing eol=lf
compile eol=lf
configure eol=lf
install-sh eol=lf
*.sln eol=crlf
@ -16,5 +17,6 @@ install-sh eol=lf
*.cmd export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.github export-ignore
*.creole export-ignore

View File

@ -1,26 +0,0 @@
<!--PLEASE READ THIS CAREFULLY: You *MUST* read and complete the checklist below, by placing an x into each [ ] (so that it shows '[x]', NOT '[ x]' or '[x ]'), BEFORE clicking on 'Submit new issue'. Failure to perform these steps, WHICH ARE ONLY THERE TO HELP *YOU*, will result in the issue being dismissed without warning.-->
Checklist
---------
- [ ] I looked at https://github.com/pbatard/rufus/wiki/FAQ to see if my question has already been answered.
- [ ] I performed a search in the issue tracker for similar issues using keywords relevant to my problem, such as the error message I got from the log.
- [ ] I clicked the 'Log' button or pressed <kbd>Ctrl</kbd>-<kbd>L</kbd> in Rufus, and copy/pasted the log into the line that says `<FULL LOG>` below.
- [ ] The log I am copying is the FULL log, starting with the line `Rufus version: x.y.z` - I have NOT removed any part of it.
Additionally (if applicable):
- [ ] I ran a bad blocks check, by clicking _Show advanced format options_ then _Check device for bad blocks_, and confirmed that my USB is not defective.
- [ ] I also tried one or more of the following:
- [ ] Using a different USB drive.
- [ ] Plugging the USB into a different port.
- [ ] Running Rufus on a different computer.
- [ ] If using an image, I clicked on the `(✓)` button to compute the MD5, SHA1 and SHA256 checksums, which are therefore present in the log I copied. I confirmed, by performing an internet search, that these values match the ones from the official image.
Issue description
-----------------
<Please describe your issue here>
Log
---
```
<FULL LOG>
```

6
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

47
.github/issue_template.md vendored Normal file
View File

@ -0,0 +1,47 @@
<!--
PLEASE READ THIS CAREFULLY:
1. You *MUST* read and complete the steps from the checklist below, by placing
an x into each [ ] (so that it shows '[x]', NOT '[ x]' or '[x ]'), BEFORE
clicking on 'Submit new issue'.
2. Failure to perform these steps, WHICH ARE ONLY THERE TO HELP *YOU*, will
usually result in your issue being dismissed without notice.
3. If you are reporting an issue when trying to run Rufus, or when trying to
boot a media created by Rufus, you *MUST* provide a log, period. Please do
not assume that the developer(s) will be able to "guess" the specifics of
your environment, what image you used, what type of media you used it with
or the many many other critical parameters that the log provides data for.
To investigate an issue, a log from Rufus is ALWAYS required.
4. If you still *choose* not to provide a log when reporting a problem, you
agree that your issue will be closed without any further investigation.
YOU HAVE BEEN WARNED.
-->
Checklist
---------
- [ ] I looked at https://github.com/pbatard/rufus/wiki/FAQ to see if my question has already been answered.
- [ ] I performed a search in the issue tracker for similar issues using keywords relevant to my problem, such as the error message I got from the log.
- [ ] I clicked the 'Log' button (🗒️) or pressed <kbd>Ctrl</kbd>-<kbd>L</kbd> in Rufus, or used [DebugView](https://learn.microsoft.com/en-us/sysinternals/downloads/debugview), and copy/pasted the log into the section that says `<FULL LOG>` below.
- [ ] The log I am copying is the FULL log, starting with the line `Rufus version: x.y.z` - I have NOT removed any part of it.
Additionally (if applicable):
- [ ] I ran a bad blocks check, by clicking _Show advanced format options_ then _Check device for bad blocks_, and confirmed that my USB is not defective.
- [ ] I also tried one or more of the following:
- [ ] Using a different USB drive.
- [ ] Plugging the USB into a different port.
- [ ] Running Rufus on a different computer.
- [ ] If using an image, I clicked on the `(✓)` button to compute the MD5, SHA1 and SHA256 checksums, which are therefore present in the log I copied. I confirmed, by performing an internet search, that these values match the ones from the official image.
Issue description
-----------------
<Please describe your issue here>
Log
---
```
<FULL LOG>
```

4
.github/pull_request_template.md vendored Normal file
View File

@ -0,0 +1,4 @@
<!--
Please do not create an unsolicited Pull Requests for a translation update.
See https://github.com/pbatard/rufus/wiki/FAQ#user-content-Why_dont_you_accept_unsolicited_translation_updates.
-->

View File

@ -40,18 +40,20 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: x64
- name: Build
run: msbuild ${{env.SOLUTION_FILE_PATH}} /m /p:Configuration=${{ env.BUILD_CONFIGURATION}},Platform=${{ env.TARGET_PLATFORM }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3

View File

@ -27,7 +27,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
@ -44,12 +44,21 @@ jobs:
run: echo "${{github.workspace}}/cov-analysis-win64/bin" >> $GITHUB_PATH
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
uses: microsoft/setup-msbuild@v2
- name: Build with Coverity
run: cov-build.exe --dir cov-int msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ env.TARGET_PLATFORM }}
run: |
cov-configure --msvc
cov-build.exe --dir cov-int msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ env.TARGET_PLATFORM }}
- name: Publish Coverity artifacts
uses: actions/upload-artifact@v4
with:
name: cov-int
path: cov-int/
- name: Upload Coverity build for analysis
run: |
7z a -r cov-int.zip cov-int
curl --form email=${{ env.EMAIL }} --form token=${{ secrets.COVERITY_SCAN_TOKEN }} --form file=@cov-int.zip --form version="${{ env.GITHUB_SHA }}" --form description="Automated build" https://scan.coverity.com/builds?project=${{ env.COVERITY_PROJECT_NAME }}

View File

@ -3,17 +3,17 @@ name: '[cron] Lock stale issues'
on:
schedule:
- cron: '0 0 * * *'
- cron: '33 22 * * *'
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
- uses: dessant/lock-threads@v5
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: '90'
issue-lock-comment: >
github-token: ${{ secrets.GITHUB_TOKEN }}
issue-inactive-days: '90'
issue-comment: >
This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue
if you think you have a related problem or query.

View File

@ -32,8 +32,8 @@ jobs:
strategy:
matrix:
include:
- { sys: mingw64, env: x86_64 }
- { sys: mingw32, env: i686 }
- { sys: mingw64, env: x86_64, exe: rufus.exe }
- { sys: mingw32, env: i686, exe: rufus_x86.exe }
defaults:
run:
@ -48,45 +48,66 @@ jobs:
install: >-
mingw-w64-${{ matrix.env }}-toolchain
base-devel
autotools
git
upx
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Set ALPHA
id: set_alpha
shell: bash
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
run: echo "::set-output name=option::--enable-alpha"
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=--enable-alpha" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (ALPHA)"/' ./src/rufus.rc
- name: Set BETA
id: set_beta
shell: bash
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'BETA') }}
run: echo "::set-output name=option::--enable-beta"
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=--enable-beta" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (BETA)"/' ./src/rufus.rc
- name: Build
run: |
./configure --disable-debug ${{ steps.set_alpha.outputs.option }} ${{ steps.set_beta.outputs.option }}
make -j4
mv ./src/rufus.exe .
strip ./rufus.exe
upx --lzma --best ./rufus.exe
mv ./src/rufus.exe ./${{ matrix.exe }}
strip ./${{ matrix.exe }}
upx --lzma --best ./${{ matrix.exe }}
- name: Display SHA-256
run: sha256sum ./rufus.exe
run: sha256sum ./${{ matrix.exe }}
- name: Upload to VirusTotal
if: ${{ matrix.env == 'i686' && github.event_name == 'push' }}
if: ${{ github.event_name == 'push' && matrix.env == 'x86_64' }}
continue-on-error: true
run: |
curl --request POST --url https://www.virustotal.com/vtapi/v2/file/scan --form apikey=${{ secrets.VIRUSTOTAL_API_KEY }} --form file=@./rufus.exe
curl --request POST --url https://www.virustotal.com/api/v3/monitor/items --header 'x-apikey: ${{ secrets.VIRUSTOTAL_API_KEY }}' --form path='/rufus.exe' --form file=@./rufus.exe
curl --request POST --url https://www.virustotal.com/vtapi/v2/file/scan --form apikey=${{ secrets.VIRUSTOTAL_API_KEY }} --form file=@./${{ matrix.exe }}
curl --request POST --url https://www.virustotal.com/api/v3/monitor/items --header 'x-apikey: ${{ secrets.VIRUSTOTAL_API_KEY }}' --form path='/${{ matrix.exe }}' --form file=@./${{ matrix.exe }}
- name: Upload artifacts
if: ${{ matrix.env == 'i686' && github.event_name == 'push' }}
uses: actions/upload-artifact@v2
if: ${{ github.event_name == 'push' }}
uses: actions/upload-artifact@v4
with:
name: MinGW
name: ${{ matrix.sys }}
path: ./*.exe
Extra-Step-To-Merge-Artifacts-Thanks-To-Upload-Artifact-v4-Breaking-Backwards-Compatibility:
runs-on: windows-latest
needs: MinGW-Build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
if: ${{ github.event_name == 'push' }}
with:
name: MinGW
delete-merged: true

View File

@ -1,4 +1,4 @@
name: VS2019
name: VS2022
on:
push:
@ -30,7 +30,7 @@ env:
BUILD_CONFIGURATION: Release
jobs:
VS2019-Build:
VS2022-Build:
runs-on: windows-latest
strategy:
@ -39,43 +39,68 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: x64
- name: Set ALPHA
id: set_alpha
shell: bash
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
run: echo "::set-output name=option::/DALPHA"
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=/DALPHA" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (ALPHA)"/' ./src/rufus.rc
- name: Set BETA
id: set_beta
shell: bash
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'BETA') }}
run: echo "::set-output name=option::/DBETA"
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=/DBETA" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (BETA)"/' ./src/rufus.rc
- name: Build
shell: cmd
run: |
set ExternalCompilerOptions=${{ steps.set_alpha.outputs.option }} ${{ steps.set_beta.outputs.option }}
msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ matrix.TARGET_PLATFORM }}
msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ matrix.TARGET_PLATFORM }},ForceImportBeforeCppTargets=%GITHUB_WORKSPACE%\.vs\Generate.PDB.props
move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.exe .\rufus_${{ matrix.TARGET_PLATFORM }}.exe
move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.pdb .\rufus_${{ matrix.TARGET_PLATFORM }}.pdb
- name: Display SHA-256
run: sha256sum ./rufus_${{ matrix.TARGET_PLATFORM }}.exe
- name: Upload to VirusTotal
continue-on-error: true
if: ${{ github.event_name == 'push' }}
run: |
curl --request POST --url https://www.virustotal.com/vtapi/v2/file/scan --form apikey=${{ secrets.VIRUSTOTAL_API_KEY }} --form file=@./rufus_${{ matrix.TARGET_PLATFORM }}.exe
curl --request POST --url https://www.virustotal.com/api/v3/monitor/items --header 'x-apikey: ${{ secrets.VIRUSTOTAL_API_KEY }}' --form path='/rufus_${{ matrix.TARGET_PLATFORM }}.exe' --form file=@./rufus_${{ matrix.TARGET_PLATFORM }}.exe
- name: Upload artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
if: ${{ github.event_name == 'push' }}
with:
name: VS2019
path: ./*.exe
name: ${{ matrix.TARGET_PLATFORM }}
path: |
./*.exe
./*.pdb
Extra-Step-To-Merge-Artifacts-Thanks-To-Upload-Artifact-v4-Breaking-Backwards-Compatibility:
runs-on: windows-latest
needs: VS2022-Build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
if: ${{ github.event_name == 'push' }}
with:
name: VS2022
delete-merged: true

34
.gitignore vendored
View File

@ -1,27 +1,40 @@
*.a
*.aps
*.appx
*.appxupload
*.bak
*.db
*.db-shm
*.db-wal
*.dep
*.diff
*.dll
*.efi
*.exe
*.htm
*.idb
*.ipch
*.la
*.lib
*.lo
*.lock
*.log
*.mac
*.mo
*.mp4
*.ncb
*.nope
*.o
*.obj
*.old
*.opendb
*.opt
*.org
*.p7x
*.patch
*.pc
*.pdb
*.pdf
*.plg
*.res
*.sig
@ -35,22 +48,21 @@
.deps
.libs
Makefile
arm
arm64
x64
x86
/arm
/arm64
/x64
/x86
autom4te.cache
config.guess
./config.h
/config.h
config.log
config.status
config.sub
cov-int
cov-int.zip
depcomp
embedded.loc
res/loc/pollock/.vs
res/loc/pollock/bin
res/loc/pollock/obj
rufus_files
/res/loc/pollock/.vs
/res/loc/pollock/bin
/res/loc/pollock/obj
/rufus_files
stamp-h1
/.vs/rufus

31
.mingw/Makefile.am Normal file
View File

@ -0,0 +1,31 @@
# Create delay-loaded libraries from a DLL, that aren't vulnerable to side-loading
AM_V_DLLTOOL_0 = @echo " LIB $@";$(DLLTOOL)
AM_V_DLLTOOL_1 = $(DLLTOOL)
AM_V_DLLTOOL_ = $(AM_V_DLLTOOL_$(AM_DEFAULT_VERBOSITY))
AM_V_DLLTOOL = $(AM_V_DLLTOOL_$(V))
AM_V_SED_0 = @echo " SED $<";$(SED)
AM_V_SED_1 = $(SED)
AM_V_SED_ = $(AM_V_SED_$(AM_DEFAULT_VERBOSITY))
AM_V_SED = $(AM_V_SED_$(V))
# Ah the joys of Windows DLL calling conventions, that require an @## suffix in the .def
# for x86_32 and but no @## for x86_64, thereby forcing us to strip stuff according to the
# target arch. Oh, and we can't use 'target_cpu' or AC definitions on account that we are
# switching archs when building on our local machine, and don't want to have to go though
# a costly reconf each time when we can simply issue a 'make clean'.
TUPLE := $(shell $(CC) -dumpmachine)
TARGET := $(word 1,$(subst -, ,$(TUPLE)))
DEF_SUFFIX := $(if $(TARGET:x86_64=),.def,.def64)
.PHONY: all
all: dwmapi-delaylib.lib version-delaylib.lib wintrust-delaylib.lib
%.def64: %.def
$(AM_V_SED) "s/@.*//" $< >$@
%-delaylib.lib: %$(DEF_SUFFIX)
$(AM_V_DLLTOOL) --input-def $< --output-delaylib $@ --dllname $(basename $<).dll
clean:
$(RM) -rf *.lib

383
.mingw/Makefile.in Normal file
View File

@ -0,0 +1,383 @@
# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = .mingw
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__depfiles_maybe =
SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SUFFIX = @SUFFIX@
VERSION = @VERSION@
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
WINDRES = @WINDRES@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
# Create delay-loaded libraries from a DLL, that aren't vulnerable to side-loading
AM_V_DLLTOOL_0 = @echo " LIB $@";$(DLLTOOL)
AM_V_DLLTOOL_1 = $(DLLTOOL)
AM_V_DLLTOOL_ = $(AM_V_DLLTOOL_$(AM_DEFAULT_VERBOSITY))
AM_V_DLLTOOL = $(AM_V_DLLTOOL_$(V))
AM_V_SED_0 = @echo " SED $<";$(SED)
AM_V_SED_1 = $(SED)
AM_V_SED_ = $(AM_V_SED_$(AM_DEFAULT_VERBOSITY))
AM_V_SED = $(AM_V_SED_$(V))
# Ah the joys of Windows DLL calling conventions, that require an @## suffix in the .def
# for x86_32 and but no @## for x86_64, thereby forcing us to strip stuff according to the
# target arch. Oh, and we can't use 'target_cpu' or AC definitions on account that we are
# switching archs when building on our local machine, and don't want to have to go though
# a costly reconf each time when we can simply issue a 'make clean'.
TUPLE := $(shell $(CC) -dumpmachine)
TARGET := $(word 1,$(subst -, ,$(TUPLE)))
DEF_SUFFIX := $(if $(TARGET:x86_64=),.def,.def64)
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps .mingw/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign --ignore-deps .mingw/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
tags TAGS:
ctags CTAGS:
cscope cscopelist:
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
ctags-am distclean distclean-generic dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags-am \
uninstall uninstall-am
.PHONY: all
all: dwmapi-delaylib.lib version-delaylib.lib wintrust-delaylib.lib
%.def64: %.def
$(AM_V_SED) "s/@.*//" $< >$@
%-delaylib.lib: %$(DEF_SUFFIX)
$(AM_V_DLLTOOL) --input-def $< --output-delaylib $@ --dllname $(basename $<).dll
clean:
$(RM) -rf *.lib
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

2
.mingw/dwmapi.def Normal file
View File

@ -0,0 +1,2 @@
EXPORTS
DwmGetWindowAttribute@16

4
.mingw/version.def Normal file
View File

@ -0,0 +1,4 @@
EXPORTS
GetFileVersionInfoSizeW@8
GetFileVersionInfoW@16
VerQueryValueA@16

2
.mingw/wintrust.def Normal file
View File

@ -0,0 +1,2 @@
EXPORTS
WinVerifyTrustEx@12

8
.vs/Generate.PDB.props Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Link>
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
</Project>

View File

@ -83,49 +83,49 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

View File

@ -122,49 +122,49 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

View File

@ -44,39 +44,39 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
@ -84,12 +84,12 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

View File

@ -76,53 +76,53 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>

View File

@ -41,6 +41,7 @@
<ClInclude Include="..\src\libcdio\cdio\iso9660.h" />
<ClInclude Include="..\src\libcdio\cdio\logging.h" />
<ClInclude Include="..\src\libcdio\cdio\portable.h" />
<ClInclude Include="..\src\libcdio\cdio\rock.h" />
<ClInclude Include="..\src\libcdio\cdio\utf8.h" />
<ClInclude Include="..\src\libcdio\cdio\util.h" />
<ClInclude Include="..\src\libcdio\config.h" />
@ -68,53 +69,53 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>

View File

@ -53,6 +53,9 @@
<ClInclude Include="..\src\libcdio\cdio\portable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\rock.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\libcdio\iso9660\iso9660_fs.c">

View File

@ -62,53 +62,53 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>

View File

@ -105,53 +105,53 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>

View File

@ -46,39 +46,39 @@
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
@ -86,12 +86,12 @@
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
@ -127,21 +127,26 @@
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<Optimization>Disabled</Optimization>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<BuildLog />
@ -152,22 +157,27 @@
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<BuildLog />
@ -178,22 +188,27 @@
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<BuildLog />
@ -208,21 +223,26 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<Optimization>Disabled</Optimization>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<BuildLog />
@ -233,23 +253,28 @@
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<BuildLog />
@ -260,25 +285,30 @@
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<BuildLog />
@ -289,25 +319,30 @@
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<BuildLog />
@ -321,26 +356,32 @@
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>false</ExceptionHandling>
<DisableSpecificWarnings>4091;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\src\badblocks.c" />
<ClCompile Include="..\src\cpu.c" />
<ClCompile Include="..\src\dos_locale.c" />
<ClCompile Include="..\src\drive.c" />
<ClCompile Include="..\src\format.c" />
@ -356,7 +397,7 @@
<ClCompile Include="..\src\process.c" />
<ClCompile Include="..\src\re.c" />
<ClCompile Include="..\src\rufus.c" />
<ClCompile Include="..\src\checksum.c" />
<ClCompile Include="..\src\hash.c" />
<ClCompile Include="..\src\smart.c" />
<ClCompile Include="..\src\stdfn.c" />
<ClCompile Include="..\src\stdio.c" />
@ -365,10 +406,14 @@
<ClCompile Include="..\src\dev.c" />
<ClCompile Include="..\src\ui.c" />
<ClCompile Include="..\src\vhd.c" />
<ClCompile Include="..\src\wue.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\res\grub2\grub2_version.h" />
<ClInclude Include="..\res\grub\grub_version.h" />
<ClInclude Include="..\src\badblocks.h" />
<ClInclude Include="..\src\bled\bled.h" />
<ClInclude Include="..\src\cpu.h" />
<ClInclude Include="..\src\drive.h" />
<ClInclude Include="..\src\format.h" />
<ClInclude Include="..\src\gpt_types.h" />
@ -394,7 +439,9 @@
<ClInclude Include="..\src\dev.h" />
<ClInclude Include="..\src\ui.h" />
<ClInclude Include="..\src\ui_data.h" />
<ClInclude Include="..\src\vhd.h" />
<ClInclude Include="..\src\winio.h" />
<ClInclude Include="..\src\wue.h" />
</ItemGroup>
<ItemGroup>
<Manifest Include="..\src\rufus.manifest" />

View File

@ -66,7 +66,7 @@
<ClCompile Include="..\src\smart.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\checksum.c">
<ClCompile Include="..\src\hash.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\pki.c">
@ -90,6 +90,12 @@
<ClCompile Include="..\src\re.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\wue.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\cpu.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\rufus.h">
@ -176,6 +182,21 @@
<ClInclude Include="..\src\re.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\res\grub\grub_version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\res\grub2\grub2_version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\wue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\vhd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\cpu.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\res\rufus.ico">

View File

@ -59,53 +59,53 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>

View File

@ -58,53 +58,53 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>

View File

@ -52,53 +52,53 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>

View File

@ -1,9 +1,141 @@
o Version 4.5 (2024.05.22)
Add new advanced option to perform runtime UEFI media validation of suitable images (Windows, most Linux)
Move the 'Use Rufus MBR' advanced option to a cheat mode (Alt-A)
Fix truncation of VHDX images, as well as a benign error message when writing VHD/VHDX
Fix support for Linux persistence in some configurations (Mint, Ubuntu 24.04)
Fix multiple potential vulnerabilities (with thanks to Mansour Gashasbi)
Update internal GRUB to version 2.12
Update UEFI:NTFS to latest (now always uses the ntfs-3g driver, rather than the buggy AMI NTFS one)
Increase buffer size when copying ISO files, in an attempt to minimize the AMI NTFS UEFI driver bug
Improve partition creation handling
Don't display the WUE dialog when a conflicting 'unattend.xml' already exists
o Version 4.4 (2024.01.17)
Add workaround for distros that use broken symbolic links as their UEFI bootloaders (such as Mint 21.3)
Add support for GRUB 2.12
Fix a crash when saving .ffu images
Fix UEFI:NTFS partition not being added, in MBR mode, for some Linux ISOs
Prevent Microsoft Dev Drives from being listed
Improve support for SDXC card readers
Improve Large FAT32 formatting by aligning start of data regions to 1 MB (courtesy of Fred)
o Version 4.3 (2023.10.19)
Add support for Rock Ridge symbolic links preservation when NTFS is used
Add an exception to enforce NTFS for Linux Mint's LMDE
Add an expert feature to restrict a Windows installation to S Mode
Fix persistence support for Debian 12 when booted in BIOS mode
Fix a regression that prevented the opening of .vhd images
Update UEFI:NTFS to report a more explicit error on bootmgr security issues
Improve the search for conflicting processes by running it in a background thread
Improve support for Slax Linux
o Version 4.2 (2023.07.26)
Add detection and warning for UEFI revoked bootloaders (including ones revoked through SkuSiPolicy.p7b)
Add ZIP64 support, to extract .zip images that are larger than 4 GB
Add saving and restoring current drive to/from compressed VHDX image
Add saving and restoring current drive to/from compressed FFU (Full Flash Update) image [EXPERIMENTAL]
Fix a crash when trying to open Windows ISOs, with the MinGW compiled x86 32-bit version
Fix an issue where ISOs that contain a boot image with an 'EFI' label are not detected as bootable
Increase the ISO → ESP limit for Debian 12 netinst images
Ensure that the main partition size is aligned to the cluster size
o Version 4.1 (2023.05.31)
Add timeouts on enumeration queries that may stall on some systems
Restore MS-DOS drive creation through the download of binaries from Microsoft
Update the log button icon
Fix UEFI:NTFS incompatibility with Windows Dev Kit 2023 platform
Fix more GRUB 'out of range pointer' errors with Ubuntu/Fedora when booting in BIOS mode
o Version 4.0 (2023.04.26)
Fix persistent partition not working with Ubuntu 23.04
Fix out of range pointer error with Ubuntu 23.04 when booting in BIOS mode
Fix boot freeze with Ubuntu Studio when Secure Boot is enabled
Fix incorrect architecture detection when checking for updates
Fix a Windows Store application crash when processing GRUB bootloaders
Fix a Windows Store application crash when enumerating processes that contain a % sign
Fix a Windows Store application crash when using German localization
Note that the major version was bumped on account of:
- New versions of Rufus requiring Windows 8 or later
- New versions of Rufus defaulting to a 64-bit executable
- Old versions of Rufus potentially not being able to update properly
o Version 3.22 (2023.03.25)
Add SHA-1 and SHA-256 x86 acceleration on CPUs that support it (courtesy of Jeffrey Walton)
Add an option to disable BitLocker device encryption in the Windows User Experience dialog
Add a cheat mode (Ctrl-P) to preserve the log between sessions
Fix potential media creation errors by forcing the unmount of stale WIM images
Fix potential access errors in ISO → ESP mode by forcing Large FAT32 formatting
Fix user-specified label not being preserved on error/cancel
Fix some large SSD devices being listed by default
Fix processing of Rock Ridge CE fields
Work around the use of Rock Ridge symbolic links for Linux firmware packages (Debian)
Remove the ISO download feature on Windows 7
Note: This is the last version of Rufus that can run on Windows 7
o Version 3.21 (2022.11.28)
Allow the provision of an arbitrary local account username in the Windows User Experience dialog
Improve Windows version reporting from ISO/.wim
Update UEFI:NTFS' NTFS drivers to v1.4 and exFAT drivers to v1.9
Switch to remote download for nonstandard GRUB (Fedora 37, openSUSE Live, GeckoLinux)
Fix UEFI:NTFS partition not being set in MBR mode for ISOs with a >4GB file (UwUntu)
Fix GRUB support for Arch and derivatives, when a non FAT compliant label is used
Fix incorrect detection of GRUB with nonstandard prefixes
Fix tab order not working on the Windows User Experience dialog
o Version 3.20 (2022.08.03)
Enable applicable Windows User Experience options for Windows 10
Remember last Windows User Experience selection between sessions
Add automatic local account creation and regional options duplication
(NB: This is limited to creating an account with the same name as the current user and
with an empty password that the user will be prompted to change after first reboot)
Add a workaround for ISOs that have a 'syslinux' symbolic link to '/isolinux/' (Knoppix)
Revert to offline insertion of registry keys for the TPM/SB/RAM bypass where possible
Remove storage bypass, since this is a bogus bypass that doesn't do anything
Improve BIOS compatibility when displaying the "UEFI boot only" alert message
Fix Windows User Experience dialog appearing twice for Windows To Go
Fix Windows User Experience options not being applied for ARM64
Fix Microsoft Account bypass not being applied unless TPM/SB/RAM bypass is selected
Fix overeager detection of GRUB2 bootloaders with nonstandard prefixes
o Version 3.19 (2022.07.01)
Add a new selection dialog for Windows 11 setup customization:
- Secure Boot and TPM bypass have now been moved to this dialog
- Also allows to bypass the mandatory requirement for a Microsoft account on Windows 11 22H2
(NB: Network *MUST* be temporarily disabled for the local account creation to be proposed)
- Also add an option to skip all collection questions (Sets all answers to "Don't allow")
- Also add an option for setting internal drives offline for Windows To Go
Note: These customization options are only proposed when using a Windows 11 image.
Add support for distros using a nonstandard GRUB 2.0 prefix directory (openSUSE Live, GeckoLinux)
Add the ability to ignore USBs (See https://github.com/pbatard/rufus/blob/master/res/rufus.ini)
Change drive listing to always list in increasing order of size
Update exceptions needed by Red Hat and derivatives for the 9.x releases
Update UEFI:NTFS drivers to latest
Reassign a letter for drives written in DD mode that don't have an ESP (e.g. CoreELEC)
Fix Windows refusing to mount Linux MBR partitions on FIXED drives
Fix support for multiextent files when Joliet is in use
o Version 3.18 (2022.03.11)
Fix DLL sideloading vulnerabilities
Fix ISO → ESP creation when running on Windows 11
Fix an issue when detecting network connectivity when the DHCP service is disabled
Update FreeDOS to version 1.3
Add bypass of Windows 11 restrictions for in-place upgrades
Add Miracle Linux 8 to the list of Red Hat exceptions
Other internal fixes and improvements
o Version 3.17 (2021.10.23) [BUGFIX RELEASE]
Fix MBR not being properly cleared
Fix commandline hogger not being deleted on exit
Improve ReFS handling for platforms that support it
Update UEFI:NTFS to latest and remove Secure Boot notice since this version is Secure Boot signed
Update Grub4DOS to latest
o Version 3.16 (2021.10.13)
Fix ISO mode support for Red Hat 8.2+ and derivatives
Fix BIOS boot support for Arch derivatives
Fix removal of some boot entries for Ubuntu derivatives
Fix log not being saved on exit
Add Windows 11 "Extended" installation support (Disables TPM/Secure Boot/RAM requirements)
Add Windows 11 "Extended" installation support (Disables TPM/Secure Boot requirements)
Add UEFI Shell ISO downloads
Add support for Intel NUC card readers
Improve Windows 11 support

View File

@ -159,6 +159,7 @@ CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@

View File

@ -1,13 +1,13 @@
Rufus: The Reliable USB Formatting Utility
==========================================
[![Build status](https://img.shields.io/github/workflow/status/pbatard/rufus/VS2019.svg?style=flat-square&label=VS2019)](https://github.com/pbatard/rufus/actions/workflows/vs2019.yml)
[![Build status](https://img.shields.io/github/workflow/status/pbatard/rufus/MinGW.svg?style=flat-square&label=MinGW)](https://github.com/pbatard/rufus/actions/workflows/mingw.yml)
[![Coverity Scan Build Status](https://img.shields.io/coverity/scan/2172.svg?style=flat-square)](https://scan.coverity.com/projects/pbatard-rufus)
[![Build contributors](https://img.shields.io/github/contributors/pbatard/rufus.svg?style=flat-square)](https://github.com/pbatard/rufus/graphs/contributors)
[![Github stats](https://img.shields.io/github/downloads/pbatard/rufus/total.svg?label=downloads%20%28since%202019%29&style=flat-square)](https://github.com/pbatard/rufus/releases)
[![Release](https://img.shields.io/github/release-pre/pbatard/rufus.svg?style=flat-square)](https://github.com/pbatard/rufus/releases)
[![Licence](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![VS2022 Build Status](https://img.shields.io/github/actions/workflow/status/pbatard/rufus/vs2022.yml?branch=master&style=flat-square&label=VS2022%20Build)](https://github.com/pbatard/rufus/actions/workflows/vs2022.yml)
[![MinGW Build Status](https://img.shields.io/github/actions/workflow/status/pbatard/rufus/mingw.yml?branch=master&style=flat-square&label=MinGW%20Build)](https://github.com/pbatard/rufus/actions/workflows/mingw.yml)
[![Coverity Scan Status](https://img.shields.io/coverity/scan/2172.svg?style=flat-square&label=Coverity%20Analysis)](https://scan.coverity.com/projects/pbatard-rufus)
[![Latest Release](https://img.shields.io/github/release-pre/pbatard/rufus.svg?style=flat-square&label=Latest%20Release)](https://github.com/pbatard/rufus/releases)
[![Licence](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square&label=License)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![Download Stats](https://img.shields.io/github/downloads/pbatard/rufus/total.svg?label=Downloads&style=flat-square)](https://github.com/pbatard/rufus/releases)
[![Contributors](https://img.shields.io/github/contributors/pbatard/rufus.svg?style=flat-square&label=Contributors)](https://github.com/pbatard/rufus/graphs/contributors)
![Rufus logo](https://raw.githubusercontent.com/pbatard/rufus/master/res/icons/rufus-128.png)
@ -17,27 +17,29 @@ Features
--------
* Format USB, flash card and virtual drives to FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3
* Create DOS bootable USB drives, using [FreeDOS](https://www.freedos.org) or MS-DOS (Windows 8.1 or earlier)
* Create DOS bootable USB drives using [FreeDOS](https://www.freedos.org) or MS-DOS
* Create BIOS or UEFI bootable drives, including [UEFI bootable NTFS](https://github.com/pbatard/uefi-ntfs)
* Create bootable drives from bootable ISOs (Windows, Linux, etc.)
* Create bootable drives from bootable disk images, including compressed ones
* Create Windows 11 installation drives for PCs that don't have TPM or Secure Boot
* Create [Windows To Go](https://en.wikipedia.org/wiki/Windows_To_Go) drives
* Create Windows 11 installation drives for PCs that don't have TPM
* Create VHD/DD, VHDX and FFU images of an existing drive
* Create persistent Linux partitions
* Download official Microsoft Windows 7, Windows 8 or Windows 10 retail ISOs
* Download [UEFI Shell](https://github.com/pbatard/UEFI-Shell) ISOs
* Compute MD5, SHA-1, SHA-256 and SHA-512 checksums of the selected image
* Twice as fast as Microsoft's USB/DVD tool or UNetbootin, on ISO → USB creation <sup>(1)</sup>
* Perform runtime validation of UEFI bootable media
* Improve Windows installation experience by automatically setting up OOBE parameters (local account, privacy options, etc.)
* Perform bad blocks checks, including detection of "fake" flash drives
* Download official Microsoft Windows 8, Windows 10 or Windows 11 retail ISOs
* Download [UEFI Shell](https://github.com/pbatard/UEFI-Shell) ISOs
* Modern and familiar UI, with [38 languages natively supported](https://github.com/pbatard/rufus/wiki/FAQ#What_languages_are_natively_supported_by_Rufus)
* Small footprint. No installation required.
* Portable
* Portable. Secure Boot compatible.
* 100% [Free Software](https://www.gnu.org/philosophy/free-sw) ([GPL v3](https://www.gnu.org/licenses/gpl-3.0))
Compilation
-----------
Use either Visual Studio 2019 or MinGW and then invoke the `.sln` or `configure`/`make` respectively.
Use either Visual Studio 2022 or MinGW and then invoke the `.sln` or `configure`/`make` respectively.
#### Visual Studio
@ -60,13 +62,3 @@ Enhancements/Bugs
Please use the [GitHub issue tracker](https://github.com/pbatard/rufus/issues)
for reporting problems or suggesting new features.
<sup>(1)</sup> Tests carried out with a 16 GB USB 3.0 ADATA pen drive on a Core 2 duo/4 GB RAM platform running Windows 7 x64.
ISO: `en_windows_7_ultimate_with_sp1_x64_dvd_618240.iso`
| Name of tool | Version | Time |
| ------------ | ------- | ---- |
| [Windows USB/DVD Download Tool](https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool) | v1.0.30 | 8 mins 10s |
| [UNetbootin](https://unetbootin.github.io) | v1.1.1.1 | 6 mins 20s |
| **Rufus** | v1.1.0 | **3 mins 25s** |

View File

@ -33,7 +33,5 @@ _EOF
# First run sed to substitute our variable in the sed command file
sed -i -e "s/@@MAJOR@@/$MAJOR/g" -e "s/@@MINOR@@/$MINOR/g" cmd.sed
sed -b -i -f cmd.sed src/rufus.rc
sed -b -i -f cmd.sed res/appstore/Package.appxmanifest
sed -b -i -f cmd.sed res/appstore/packme.cmd
rm cmd.sed
source ./bootstrap.sh

View File

@ -38,9 +38,7 @@ _EOF
sed -i -e "s/@@BUILD@@/$BUILD/g" cmd.sed
# Run sed to update the nano version
sed -b -i -f cmd.sed src/rufus.rc
sed -b -i -f cmd.sed res/appstore/Package.appxmanifest
# NB: we need to run git add else the modified files may be ignored
git add src/rufus.rc
git add res/appstore/Package.appxmanifest
rm cmd.sed

View File

@ -1,3 +1,2 @@
@echo off
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp %1
exit
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\signtool" sign /v /sha1 3dbc3a2a0e9ce8803b422cfdbc60acd33164965d /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 %*

137
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for rufus 3.16.
# Generated by GNU Autoconf 2.71 for rufus 4.6.
#
# Report bugs to <https://github.com/pbatard/rufus/issues>.
#
@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='rufus'
PACKAGE_TARNAME='rufus'
PACKAGE_VERSION='3.16'
PACKAGE_STRING='rufus 3.16'
PACKAGE_VERSION='4.6'
PACKAGE_STRING='rufus 4.6'
PACKAGE_BUGREPORT='https://github.com/pbatard/rufus/issues'
PACKAGE_URL='https://rufus.ie'
@ -626,6 +626,7 @@ AM_LDFLAGS
AM_CFLAGS
VISIBILITY_CFLAGS
WINDRES
DLLTOOL
RM
SED
RANLIB
@ -1268,7 +1269,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures rufus 3.16 to adapt to many kinds of systems.
\`configure' configures rufus 4.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1335,7 +1336,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of rufus 3.16:";;
short | recursive ) echo "Configuration of rufus 4.6:";;
esac
cat <<\_ACEOF
@ -1427,7 +1428,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
rufus configure 3.16
rufus configure 4.6
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@ -1503,7 +1504,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by rufus $as_me 3.16, which was
It was created by rufus $as_me 4.6, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@ -1789,9 +1790,7 @@ struct stat;
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
struct buf { int x; };
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
char **p;
int i;
static char *e (char **p, int i)
{
return p[i];
}
@ -1842,6 +1841,7 @@ extern int puts (const char *);
extern int printf (const char *, ...);
extern int dprintf (int, const char *, ...);
extern void *malloc (size_t);
extern void free (void *);
// Check varargs macros. These examples are taken from C99 6.10.3.5.
// dprintf is used instead of fprintf to avoid needing to declare
@ -2767,7 +2767,7 @@ fi
# Define the identity of the package.
PACKAGE='rufus'
VERSION='3.16'
VERSION='4.6'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@ -4283,6 +4283,108 @@ printf "%s\n" "no" >&6; }
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
set dummy ${ac_tool_prefix}dlltool; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_DLLTOOL+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$DLLTOOL"; then
ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
DLLTOOL=$ac_cv_prog_DLLTOOL
if test -n "$DLLTOOL"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
printf "%s\n" "$DLLTOOL" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_DLLTOOL"; then
ac_ct_DLLTOOL=$DLLTOOL
# Extract the first word of "dlltool", so it can be a program name with args.
set dummy dlltool; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_DLLTOOL"; then
ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
if test -n "$ac_ct_DLLTOOL"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_DLLTOOL" = x; then
DLLTOOL=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
DLLTOOL=$ac_ct_DLLTOOL
fi
else
DLLTOOL="$ac_cv_prog_DLLTOOL"
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
@ -4371,7 +4473,7 @@ printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_STRIP" = x; then
STRIP="strip"
STRIP=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
@ -4473,7 +4575,7 @@ printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_WINDRES" = x; then
WINDRES="windres"
WINDRES=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
@ -4623,7 +4725,7 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="${saved_CFLAGS}"
AM_CFLAGS="$AM_CFLAGS -DUNICODE -D_UNICODE -UNDEBUG -DCOBJMACROS -D__USE_MINGW_ANSI_STDIO=0 -std=gnu99 -Wshadow -Wall -Wformat-security -Wundef -Wunused -Wstrict-prototypes -Wno-restrict -Werror-implicit-function-declaration $nopointersign_cflags"
AM_CFLAGS="$AM_CFLAGS -DUNICODE -D_UNICODE -UNDEBUG -DCOBJMACROS -D__USE_MINGW_ANSI_STDIO=0 -std=gnu99 -Wshadow -Wall -Wformat-security -Wundef -Wunused -Wstrict-prototypes -Wno-restrict -Wno-array-bounds -Werror-implicit-function-declaration -Wbidi-chars=none $nopointersign_cflags"
@ -4632,6 +4734,8 @@ AM_CFLAGS="$AM_CFLAGS -DUNICODE -D_UNICODE -UNDEBUG -DCOBJMACROS -D__USE_MINGW_A
ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files .mingw/Makefile"
ac_config_files="$ac_config_files src/Makefile"
ac_config_files="$ac_config_files src/bled/Makefile"
@ -5205,7 +5309,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by rufus $as_me 3.16, which was
This file was extended by rufus $as_me 4.6, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -5261,7 +5365,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
rufus config.status 3.16
rufus config.status 4.6
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
@ -5375,6 +5479,7 @@ for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
".mingw/Makefile") CONFIG_FILES="$CONFIG_FILES .mingw/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"src/bled/Makefile") CONFIG_FILES="$CONFIG_FILES src/bled/Makefile" ;;
"src/ext2fs/Makefile") CONFIG_FILES="$CONFIG_FILES src/ext2fs/Makefile" ;;

View File

@ -1,4 +1,4 @@
AC_INIT([rufus], [3.16], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie])
AC_INIT([rufus], [4.6], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie])
AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies])
AC_CONFIG_SRCDIR([src/rufus.c])
AC_CONFIG_MACRO_DIR([m4])
@ -12,8 +12,9 @@ AC_PROG_AR
AC_PROG_RANLIB
AC_PROG_SED
AC_PATH_PROG(RM, rm, rm)
AC_CHECK_TOOL(STRIP, strip, strip)
AC_CHECK_TOOL(WINDRES, windres, windres)
AC_CHECK_TOOL(DLLTOOL, dlltool, :)
AC_CHECK_TOOL(STRIP, strip, :)
AC_CHECK_TOOL(WINDRES, windres, :)
AC_C_INLINE
AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions])
@ -63,7 +64,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
[nopointersign_cflags="-Wno-pointer-sign"], [nopointersign_cflags=""])
CFLAGS="${saved_CFLAGS}"
AM_CFLAGS="$AM_CFLAGS -DUNICODE -D_UNICODE -UNDEBUG -DCOBJMACROS -D__USE_MINGW_ANSI_STDIO=0 -std=gnu99 -Wshadow -Wall -Wformat-security -Wundef -Wunused -Wstrict-prototypes -Wno-restrict -Werror-implicit-function-declaration $nopointersign_cflags"
AM_CFLAGS="$AM_CFLAGS -DUNICODE -D_UNICODE -UNDEBUG -DCOBJMACROS -D__USE_MINGW_ANSI_STDIO=0 -std=gnu99 -Wshadow -Wall -Wformat-security -Wundef -Wunused -Wstrict-prototypes -Wno-restrict -Wno-array-bounds -Werror-implicit-function-declaration -Wbidi-chars=none $nopointersign_cflags"
AC_SUBST([VISIBILITY_CFLAGS])
AC_SUBST([AM_CFLAGS])
@ -71,6 +72,7 @@ AC_SUBST([AM_LDFLAGS])
AC_SUBST([SUFFIX])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([.mingw/Makefile])
AC_CONFIG_FILES([src/Makefile])
AC_CONFIG_FILES([src/bled/Makefile])
AC_CONFIG_FILES([src/ext2fs/Makefile])

View File

@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2009-04-28.21; # UTC
scriptversion=2020-11-14.01; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@ -35,25 +35,21 @@ scriptversion=2009-04-28.21; # UTC
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
tab=' '
nl='
'
IFS=" "" $nl"
IFS=" $tab$nl"
# set DOITPROG to echo to test this script
# Set DOITPROG to "echo" to test this script.
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@ -68,22 +64,16 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
# Create dirs (including intermediate dirs) using mode 755.
# This is like GNU 'install' as of coreutils 8.32 (2020).
mkdir_umask=22
backupsuffix=
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
@ -97,7 +87,7 @@ dir_arg=
dst_arg=
copy_on_change=false
no_target_directory=
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@ -114,18 +104,28 @@ Options:
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-C install only if different (preserve data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-p pass -p to $cpprog.
-s $stripprog installed files.
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
By default, rm is invoked with -f; when overridden with RMPROG,
it's up to you to specify -f if you want it.
If -S is not specified, no backups are attempted.
Email bug reports to bug-automake@gnu.org.
Automake home page: https://www.gnu.org/software/automake/
"
while test $# -ne 0; do
@ -137,42 +137,62 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
shift;;
-p) cpprog="$cpprog -p";;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-S) backupsuffix="$2"
shift;;
-T) no_target_directory=true;;
-t)
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@ -186,6 +206,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
@ -194,13 +218,26 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@ -211,16 +248,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
u_plus_rw=
else
u_plus_rw='% 200'
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
u_plus_rw=
else
u_plus_rw=,u+rw
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@ -228,9 +265,9 @@ fi
for src
do
# Protect names starting with `-'.
# Protect names problematic for 'test' and other utilities.
case $src in
-*) src=./$src;;
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
@ -238,6 +275,10 @@ do
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
# Don't chown directories that already exist.
if test $dstdir_status = 0; then
chowncmd=""
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@ -252,185 +293,150 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
posix_mkdir=false
# The $RANDOM variable is not portable (e.g., dash). Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
trap '
ret=$?
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
exit $ret
' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p'.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
mkdir_mode=
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
trap '' 0;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set -f
set fnord $dstdir
shift
$posix_glob set +f
set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
@ -443,14 +449,25 @@ do
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
(umask $cp_umask &&
{ test -z "$stripcmd" || {
# Create $dsttmp read-write so that cp doesn't create it read-only,
# which would cause strip to fail.
if test -z "$doit"; then
: >"$dsttmp" # No need to fork-exec 'touch'.
else
$doit touch "$dsttmp"
fi
}
} &&
$doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@ -465,20 +482,24 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# If $backupsuffix is set, and the file being installed
# already exists, attempt a backup. Don't worry if it fails,
# e.g., if mv doesn't support -f.
if test -n "$backupsuffix" && test -f "$dst"; then
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
fi
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@ -486,24 +507,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
@ -512,10 +533,9 @@ do
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:

View File

@ -0,0 +1,8 @@
# indicate this is the root of the project
root = true
[*]
charset = utf-8-bom
insert_final_newline = true
indent_style = space
trim_trailing_whitespace = true

View File

@ -1,370 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<StoreAssociation xmlns="http://schemas.microsoft.com/appx/2010/storeassociation">
<Publisher>CN=7AC86D13-3E5A-491A-ADD5-80095C212740</Publisher>
<PublisherDisplayName>Akeo Consulting</PublisherDisplayName>
<DeveloperAccountType>MSA</DeveloperAccountType>
<GeneratePackageHash>http://www.w3.org/2001/04/xmlenc#sha256</GeneratePackageHash>
<SupportedLocales>
<Language Code="af" InMinimumRequirementSet="true" />
<Language Code="af-za" InMinimumRequirementSet="true" />
<Language Code="am" InMinimumRequirementSet="true" />
<Language Code="am-et" InMinimumRequirementSet="true" />
<Language Code="ar" InMinimumRequirementSet="true" />
<Language Code="ar-ae" InMinimumRequirementSet="true" />
<Language Code="ar-bh" InMinimumRequirementSet="true" />
<Language Code="ar-dz" InMinimumRequirementSet="true" />
<Language Code="ar-eg" InMinimumRequirementSet="true" />
<Language Code="ar-iq" InMinimumRequirementSet="true" />
<Language Code="ar-jo" InMinimumRequirementSet="true" />
<Language Code="ar-kw" InMinimumRequirementSet="true" />
<Language Code="ar-lb" InMinimumRequirementSet="true" />
<Language Code="ar-ly" InMinimumRequirementSet="true" />
<Language Code="ar-ma" InMinimumRequirementSet="true" />
<Language Code="ar-om" InMinimumRequirementSet="true" />
<Language Code="ar-qa" InMinimumRequirementSet="true" />
<Language Code="ar-sa" InMinimumRequirementSet="true" />
<Language Code="ar-sy" InMinimumRequirementSet="true" />
<Language Code="ar-tn" InMinimumRequirementSet="true" />
<Language Code="ar-ye" InMinimumRequirementSet="true" />
<Language Code="as" InMinimumRequirementSet="true" />
<Language Code="as-in" InMinimumRequirementSet="true" />
<Language Code="az" InMinimumRequirementSet="true" />
<Language Code="az-arab" InMinimumRequirementSet="true" />
<Language Code="az-arab-az" InMinimumRequirementSet="true" />
<Language Code="az-cyrl" InMinimumRequirementSet="true" />
<Language Code="az-cyrl-az" InMinimumRequirementSet="true" />
<Language Code="az-latn" InMinimumRequirementSet="true" />
<Language Code="az-latn-az" InMinimumRequirementSet="true" />
<Language Code="be" InMinimumRequirementSet="true" />
<Language Code="be-by" InMinimumRequirementSet="true" />
<Language Code="bg" InMinimumRequirementSet="true" />
<Language Code="bg-bg" InMinimumRequirementSet="true" />
<Language Code="bn" InMinimumRequirementSet="true" />
<Language Code="bn-bd" InMinimumRequirementSet="true" />
<Language Code="bn-in" InMinimumRequirementSet="true" />
<Language Code="bs" InMinimumRequirementSet="true" />
<Language Code="bs-cyrl" InMinimumRequirementSet="true" />
<Language Code="bs-cyrl-ba" InMinimumRequirementSet="true" />
<Language Code="bs-latn" InMinimumRequirementSet="true" />
<Language Code="bs-latn-ba" InMinimumRequirementSet="true" />
<Language Code="ca" InMinimumRequirementSet="true" />
<Language Code="ca-es" InMinimumRequirementSet="true" />
<Language Code="ca-es-valencia" InMinimumRequirementSet="true" />
<Language Code="chr-cher" InMinimumRequirementSet="true" />
<Language Code="chr-cher-us" InMinimumRequirementSet="true" />
<Language Code="chr-latn" InMinimumRequirementSet="true" />
<Language Code="cs" InMinimumRequirementSet="true" />
<Language Code="cs-cz" InMinimumRequirementSet="true" />
<Language Code="cy" InMinimumRequirementSet="true" />
<Language Code="cy-gb" InMinimumRequirementSet="true" />
<Language Code="da" InMinimumRequirementSet="true" />
<Language Code="da-dk" InMinimumRequirementSet="true" />
<Language Code="de" InMinimumRequirementSet="true" />
<Language Code="de-at" InMinimumRequirementSet="true" />
<Language Code="de-ch" InMinimumRequirementSet="true" />
<Language Code="de-de" InMinimumRequirementSet="true" />
<Language Code="de-li" InMinimumRequirementSet="true" />
<Language Code="de-lu" InMinimumRequirementSet="true" />
<Language Code="el" InMinimumRequirementSet="true" />
<Language Code="el-gr" InMinimumRequirementSet="true" />
<Language Code="en" InMinimumRequirementSet="true" />
<Language Code="en-011" InMinimumRequirementSet="true" />
<Language Code="en-014" InMinimumRequirementSet="true" />
<Language Code="en-018" InMinimumRequirementSet="true" />
<Language Code="en-021" InMinimumRequirementSet="true" />
<Language Code="en-029" InMinimumRequirementSet="true" />
<Language Code="en-053" InMinimumRequirementSet="true" />
<Language Code="en-au" InMinimumRequirementSet="true" />
<Language Code="en-bz" InMinimumRequirementSet="true" />
<Language Code="en-ca" InMinimumRequirementSet="true" />
<Language Code="en-gb" InMinimumRequirementSet="true" />
<Language Code="en-hk" InMinimumRequirementSet="true" />
<Language Code="en-id" InMinimumRequirementSet="true" />
<Language Code="en-ie" InMinimumRequirementSet="true" />
<Language Code="en-in" InMinimumRequirementSet="true" />
<Language Code="en-jm" InMinimumRequirementSet="true" />
<Language Code="en-kz" InMinimumRequirementSet="true" />
<Language Code="en-mt" InMinimumRequirementSet="true" />
<Language Code="en-my" InMinimumRequirementSet="true" />
<Language Code="en-nz" InMinimumRequirementSet="true" />
<Language Code="en-ph" InMinimumRequirementSet="true" />
<Language Code="en-pk" InMinimumRequirementSet="true" />
<Language Code="en-sg" InMinimumRequirementSet="true" />
<Language Code="en-tt" InMinimumRequirementSet="true" />
<Language Code="en-us" InMinimumRequirementSet="true" />
<Language Code="en-vn" InMinimumRequirementSet="true" />
<Language Code="en-za" InMinimumRequirementSet="true" />
<Language Code="en-zw" InMinimumRequirementSet="true" />
<Language Code="es" InMinimumRequirementSet="true" />
<Language Code="es-019" InMinimumRequirementSet="true" />
<Language Code="es-419" InMinimumRequirementSet="true" />
<Language Code="es-ar" InMinimumRequirementSet="true" />
<Language Code="es-bo" InMinimumRequirementSet="true" />
<Language Code="es-cl" InMinimumRequirementSet="true" />
<Language Code="es-co" InMinimumRequirementSet="true" />
<Language Code="es-cr" InMinimumRequirementSet="true" />
<Language Code="es-do" InMinimumRequirementSet="true" />
<Language Code="es-ec" InMinimumRequirementSet="true" />
<Language Code="es-es" InMinimumRequirementSet="true" />
<Language Code="es-gt" InMinimumRequirementSet="true" />
<Language Code="es-hn" InMinimumRequirementSet="true" />
<Language Code="es-mx" InMinimumRequirementSet="true" />
<Language Code="es-ni" InMinimumRequirementSet="true" />
<Language Code="es-pa" InMinimumRequirementSet="true" />
<Language Code="es-pe" InMinimumRequirementSet="true" />
<Language Code="es-pr" InMinimumRequirementSet="true" />
<Language Code="es-py" InMinimumRequirementSet="true" />
<Language Code="es-sv" InMinimumRequirementSet="true" />
<Language Code="es-us" InMinimumRequirementSet="true" />
<Language Code="es-uy" InMinimumRequirementSet="true" />
<Language Code="es-ve" InMinimumRequirementSet="true" />
<Language Code="et" InMinimumRequirementSet="true" />
<Language Code="et-ee" InMinimumRequirementSet="true" />
<Language Code="eu" InMinimumRequirementSet="true" />
<Language Code="eu-es" InMinimumRequirementSet="true" />
<Language Code="fa" InMinimumRequirementSet="true" />
<Language Code="fa-ir" InMinimumRequirementSet="true" />
<Language Code="fi" InMinimumRequirementSet="true" />
<Language Code="fi-fi" InMinimumRequirementSet="true" />
<Language Code="fil" InMinimumRequirementSet="true" />
<Language Code="fil-latn" InMinimumRequirementSet="true" />
<Language Code="fil-ph" InMinimumRequirementSet="true" />
<Language Code="fr" InMinimumRequirementSet="true" />
<Language Code="fr-011" InMinimumRequirementSet="true" />
<Language Code="fr-015" InMinimumRequirementSet="true" />
<Language Code="fr-021" InMinimumRequirementSet="true" />
<Language Code="fr-029" InMinimumRequirementSet="true" />
<Language Code="fr-155" InMinimumRequirementSet="true" />
<Language Code="fr-be" InMinimumRequirementSet="true" />
<Language Code="fr-ca" InMinimumRequirementSet="true" />
<Language Code="fr-cd" InMinimumRequirementSet="true" />
<Language Code="fr-ch" InMinimumRequirementSet="true" />
<Language Code="fr-ci" InMinimumRequirementSet="true" />
<Language Code="fr-cm" InMinimumRequirementSet="true" />
<Language Code="fr-fr" InMinimumRequirementSet="true" />
<Language Code="fr-ht" InMinimumRequirementSet="true" />
<Language Code="fr-lu" InMinimumRequirementSet="true" />
<Language Code="fr-ma" InMinimumRequirementSet="true" />
<Language Code="fr-mc" InMinimumRequirementSet="true" />
<Language Code="fr-ml" InMinimumRequirementSet="true" />
<Language Code="fr-re" InMinimumRequirementSet="true" />
<Language Code="frc-latn" InMinimumRequirementSet="true" />
<Language Code="frp-latn" InMinimumRequirementSet="true" />
<Language Code="ga" InMinimumRequirementSet="true" />
<Language Code="ga-ie" InMinimumRequirementSet="true" />
<Language Code="gd-gb" InMinimumRequirementSet="true" />
<Language Code="gd-latn" InMinimumRequirementSet="true" />
<Language Code="gl" InMinimumRequirementSet="true" />
<Language Code="gl-es" InMinimumRequirementSet="true" />
<Language Code="gu" InMinimumRequirementSet="true" />
<Language Code="gu-in" InMinimumRequirementSet="true" />
<Language Code="ha" InMinimumRequirementSet="true" />
<Language Code="ha-latn" InMinimumRequirementSet="true" />
<Language Code="ha-latn-ng" InMinimumRequirementSet="true" />
<Language Code="he" InMinimumRequirementSet="true" />
<Language Code="he-il" InMinimumRequirementSet="true" />
<Language Code="hi" InMinimumRequirementSet="true" />
<Language Code="hi-in" InMinimumRequirementSet="true" />
<Language Code="hr" InMinimumRequirementSet="true" />
<Language Code="hr-ba" InMinimumRequirementSet="true" />
<Language Code="hr-hr" InMinimumRequirementSet="true" />
<Language Code="hu" InMinimumRequirementSet="true" />
<Language Code="hu-hu" InMinimumRequirementSet="true" />
<Language Code="hy" InMinimumRequirementSet="true" />
<Language Code="hy-am" InMinimumRequirementSet="true" />
<Language Code="id" InMinimumRequirementSet="true" />
<Language Code="id-id" InMinimumRequirementSet="true" />
<Language Code="ig-latn" InMinimumRequirementSet="true" />
<Language Code="ig-ng" InMinimumRequirementSet="true" />
<Language Code="is" InMinimumRequirementSet="true" />
<Language Code="is-is" InMinimumRequirementSet="true" />
<Language Code="it" InMinimumRequirementSet="true" />
<Language Code="it-ch" InMinimumRequirementSet="true" />
<Language Code="it-it" InMinimumRequirementSet="true" />
<Language Code="iu-cans" InMinimumRequirementSet="true" />
<Language Code="iu-latn" InMinimumRequirementSet="true" />
<Language Code="iu-latn-ca" InMinimumRequirementSet="true" />
<Language Code="ja" InMinimumRequirementSet="true" />
<Language Code="ja-jp" InMinimumRequirementSet="true" />
<Language Code="ka" InMinimumRequirementSet="true" />
<Language Code="ka-ge" InMinimumRequirementSet="true" />
<Language Code="kk" InMinimumRequirementSet="true" />
<Language Code="kk-kz" InMinimumRequirementSet="true" />
<Language Code="km" InMinimumRequirementSet="true" />
<Language Code="km-kh" InMinimumRequirementSet="true" />
<Language Code="kn" InMinimumRequirementSet="true" />
<Language Code="kn-in" InMinimumRequirementSet="true" />
<Language Code="ko" InMinimumRequirementSet="true" />
<Language Code="ko-kr" InMinimumRequirementSet="true" />
<Language Code="kok" InMinimumRequirementSet="true" />
<Language Code="kok-in" InMinimumRequirementSet="true" />
<Language Code="ku-arab" InMinimumRequirementSet="true" />
<Language Code="ku-arab-iq" InMinimumRequirementSet="true" />
<Language Code="ky-cyrl" InMinimumRequirementSet="true" />
<Language Code="ky-kg" InMinimumRequirementSet="true" />
<Language Code="lb" InMinimumRequirementSet="true" />
<Language Code="lb-lu" InMinimumRequirementSet="true" />
<Language Code="lo" InMinimumRequirementSet="true" />
<Language Code="lo-la" InMinimumRequirementSet="true" />
<Language Code="lt" InMinimumRequirementSet="true" />
<Language Code="lt-lt" InMinimumRequirementSet="true" />
<Language Code="lv" InMinimumRequirementSet="true" />
<Language Code="lv-lv" InMinimumRequirementSet="true" />
<Language Code="mi" InMinimumRequirementSet="true" />
<Language Code="mi-latn" InMinimumRequirementSet="true" />
<Language Code="mi-nz" InMinimumRequirementSet="true" />
<Language Code="mk" InMinimumRequirementSet="true" />
<Language Code="mk-mk" InMinimumRequirementSet="true" />
<Language Code="ml" InMinimumRequirementSet="true" />
<Language Code="ml-in" InMinimumRequirementSet="true" />
<Language Code="mn-cyrl" InMinimumRequirementSet="true" />
<Language Code="mn-mn" InMinimumRequirementSet="true" />
<Language Code="mn-mong" InMinimumRequirementSet="true" />
<Language Code="mn-phag" InMinimumRequirementSet="true" />
<Language Code="mr" InMinimumRequirementSet="true" />
<Language Code="mr-in" InMinimumRequirementSet="true" />
<Language Code="ms" InMinimumRequirementSet="true" />
<Language Code="ms-bn" InMinimumRequirementSet="true" />
<Language Code="ms-my" InMinimumRequirementSet="true" />
<Language Code="mt" InMinimumRequirementSet="true" />
<Language Code="mt-mt" InMinimumRequirementSet="true" />
<Language Code="nb" InMinimumRequirementSet="true" />
<Language Code="nb-no" InMinimumRequirementSet="true" />
<Language Code="ne" InMinimumRequirementSet="true" />
<Language Code="ne-np" InMinimumRequirementSet="true" />
<Language Code="nl" InMinimumRequirementSet="true" />
<Language Code="nl-be" InMinimumRequirementSet="true" />
<Language Code="nl-nl" InMinimumRequirementSet="true" />
<Language Code="nn" InMinimumRequirementSet="true" />
<Language Code="nn-no" InMinimumRequirementSet="true" />
<Language Code="no" InMinimumRequirementSet="true" />
<Language Code="no-no" InMinimumRequirementSet="true" />
<Language Code="nso" InMinimumRequirementSet="true" />
<Language Code="nso-za" InMinimumRequirementSet="true" />
<Language Code="om" InMinimumRequirementSet="false" />
<Language Code="om-et" InMinimumRequirementSet="false" />
<Language Code="or" InMinimumRequirementSet="true" />
<Language Code="or-in" InMinimumRequirementSet="true" />
<Language Code="pa" InMinimumRequirementSet="true" />
<Language Code="pa-arab" InMinimumRequirementSet="true" />
<Language Code="pa-arab-pk" InMinimumRequirementSet="true" />
<Language Code="pa-deva" InMinimumRequirementSet="true" />
<Language Code="pa-in" InMinimumRequirementSet="true" />
<Language Code="pl" InMinimumRequirementSet="true" />
<Language Code="pl-pl" InMinimumRequirementSet="true" />
<Language Code="prs" InMinimumRequirementSet="true" />
<Language Code="prs-af" InMinimumRequirementSet="true" />
<Language Code="prs-arab" InMinimumRequirementSet="true" />
<Language Code="pt" InMinimumRequirementSet="true" />
<Language Code="pt-br" InMinimumRequirementSet="true" />
<Language Code="pt-pt" InMinimumRequirementSet="true" />
<Language Code="quc-latn" InMinimumRequirementSet="true" />
<Language Code="qut-gt" InMinimumRequirementSet="true" />
<Language Code="qut-latn" InMinimumRequirementSet="true" />
<Language Code="quz" InMinimumRequirementSet="true" />
<Language Code="quz-bo" InMinimumRequirementSet="true" />
<Language Code="quz-ec" InMinimumRequirementSet="true" />
<Language Code="quz-pe" InMinimumRequirementSet="true" />
<Language Code="ro" InMinimumRequirementSet="true" />
<Language Code="ro-ro" InMinimumRequirementSet="true" />
<Language Code="ru" InMinimumRequirementSet="true" />
<Language Code="ru-ru" InMinimumRequirementSet="true" />
<Language Code="rw" InMinimumRequirementSet="true" />
<Language Code="rw-rw" InMinimumRequirementSet="true" />
<Language Code="sd-arab" InMinimumRequirementSet="true" />
<Language Code="sd-arab-pk" InMinimumRequirementSet="true" />
<Language Code="sd-deva" InMinimumRequirementSet="true" />
<Language Code="si" InMinimumRequirementSet="true" />
<Language Code="si-lk" InMinimumRequirementSet="true" />
<Language Code="sk" InMinimumRequirementSet="true" />
<Language Code="sk-sk" InMinimumRequirementSet="true" />
<Language Code="sl" InMinimumRequirementSet="true" />
<Language Code="sl-si" InMinimumRequirementSet="true" />
<Language Code="sq" InMinimumRequirementSet="true" />
<Language Code="sq-al" InMinimumRequirementSet="true" />
<Language Code="sr" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-ba" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-cs" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-me" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-rs" InMinimumRequirementSet="true" />
<Language Code="sr-latn" InMinimumRequirementSet="true" />
<Language Code="sr-latn-ba" InMinimumRequirementSet="true" />
<Language Code="sr-latn-cs" InMinimumRequirementSet="true" />
<Language Code="sr-latn-me" InMinimumRequirementSet="true" />
<Language Code="sr-latn-rs" InMinimumRequirementSet="true" />
<Language Code="sv" InMinimumRequirementSet="true" />
<Language Code="sv-fi" InMinimumRequirementSet="true" />
<Language Code="sv-se" InMinimumRequirementSet="true" />
<Language Code="sw" InMinimumRequirementSet="true" />
<Language Code="sw-ke" InMinimumRequirementSet="true" />
<Language Code="ta" InMinimumRequirementSet="true" />
<Language Code="ta-in" InMinimumRequirementSet="true" />
<Language Code="te" InMinimumRequirementSet="true" />
<Language Code="te-in" InMinimumRequirementSet="true" />
<Language Code="tg-arab" InMinimumRequirementSet="true" />
<Language Code="tg-cyrl" InMinimumRequirementSet="true" />
<Language Code="tg-cyrl-tj" InMinimumRequirementSet="true" />
<Language Code="tg-latn" InMinimumRequirementSet="true" />
<Language Code="th" InMinimumRequirementSet="true" />
<Language Code="th-th" InMinimumRequirementSet="true" />
<Language Code="ti" InMinimumRequirementSet="true" />
<Language Code="ti-et" InMinimumRequirementSet="true" />
<Language Code="tk-cyrl" InMinimumRequirementSet="true" />
<Language Code="tk-cyrl-tr" InMinimumRequirementSet="true" />
<Language Code="tk-latn" InMinimumRequirementSet="true" />
<Language Code="tk-latn-tr" InMinimumRequirementSet="true" />
<Language Code="tk-tm" InMinimumRequirementSet="true" />
<Language Code="tn" InMinimumRequirementSet="true" />
<Language Code="tn-bw" InMinimumRequirementSet="true" />
<Language Code="tn-za" InMinimumRequirementSet="true" />
<Language Code="tr" InMinimumRequirementSet="true" />
<Language Code="tr-tr" InMinimumRequirementSet="true" />
<Language Code="tt-arab" InMinimumRequirementSet="true" />
<Language Code="tt-cyrl" InMinimumRequirementSet="true" />
<Language Code="tt-latn" InMinimumRequirementSet="true" />
<Language Code="tt-ru" InMinimumRequirementSet="true" />
<Language Code="ug-arab" InMinimumRequirementSet="true" />
<Language Code="ug-cn" InMinimumRequirementSet="true" />
<Language Code="ug-cyrl" InMinimumRequirementSet="true" />
<Language Code="ug-latn" InMinimumRequirementSet="true" />
<Language Code="uk" InMinimumRequirementSet="true" />
<Language Code="uk-ua" InMinimumRequirementSet="true" />
<Language Code="ur" InMinimumRequirementSet="true" />
<Language Code="ur-pk" InMinimumRequirementSet="true" />
<Language Code="uz" InMinimumRequirementSet="true" />
<Language Code="uz-cyrl" InMinimumRequirementSet="true" />
<Language Code="uz-latn" InMinimumRequirementSet="true" />
<Language Code="uz-latn-uz" InMinimumRequirementSet="true" />
<Language Code="vi" InMinimumRequirementSet="true" />
<Language Code="vi-vn" InMinimumRequirementSet="true" />
<Language Code="wo" InMinimumRequirementSet="true" />
<Language Code="wo-sn" InMinimumRequirementSet="true" />
<Language Code="xh" InMinimumRequirementSet="true" />
<Language Code="xh-za" InMinimumRequirementSet="true" />
<Language Code="yo-latn" InMinimumRequirementSet="true" />
<Language Code="yo-ng" InMinimumRequirementSet="true" />
<Language Code="zh" InMinimumRequirementSet="true" />
<Language Code="zh-cn" InMinimumRequirementSet="true" />
<Language Code="zh-hans" InMinimumRequirementSet="true" />
<Language Code="zh-hans-cn" InMinimumRequirementSet="true" />
<Language Code="zh-hans-sg" InMinimumRequirementSet="true" />
<Language Code="zh-hant" InMinimumRequirementSet="true" />
<Language Code="zh-hant-hk" InMinimumRequirementSet="true" />
<Language Code="zh-hant-mo" InMinimumRequirementSet="true" />
<Language Code="zh-hant-tw" InMinimumRequirementSet="true" />
<Language Code="zh-hk" InMinimumRequirementSet="true" />
<Language Code="zh-mo" InMinimumRequirementSet="true" />
<Language Code="zh-sg" InMinimumRequirementSet="true" />
<Language Code="zh-tw" InMinimumRequirementSet="true" />
<Language Code="zu" InMinimumRequirementSet="true" />
<Language Code="zu-za" InMinimumRequirementSet="true" />
</SupportedLocales>
<ProductReservedInfo>
<MainPackageIdentityName>19453.net.Rufus</MainPackageIdentityName>
<ReservedNames>
<ReservedName>Rufus</ReservedName>
</ReservedNames>
</ProductReservedInfo>
<PackageInfoList LandingUrl="https://developer.microsoft.com/dashboard/Application?appId=9PC3H3V7Q9CH" />
</StoreAssociation>

View File

@ -1,95 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap7="http://schemas.microsoft.com/appx/manifest/uap/windows10/7"
xmlns:uap8="http://schemas.microsoft.com/appx/manifest/uap/windows10/8"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap uap7 uap8 rescap">
<Identity
Name="19453.net.Rufus"
Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740"
Version="3.16.1836.0" />
<Properties>
<DisplayName>Rufus</DisplayName>
<PublisherDisplayName>Akeo Consulting</PublisherDisplayName>
<Logo>Images\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.19042.572" />
</Dependencies>
<Resources>
<Resource Language="en-US" />
<Resource Language="Ar-SA" />
<Resource Language="bg-BG" />
<Resource Language="zh-CN" />
<Resource Language="zh-TW" />
<Resource Language="hr-HR" />
<Resource Language="cs-CZ" />
<Resource Language="da-DK" />
<Resource Language="nl-NL" />
<Resource Language="fi-FI" />
<Resource Language="fr-FR" />
<Resource Language="de-DE" />
<Resource Language="el-GR" />
<Resource Language="he-IL" />
<Resource Language="hu-HU" />
<Resource Language="id-ID" />
<Resource Language="it-IT" />
<Resource Language="ja-JP" />
<Resource Language="ko-KR" />
<Resource Language="lv-LV" />
<Resource Language="lt-LT" />
<Resource Language="ms-MY" />
<Resource Language="nb-NO" />
<Resource Language="fa-IR" />
<Resource Language="pl-PL" />
<Resource Language="pt-BR" />
<Resource Language="pt-PT" />
<Resource Language="ro-RO" />
<Resource Language="ru-RU" />
<Resource Language="sr-SP" />
<Resource Language="sk-SK" />
<Resource Language="sl-SI" />
<Resource Language="es-ES" />
<Resource Language="sv-SE" />
<Resource Language="th-TH" />
<Resource Language="tr-TR" />
<Resource Language="uk-UA" />
<Resource Language="vi-VN" />
</Resources>
<Applications>
<Application Id="Rufus"
Executable="rufus\rufus.exe"
EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
DisplayName="Rufus"
Description="Rufus"
BackgroundColor="transparent"
Square150x150Logo="Images\Square150x150Logo.png"
Square44x44Logo="Images\Square44x44Logo.png">
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png">
<uap:ShowNameOnTiles>
<uap:ShowOn Tile="square150x150Logo"/>
<uap:ShowOn Tile="wide310x150Logo"/>
<uap:ShowOn Tile="square310x310Logo"/>
</uap:ShowNameOnTiles>
</uap:DefaultTile >
</uap:VisualElements>
<uap7:Properties>
<uap8:ActiveCodePage>UTF-8</uap8:ActiveCodePage>
</uap7:Properties>
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="allowElevation" />
</Capabilities>
</Package>

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Package
IgnorableNamespaces="uap uap7 uap8 rescap build"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap7="http://schemas.microsoft.com/appx/manifest/uap/windows10/7"
xmlns:uap8="http://schemas.microsoft.com/appx/manifest/uap/windows10/8"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build">
<Identity
Name="19453.net.Rufus"
Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740"
Version="@VERSION@"
ProcessorArchitecture="@ARCH@"/>
<Properties>
<DisplayName>Rufus</DisplayName>
<PublisherDisplayName>Akeo Consulting</PublisherDisplayName>
<Logo>Images\StoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily
Name="Windows.Desktop"
MinVersion="10.0.14316.0"
MaxVersionTested="10.0.22000.194"/>
<PackageDependency
Name="Microsoft.VCLibs.140.00.UWPDesktop"
MinVersion="14.0.30035.0"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/>
</Dependencies>
<Resources>
<Resource Language="en-US"/>
<Resource Language="ar-SA"/>
<Resource Language="bg-BG"/>
<Resource Language="zh-CN"/>
<Resource Language="zh-TW"/>
<Resource Language="hr-HR"/>
<Resource Language="cs-CZ"/>
<Resource Language="da-DK"/>
<Resource Language="nl-NL"/>
<Resource Language="fi-FI"/>
<Resource Language="fr-FR"/>
<Resource Language="de-DE"/>
<Resource Language="el-GR"/>
<Resource Language="he-IL"/>
<Resource Language="hu-HU"/>
<Resource Language="id-ID"/>
<Resource Language="it-IT"/>
<Resource Language="ja-JP"/>
<Resource Language="ko-KR"/>
<Resource Language="lv-LV"/>
<Resource Language="lt-LT"/>
<Resource Language="ms-MY"/>
<Resource Language="nb-NO"/>
<Resource Language="fa-IR"/>
<Resource Language="pl-PL"/>
<Resource Language="pt-BR"/>
<Resource Language="pt-PT"/>
<Resource Language="ro-RO"/>
<Resource Language="ru-RU"/>
<Resource Language="sr-Latn-RS"/>
<Resource Language="sk-SK"/>
<Resource Language="sl-SI"/>
<Resource Language="es-ES"/>
<Resource Language="sv-SE"/>
<Resource Language="th-TH"/>
<Resource Language="tr-TR"/>
<Resource Language="uk-UA"/>
<Resource Language="vi-VN"/>
<Resource uap:Scale="200"/>
</Resources>
<Applications>
<Application
Id="Rufus"
Executable="rufus\rufus.exe"
EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
DisplayName="Rufus"
Description="Rufus"
BackgroundColor="transparent"
Square150x150Logo="Images\Square150x150Logo.png"
Square44x44Logo="Images\Square44x44Logo.png">
<uap:DefaultTile
Wide310x150Logo="Images\Wide310x150Logo.png"
Square71x71Logo="Images\SmallTile.png"
Square310x310Logo="Images\LargeTile.png">
<uap:ShowNameOnTiles>
<uap:ShowOn Tile="square150x150Logo"/>
<uap:ShowOn Tile="wide310x150Logo"/>
<uap:ShowOn Tile="square310x310Logo"/>
</uap:ShowNameOnTiles>
</uap:DefaultTile>
</uap:VisualElements>
<uap7:Properties>
<uap8:ActiveCodePage>UTF-8</uap8:ActiveCodePage>
</uap7:Properties>
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
<rescap:Capability Name="allowElevation"/>
</Capabilities>
</Package>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
IgnorableNamespaces="uap">
<Identity
Name="19453.net.Rufus"
Publisher="CN=7AC86D13-3E5A-491A-ADD5-80095C212740"
Version="@VERSION@"
ResourceId="split.scale-@SCALE@"/>
<Properties>
<ResourcePackage>true</ResourcePackage>
<DisplayName>Rufus</DisplayName>
<PublisherDisplayName>Akeo Consulting</PublisherDisplayName>
<Logo>Images\StoreLogo.png</Logo>
</Properties>
<Resources>
<Resource uap:Scale="@SCALE@"/>
</Resources>
<Dependencies>
<TargetDeviceFamily
Name="Windows.Desktop"
MinVersion="10.0.14316.0"
MaxVersionTested="10.0.22000.194"/>
</Dependencies>
</Package>

View File

@ -1,144 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29215.179
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rufus", "..\..\.vs\rufus.vcxproj", "{731858A7-0303-4988-877B-9C0DD6471864}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ms-sys", "..\..\.vs\ms-sys.vcxproj", "{2B1D078D-8EB4-4398-9CA4-23457265A7F6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "syslinux-libfat", "..\..\.vs\syslinux-libfat.vcxproj", "{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "syslinux-libinstaller", "..\..\.vs\syslinux-libinstaller.vcxproj", "{266502AC-CD74-4581-B707-938A7D05AD7A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "syslinux-win", "..\..\.vs\syslinux-win.vcxproj", "{7D2E9784-DDF7-4988-A887-CF099BC3B340}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdio-iso9660", "..\..\.vs\libcdio-iso9660.vcxproj", "{D4E80F35-2604-40AC-B436-97B052ECB572}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdio-udf", "..\..\.vs\libcdio-udf.vcxproj", "{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdio-driver", "..\..\.vs\libcdio-driver.vcxproj", "{FA1B1093-BA86-410A-B7A0-7A54C605F812}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getopt", "..\..\.vs\getopt.vcxproj", "{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bled", "..\..\.vs\bled.vcxproj", "{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ext2fs", "..\..\.vs\ext2fs.vcxproj", "{B01F5886-2B39-4B66-B65C-6427135B6A02}"
EndProject
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "appstore", "appstore.wapproj", "{9440518F-38FE-43D9-9151-A26618E8C978}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|arm = Release|arm
Release|arm64 = Release|arm64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{731858A7-0303-4988-877B-9C0DD6471864}.Release|arm.ActiveCfg = Release|ARM
{731858A7-0303-4988-877B-9C0DD6471864}.Release|arm.Build.0 = Release|ARM
{731858A7-0303-4988-877B-9C0DD6471864}.Release|arm64.ActiveCfg = Release|ARM64
{731858A7-0303-4988-877B-9C0DD6471864}.Release|arm64.Build.0 = Release|ARM64
{731858A7-0303-4988-877B-9C0DD6471864}.Release|x64.ActiveCfg = Release|x64
{731858A7-0303-4988-877B-9C0DD6471864}.Release|x64.Build.0 = Release|x64
{731858A7-0303-4988-877B-9C0DD6471864}.Release|x86.ActiveCfg = Release|Win32
{731858A7-0303-4988-877B-9C0DD6471864}.Release|x86.Build.0 = Release|Win32
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|arm.ActiveCfg = Release|ARM
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|arm.Build.0 = Release|ARM
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|arm64.ActiveCfg = Release|ARM64
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|arm64.Build.0 = Release|ARM64
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|x64.ActiveCfg = Release|x64
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|x64.Build.0 = Release|x64
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|x86.ActiveCfg = Release|Win32
{2B1D078D-8EB4-4398-9CA4-23457265A7F6}.Release|x86.Build.0 = Release|Win32
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|arm.ActiveCfg = Release|ARM
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|arm.Build.0 = Release|ARM
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|arm64.ActiveCfg = Release|ARM64
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|arm64.Build.0 = Release|ARM64
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|x64.ActiveCfg = Release|x64
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|x64.Build.0 = Release|x64
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|x86.ActiveCfg = Release|Win32
{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}.Release|x86.Build.0 = Release|Win32
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|arm.ActiveCfg = Release|ARM
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|arm.Build.0 = Release|ARM
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|arm64.ActiveCfg = Release|ARM64
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|arm64.Build.0 = Release|ARM64
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|x64.ActiveCfg = Release|x64
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|x64.Build.0 = Release|x64
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|x86.ActiveCfg = Release|Win32
{266502AC-CD74-4581-B707-938A7D05AD7A}.Release|x86.Build.0 = Release|Win32
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|arm.ActiveCfg = Release|ARM
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|arm.Build.0 = Release|ARM
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|arm64.ActiveCfg = Release|ARM64
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|arm64.Build.0 = Release|ARM64
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|x64.ActiveCfg = Release|x64
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|x64.Build.0 = Release|x64
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|x86.ActiveCfg = Release|Win32
{7D2E9784-DDF7-4988-A887-CF099BC3B340}.Release|x86.Build.0 = Release|Win32
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|arm.ActiveCfg = Release|ARM
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|arm.Build.0 = Release|ARM
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|arm64.ActiveCfg = Release|ARM64
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|arm64.Build.0 = Release|ARM64
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|x64.ActiveCfg = Release|x64
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|x64.Build.0 = Release|x64
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|x86.ActiveCfg = Release|Win32
{D4E80F35-2604-40AC-B436-97B052ECB572}.Release|x86.Build.0 = Release|Win32
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|arm.ActiveCfg = Release|ARM
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|arm.Build.0 = Release|ARM
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|arm64.ActiveCfg = Release|ARM64
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|arm64.Build.0 = Release|ARM64
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|x64.ActiveCfg = Release|x64
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|x64.Build.0 = Release|x64
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|x86.ActiveCfg = Release|Win32
{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}.Release|x86.Build.0 = Release|Win32
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|arm.ActiveCfg = Release|ARM
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|arm.Build.0 = Release|ARM
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|arm64.ActiveCfg = Release|ARM64
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|arm64.Build.0 = Release|ARM64
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|x64.ActiveCfg = Release|x64
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|x64.Build.0 = Release|x64
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|x86.ActiveCfg = Release|Win32
{FA1B1093-BA86-410A-B7A0-7A54C605F812}.Release|x86.Build.0 = Release|Win32
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|arm.ActiveCfg = Release|ARM
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|arm.Build.0 = Release|ARM
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|arm64.ActiveCfg = Release|ARM64
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|arm64.Build.0 = Release|ARM64
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|x64.ActiveCfg = Release|x64
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|x64.Build.0 = Release|x64
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|x86.ActiveCfg = Release|Win32
{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|x86.Build.0 = Release|Win32
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|arm.ActiveCfg = Release|ARM
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|arm.Build.0 = Release|ARM
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|arm64.ActiveCfg = Release|ARM64
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|arm64.Build.0 = Release|ARM64
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|x64.ActiveCfg = Release|x64
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|x64.Build.0 = Release|x64
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|x86.ActiveCfg = Release|Win32
{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}.Release|x86.Build.0 = Release|Win32
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|arm.ActiveCfg = Release|ARM
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|arm.Build.0 = Release|ARM
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|arm64.ActiveCfg = Release|ARM64
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|arm64.Build.0 = Release|ARM64
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|x64.ActiveCfg = Release|x64
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|x64.Build.0 = Release|x64
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|x86.ActiveCfg = Release|Win32
{B01F5886-2B39-4B66-B65C-6427135B6A02}.Release|x86.Build.0 = Release|Win32
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|arm.ActiveCfg = Release|ARM
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|arm.Build.0 = Release|ARM
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|arm.Deploy.0 = Release|ARM
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|arm64.ActiveCfg = Release|ARM64
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|arm64.Build.0 = Release|ARM64
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|arm64.Deploy.0 = Release|ARM64
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|x64.ActiveCfg = Release|x64
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|x64.Build.0 = Release|x64
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|x64.Deploy.0 = Release|x64
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|x86.ActiveCfg = Release|x86
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|x86.Build.0 = Release|x86
{9440518F-38FE-43D9-9151-A26618E8C978}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CCF051E2-A27D-48B0-94ED-ADC18A40E0DB}
EndGlobalSection
EndGlobal

View File

@ -1,154 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '15.0'">
<VisualStudioVersion>15.0</VisualStudioVersion>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x86">
<Configuration>Debug</Configuration>
<Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x86">
<Configuration>Release</Configuration>
<Platform>x86</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Configuration">
<PreBuildEvent>"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp $(OutDir)rufus.exe</PreBuildEvent>
</PropertyGroup>
<PropertyGroup>
<WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath>
</PropertyGroup>
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
<PropertyGroup>
<ProjectGuid>9440518f-38fe-43d9-9151-a26618e8c978</ProjectGuid>
<TargetPlatformVersion>10.0.19041.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.14393.0</TargetPlatformMinVersion>
<DefaultLanguage>en-US</DefaultLanguage>
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
<PackageCertificateThumbprint>5B703405D71796B4F4D3217C39B48767DB855E9D</PackageCertificateThumbprint>
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
<AppxPackageSigningTimestampServerUrl>http://sha256timestamp.ws.symantec.com/sha256/timestamp</AppxPackageSigningTimestampServerUrl>
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
<GenerateTestArtifacts>False</GenerateTestArtifacts>
<AppxBundlePlatforms>x86|x64|arm|arm64</AppxBundlePlatforms>
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
<EntryPointProjectUniqueName>..\..\.vs\rufus.vcxproj</EntryPointProjectUniqueName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)arm\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)arm64\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)x86\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)x64\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)arm\Release\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)arm64\Release\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)x86\Release\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<AppxBundle>Always</AppxBundle>
<OutputPath>$(SolutionDir)x64\Release\</OutputPath>
</PropertyGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
</ItemGroup>
<ItemGroup>
<None Include="listing\listing.csv" />
<Content Include="Images\LargeTile.scale-100.png" />
<Content Include="Images\LargeTile.scale-125.png" />
<Content Include="Images\LargeTile.scale-150.png" />
<Content Include="Images\LargeTile.scale-200.png" />
<Content Include="Images\LargeTile.scale-400.png" />
<Content Include="Images\SmallTile.scale-100.png" />
<Content Include="Images\SmallTile.scale-125.png" />
<Content Include="Images\SmallTile.scale-150.png" />
<Content Include="Images\SmallTile.scale-200.png" />
<Content Include="Images\SmallTile.scale-400.png" />
<Content Include="Images\Square150x150Logo.scale-100.png" />
<Content Include="Images\Square150x150Logo.scale-125.png" />
<Content Include="Images\Square150x150Logo.scale-150.png" />
<Content Include="Images\Square150x150Logo.scale-200.png" />
<Content Include="Images\Square150x150Logo.scale-400.png" />
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-16.png" />
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-24.png" />
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-256.png" />
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-32.png" />
<Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-48.png" />
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-16.png" />
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-256.png" />
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-32.png" />
<Content Include="Images\Square44x44Logo.altform-unplated_targetsize-48.png" />
<Content Include="Images\Square44x44Logo.scale-100.png" />
<Content Include="Images\Square44x44Logo.scale-125.png" />
<Content Include="Images\Square44x44Logo.scale-150.png" />
<Content Include="Images\Square44x44Logo.scale-200.png" />
<Content Include="Images\Square44x44Logo.scale-400.png" />
<Content Include="Images\Square44x44Logo.targetsize-16.png" />
<Content Include="Images\Square44x44Logo.targetsize-24.png" />
<Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" />
<Content Include="Images\Square44x44Logo.targetsize-256.png" />
<Content Include="Images\Square44x44Logo.targetsize-32.png" />
<Content Include="Images\Square44x44Logo.targetsize-48.png" />
<Content Include="Images\StoreLogo.scale-100.png" />
<Content Include="Images\StoreLogo.scale-125.png" />
<Content Include="Images\StoreLogo.scale-150.png" />
<Content Include="Images\StoreLogo.scale-200.png" />
<Content Include="Images\StoreLogo.scale-400.png" />
<Content Include="Images\Wide310x150Logo.scale-100.png" />
<Content Include="Images\Wide310x150Logo.scale-125.png" />
<Content Include="Images\Wide310x150Logo.scale-150.png" />
<Content Include="Images\Wide310x150Logo.scale-200.png" />
<Content Include="Images\Wide310x150Logo.scale-400.png" />
<Content Include="rufus\rufus.app" />
<None Include="Package.StoreAssociation.xml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\.vs\rufus.vcxproj" />
</ItemGroup>
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
</Project>

View File

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SmallTileSource>..\icons\rufus-512.png</SmallTileSource>
<AppIconSource>..\icons\rufus-512.png</AppIconSource>
<Source>..\icons\rufus-512.png</Source>
<MediumTileSource>..\icons\rufus-512.png</MediumTileSource>
<WideTileSource>..\icons\rufus-512.png</WideTileSource>
<LargeTileSource>..\icons\rufus-512.png</LargeTileSource>
<SplashScreenSource>..\icons\rufus-512.png</SplashScreenSource>
<PackageLogoSource>..\icons\rufus-512.png</PackageLogoSource>
<AppxShowAllApps>True</AppxShowAllApps>
<AppxBuildConfigurationSelection>x86|x64|arm|arm64</AppxBuildConfigurationSelection>
<PackageOptionalProjectsInIdeBuilds>False</PackageOptionalProjectsInIdeBuilds>
<UapAppxPackageBuildMode>StoreOnly</UapAppxPackageBuildMode>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
<DebuggerFlavor>AppHostLocalDebugger</DebuggerFlavor>
<RemoteDebugEnabled>False</RemoteDebugEnabled>
<BackgroundTaskDebugEngines>NativeOnly</BackgroundTaskDebugEngines>
<DebuggerType>NativeOnly</DebuggerType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebuggerFlavor>AppHostLocalDebugger</DebuggerFlavor>
<RemoteDebugEnabled>False</RemoteDebugEnabled>
<BackgroundTaskDebugEngines>NativeOnly</BackgroundTaskDebugEngines>
<DebuggerType>NativeOnly</DebuggerType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<DebuggerFlavor>AppHostLocalDebugger</DebuggerFlavor>
<RemoteDebugEnabled>False</RemoteDebugEnabled>
<BackgroundTaskDebugEngines>NativeOnly</BackgroundTaskDebugEngines>
<DebuggerType>NativeOnly</DebuggerType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<DebuggerFlavor>AppHostLocalDebugger</DebuggerFlavor>
<RemoteDebugEnabled>False</RemoteDebugEnabled>
<BackgroundTaskDebugEngines>NativeOnly</BackgroundTaskDebugEngines>
<DebuggerType>NativeOnly</DebuggerType>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,153 @@
# PowerShell script to parse rufus.loc and create a listing.csv
# Copyright © 2023 Pete Batard <pete@akeo.ie>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
try {
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
} catch {}
function InsertMsg([object]$translated_msgs, [string]$lang, [string]$msg_id, [string]$msg)
{
for ($i = 0; $i -lt $translated_msgs.MSG_ID.Count; $i++) {
if ($translated_msgs.MSG_ID[$i] -eq $msg_id) {
$translated_msgs.$lang[$i] = $msg
}
}
}
function GetMsg([object]$translated_msgs, [string]$lang, [string]$msg_id)
{
for ($i = 0; $i -lt $translated_msgs.MSG_ID.Count; $i++) {
if ($translated_msgs.MSG_ID[$i] -eq $msg_id) {
if ($msg_id -eq "MSG_901" -or $msg_id -eq "MSG_902" -or $msg_id -eq "MSG_903") {
if (-not $translated_msgs.$lang[$i]) {
return $translated_msgs."en-us"[$i]
}
}
return $translated_msgs.$lang[$i]
}
}
return ""
}
$csv = Import-Csv -Path .\listing_template.csv -Encoding UTF8
# Get the translated MSG_ID's we need
$translated_msg_ids = @()
$empty = @()
foreach($row in $csv) {
# There may be multiple MSG_ID's in the row
Select-String "MSG_\d+" -input $row -AllMatches | foreach {
foreach ($match in $_.matches) {
$translated_msg_ids += $match.Value
$empty += ""
}
}
}
$translated_msgs = New-Object PSObject
Add-Member -InputObject $translated_msgs -NotePropertyName MSG_ID -NotePropertyValue $translated_msg_ids
$lang = ""
$langs = @()
foreach ($line in Get-Content ..\loc\rufus.loc) {
# Get the language for the current section
if ($line -Like "l *") {
$lang = $line.split(" ",[System.StringSplitOptions]::RemoveEmptyEntries)[1].Trim('"').ToLower()
if ($lang -eq "sr-rs") {
$lang = "sr-latn-rs"
}
$langs += $lang
Add-Member -InputObject $translated_msgs -NotePropertyName $lang -NotePropertyValue $empty.PsObject.Copy()
}
# Add translated messages to our array
if ($line -Like "t MSG_*") {
$msg_id = $line.Substring(2, 7)
if ($translated_msg_ids.Contains($msg_id)) {
$msg = $line.Substring(10).Trim('"').Replace("\n","`n").Replace('\"','"')
# Insert URLs in the relevant messages
if ($msg.Contains("%s")) {
$url = switch ($msg_id) {
MSG_901 { "https://rufus.ie" }
MSG_902 { "https://github.com/pbatard/rufus" }
MSG_903 { "https://github.com/pbatard/rufus/blob/master/ChangeLog.txt" }
}
$msg = $msg.Replace("%s", $url)
}
InsertMsg $translated_msgs $lang $msg_id "$msg"
}
}
}
# Add the extra columns to our CSV
foreach ($lang in $langs) {
$csv = $csv | Select-Object *, @{ n = $lang; e = " " }
}
# Now insert the translated strings and whatnot
foreach($row in $csv) {
Select-String "MSG_\d+" -input $row -AllMatches | foreach {
foreach ($lang in $langs) {
$row.$lang = $row.default
foreach ($match in $_.matches) {
$msg = GetMsg $translated_msgs $lang $match.Value
$row.$lang = $row.$lang.Replace($match.Value, $msg)
}
}
# Override some defaults
if ($row.default -eq "MSG_904") {
$row.default = "https://www.gnu.org/licenses/gpl-3.0.html"
} elseif ($row.default -eq "MSG_905") {
$row.default = "Boot"
} else {
$row.default = ""
}
}
if ($row.default -like "<AUTOGENERATED>") {
# Insert current year into CopyrightTrademarkInformation
if ($row.Field -eq "CopyrightTrademarkInformation") {
$year = Get-Date -Format "yyyy"
$row.default = "© 2011-" + $year + " Pete Batard"
} elseif ($row.Field -eq "ReleaseNotes") {
$section = 0
$row.default = ""
foreach ($line in Get-Content ..\..\ChangeLog.txt) {
if ($line.StartsWith("o Version")) {
$section++
continue
}
if ($section -eq 1 -and $line) {
if ($row.default) {
$row.default += "`n"
}
$row.default += $line.Replace(" ", "")
}
}
} elseif ($row.Field.StartsWith("DesktopScreenshot")) {
# NB: Per https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/import-and-export-store-listings?pivots=store-installer-msix#update-listing-info
# you need to use slashes rather than backslashes and include the name of the folder to upload as part of the path.
$row.default = ""
foreach ($lang in $langs) {
$path = "listing/" + $lang + "/" + $row.Field.Replace("Desktop", "") + ".png"
if (Test-Path -Path $path) {
$row.$lang = $path
}
}
}
}
}
$csv | Export-Csv 'listing\listing.csv' -NoTypeInformation -Encoding UTF8

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,206 +1,361 @@
Field,ID,Type (Type),default,fr-fr
Description,2,Text,"Rufus is a utility that helps format and create bootable USB flash drives.
Official site: https://rufus.ie
Source Code: https://github.com/pbatard/rufus/","Rufus est un utilitaire permettant de formater et de créer des médias USB démarrables.
Site officiel : https://rufus.ie
Code source : https://github.com/pbatard/rufus/"
ReleaseNotes,3,Text,https://github.com/pbatard/rufus/blob/master/ChangeLog.txt,
Title,4,Text,Rufus,
ShortTitle,5,Text,,
SortTitle,6,Text,,
VoiceTitle,7,Text,,
ShortDescription,8,Text,,
DevStudio,9,Text,,
CopyrightTrademarkInformation,12,Text,© 2011-2021 Pete Batard,
AdditionalLicenseTerms,13,Text,https://www.gnu.org/licenses/gpl-3.0.html,
DesktopScreenshot1,100,Relative path (or URL to file in Partner Center),listing/Rufus-en.png,listing/Rufus-fr.png
DesktopScreenshot2,101,Relative path (or URL to file in Partner Center),,
DesktopScreenshot3,102,Relative path (or URL to file in Partner Center),,
DesktopScreenshot4,103,Relative path (or URL to file in Partner Center),,
DesktopScreenshot5,104,Relative path (or URL to file in Partner Center),,
DesktopScreenshot6,105,Relative path (or URL to file in Partner Center),,
DesktopScreenshot7,106,Relative path (or URL to file in Partner Center),,
DesktopScreenshot8,107,Relative path (or URL to file in Partner Center),,
DesktopScreenshot9,108,Relative path (or URL to file in Partner Center),,
DesktopScreenshot10,109,Relative path (or URL to file in Partner Center),,
DesktopScreenshotCaption1,150,Text,,
DesktopScreenshotCaption2,151,Text,,
DesktopScreenshotCaption3,152,Text,,
DesktopScreenshotCaption4,153,Text,,
DesktopScreenshotCaption5,154,Text,,
DesktopScreenshotCaption6,155,Text,,
DesktopScreenshotCaption7,156,Text,,
DesktopScreenshotCaption8,157,Text,,
DesktopScreenshotCaption9,158,Text,,
DesktopScreenshotCaption10,159,Text,,
MobileScreenshot1,200,Relative path (or URL to file in Partner Center),,
MobileScreenshot2,201,Relative path (or URL to file in Partner Center),,
MobileScreenshot3,202,Relative path (or URL to file in Partner Center),,
MobileScreenshot4,203,Relative path (or URL to file in Partner Center),,
MobileScreenshot5,204,Relative path (or URL to file in Partner Center),,
MobileScreenshot6,205,Relative path (or URL to file in Partner Center),,
MobileScreenshot7,206,Relative path (or URL to file in Partner Center),,
MobileScreenshot8,207,Relative path (or URL to file in Partner Center),,
MobileScreenshot9,208,Relative path (or URL to file in Partner Center),,
MobileScreenshot10,209,Relative path (or URL to file in Partner Center),,
MobileScreenshotCaption1,250,Text,,
MobileScreenshotCaption2,251,Text,,
MobileScreenshotCaption3,252,Text,,
MobileScreenshotCaption4,253,Text,,
MobileScreenshotCaption5,254,Text,,
MobileScreenshotCaption6,255,Text,,
MobileScreenshotCaption7,256,Text,,
MobileScreenshotCaption8,257,Text,,
MobileScreenshotCaption9,258,Text,,
MobileScreenshotCaption10,259,Text,,
XboxScreenshot1,300,Relative path (or URL to file in Partner Center),,
XboxScreenshot2,301,Relative path (or URL to file in Partner Center),,
XboxScreenshot3,302,Relative path (or URL to file in Partner Center),,
XboxScreenshot4,303,Relative path (or URL to file in Partner Center),,
XboxScreenshot5,304,Relative path (or URL to file in Partner Center),,
XboxScreenshot6,305,Relative path (or URL to file in Partner Center),,
XboxScreenshot7,306,Relative path (or URL to file in Partner Center),,
XboxScreenshot8,307,Relative path (or URL to file in Partner Center),,
XboxScreenshot9,308,Relative path (or URL to file in Partner Center),,
XboxScreenshot10,309,Relative path (or URL to file in Partner Center),,
XboxScreenshotCaption1,350,Text,,
XboxScreenshotCaption2,351,Text,,
XboxScreenshotCaption3,352,Text,,
XboxScreenshotCaption4,353,Text,,
XboxScreenshotCaption5,354,Text,,
XboxScreenshotCaption6,355,Text,,
XboxScreenshotCaption7,356,Text,,
XboxScreenshotCaption8,357,Text,,
XboxScreenshotCaption9,358,Text,,
XboxScreenshotCaption10,359,Text,,
HolographicScreenshot1,400,Relative path (or URL to file in Partner Center),,
HolographicScreenshot2,401,Relative path (or URL to file in Partner Center),,
HolographicScreenshot3,402,Relative path (or URL to file in Partner Center),,
HolographicScreenshot4,403,Relative path (or URL to file in Partner Center),,
HolographicScreenshot5,404,Relative path (or URL to file in Partner Center),,
HolographicScreenshot6,405,Relative path (or URL to file in Partner Center),,
HolographicScreenshot7,406,Relative path (or URL to file in Partner Center),,
HolographicScreenshot8,407,Relative path (or URL to file in Partner Center),,
HolographicScreenshot9,408,Relative path (or URL to file in Partner Center),,
HolographicScreenshot10,409,Relative path (or URL to file in Partner Center),,
HolographicScreenshotCaption1,450,Text,,
HolographicScreenshotCaption2,451,Text,,
HolographicScreenshotCaption3,452,Text,,
HolographicScreenshotCaption4,453,Text,,
HolographicScreenshotCaption5,454,Text,,
HolographicScreenshotCaption6,455,Text,,
HolographicScreenshotCaption7,456,Text,,
HolographicScreenshotCaption8,457,Text,,
HolographicScreenshotCaption9,458,Text,,
HolographicScreenshotCaption10,459,Text,,
StoreLogo720x1080,600,Relative path (or URL to file in Partner Center),,
StoreLogo1080x1080,601,Relative path (or URL to file in Partner Center),,
StoreLogo300x300,602,Relative path (or URL to file in Partner Center),listing/Rufus-Icon-300.png,
OverrideLogosForWin10,603,True/False,,False
StoreLogoOverride150x150,604,Relative path (or URL to file in Partner Center),,
StoreLogoOverride71x71,605,Relative path (or URL to file in Partner Center),,
PromoImage1920x1080,606,Relative path (or URL to file in Partner Center),,
PromoImage2400x1200,607,Relative path (or URL to file in Partner Center),,
XboxBrandedKeyArt584x800,608,Relative path (or URL to file in Partner Center),,
XboxTitledHero1920x1080,609,Relative path (or URL to file in Partner Center),,
XboxFeaturedPromo1080x1080,610,Relative path (or URL to file in Partner Center),,
OptionalPromo358x358,611,Relative path (or URL to file in Partner Center),,
OptionalPromo1000x800,612,Relative path (or URL to file in Partner Center),,
OptionalPromo414x180,613,Relative path (or URL to file in Partner Center),,
Feature1,700,Text,"Format USB, flash card and virtual drives to FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3",Formate des médias USB, cartes flash et disques virtuels en FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3"
Feature2,701,Text,"Create DOS bootable USB drives, using FreeDOS or MS-DOS (Windows 8.1 or earlier)","Crée des médias démarrables DOS, avec FreeDOS ou MS-DOS (Windows 8.1 ou antérieur)"
Feature3,702,Text,"Create BIOS or UEFI bootable drives, including UEFI bootable NTFS","Crée des médias démarrables BIOS ou UEFI, y compris NTFS démarrables sous UEFI"
Feature4,703,Text,"Create bootable drives from bootable ISOs (Windows, Linux, etc.)","Crée des médias démarrables à partir d'images ISO (Windows, Linux, etc.)"
Feature5,704,Text,"Create bootable drives from bootable disk images, including compressed ones","Crée des médias démarrables à partir d'images disque, y compris compressées"
Feature6,705,Text,"Create Windows To Go drives","Crée des médias 'Windows To Go'"
Feature7,706,Text,"Create persistent Linux partitions","Crée des partitions Linux persistentes"
Feature8,707,Text,"Download official Microsoft Windows 8 or Windows 10 retail ISOs","Télécharges les ISOs officielles de Windows 8 ou Windows 10"
Feature9,708,Text,"Compute MD5, SHA-1, SHA-256 and SHA-512 checksums of the selected image","Calcule les check-sums MD5, SHA-1, SHA-256 et SHA-512 de l'image sélectionnée"
Feature10,709,Text,"Perform bad blocks checks, including detection of 'fake' flash drives","Effectue une verification de mauvais secteurs, incluant la détection de 'fake drives'"
Feature11,710,Text,,
Feature12,711,Text,,
Feature13,712,Text,,
Feature14,713,Text,,
Feature15,714,Text,,
Feature16,715,Text,,
Feature17,716,Text,,
Feature18,717,Text,,
Feature19,718,Text,,
Feature20,719,Text,,
MinimumHardwareReq1,800,Text,,
MinimumHardwareReq2,801,Text,,
MinimumHardwareReq3,802,Text,,
MinimumHardwareReq4,803,Text,,
MinimumHardwareReq5,804,Text,,
MinimumHardwareReq6,805,Text,,
MinimumHardwareReq7,806,Text,,
MinimumHardwareReq8,807,Text,,
MinimumHardwareReq9,808,Text,,
MinimumHardwareReq10,809,Text,,
MinimumHardwareReq11,810,Text,,
RecommendedHardwareReq1,850,Text,,
RecommendedHardwareReq2,851,Text,,
RecommendedHardwareReq3,852,Text,,
RecommendedHardwareReq4,853,Text,,
RecommendedHardwareReq5,854,Text,,
RecommendedHardwareReq6,855,Text,,
RecommendedHardwareReq7,856,Text,,
RecommendedHardwareReq8,857,Text,,
RecommendedHardwareReq9,858,Text,,
RecommendedHardwareReq10,859,Text,,
RecommendedHardwareReq11,860,Text,,
SearchTerm1,900,Text,,rufus
SearchTerm2,901,Text,,iso
SearchTerm3,902,Text,,bootable
SearchTerm4,903,Text,,usb
SearchTerm5,904,Text,,format
SearchTerm6,905,Text,,flash drive
SearchTerm7,906,Text,,
TrailerToPlayAtTopOfListing,999,Relative path (or URL to file in Partner Center),,
Trailer1,1000,Relative path (or URL to file in Partner Center),,
Trailer2,1001,Relative path (or URL to file in Partner Center),,
Trailer3,1002,Relative path (or URL to file in Partner Center),,
Trailer4,1003,Relative path (or URL to file in Partner Center),,
Trailer5,1004,Relative path (or URL to file in Partner Center),,
Trailer6,1005,Relative path (or URL to file in Partner Center),,
Trailer7,1006,Relative path (or URL to file in Partner Center),,
Trailer8,1007,Relative path (or URL to file in Partner Center),,
Trailer9,1008,Relative path (or URL to file in Partner Center),,
Trailer10,1009,Relative path (or URL to file in Partner Center),,
Trailer11,1010,Relative path (or URL to file in Partner Center),,
Trailer12,1011,Relative path (or URL to file in Partner Center),,
Trailer13,1012,Relative path (or URL to file in Partner Center),,
Trailer14,1013,Relative path (or URL to file in Partner Center),,
Trailer15,1014,Relative path (or URL to file in Partner Center),,
TrailerTitle1,1020,Text,,
TrailerTitle2,1021,Text,,
TrailerTitle3,1022,Text,,
TrailerTitle4,1023,Text,,
TrailerTitle5,1024,Text,,
TrailerTitle6,1025,Text,,
TrailerTitle7,1026,Text,,
TrailerTitle8,1027,Text,,
TrailerTitle9,1028,Text,,
TrailerTitle10,1029,Text,,
TrailerTitle11,1030,Text,,
TrailerTitle12,1031,Text,,
TrailerTitle13,1032,Text,,
TrailerTitle14,1033,Text,,
TrailerTitle15,1034,Text,,
TrailerThumbnail1,1040,Relative path (or URL to file in Partner Center),,
TrailerThumbnail2,1041,Relative path (or URL to file in Partner Center),,
TrailerThumbnail3,1042,Relative path (or URL to file in Partner Center),,
TrailerThumbnail4,1043,Relative path (or URL to file in Partner Center),,
TrailerThumbnail5,1044,Relative path (or URL to file in Partner Center),,
TrailerThumbnail6,1045,Relative path (or URL to file in Partner Center),,
TrailerThumbnail7,1046,Relative path (or URL to file in Partner Center),,
TrailerThumbnail8,1047,Relative path (or URL to file in Partner Center),,
TrailerThumbnail9,1048,Relative path (or URL to file in Partner Center),,
TrailerThumbnail10,1049,Relative path (or URL to file in Partner Center),,
TrailerThumbnail11,1050,Relative path (or URL to file in Partner Center),,
TrailerThumbnail12,1051,Relative path (or URL to file in Partner Center),,
TrailerThumbnail13,1052,Relative path (or URL to file in Partner Center),,
TrailerThumbnail14,1053,Relative path (or URL to file in Partner Center),,
TrailerThumbnail15,1054,Relative path (or URL to file in Partner Center),,
"Field","ID","Type (Type)","default","en-us","ar-sa","bg-bg","zh-cn","zh-tw","hr-hr","cs-cz","da-dk","nl-nl","fi-fi","fr-fr","de-de","el-gr","he-il","hu-hu","id-id","it-it","ja-jp","ko-kr","lv-lv","lt-lt","ms-my","nb-no","fa-ir","pl-pl","pt-br","pt-pt","ro-ro","ru-ru","sr-latn-rs","sk-sk","sl-si","es-es","sv-se","th-th","tr-tr","uk-ua","vi-vn"
"Description","2","Text","","Rufus is a utility that helps format and create bootable USB flash drives, such as USB keys/pendrives, memory sticks, etc.
• Official site: https://rufus.ie
• Source Code: https://github.com/pbatard/rufus
• ChangeLog: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","برنامج Rufus هو أداة تساعد في تنسيق وإنشاء أقراص الإقلاع USB، مثل مفاتيح USB، بطاقات الذاكرة، وغيرها.
• الموقع الرسمي: https://rufus.ie
• كود المصدر: https://github.com/pbatard/rufus
• سجل التغييرات: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus е програма, с която можете лесно да форматирате и създавате стартиращи USB устройства, карти с памет и др.
• Официален сайт: https://rufus.ie
• Изходен код: https://github.com/pbatard/rufus
• Лог на промените: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus 是一个帮助您格式化并创建可启动 USB 驱动器(如 U 盘和存储卡)的工具。
• 官方网站: https://rufus.ie
• 源代码: https://github.com/pbatard/rufus
• 更新日志: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus 是個能格式化並製作可開機 USB 快閃磁碟機USB 隨身碟、Memory Stick 等等)的工具。
• 官方網站: https://rufus.ie
• 源始碼: https://github.com/pbatard/rufus
• 更新日誌: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus je aplikacija koja olakšava formatiranje i stvaranje USB pokretačkih jedinica.
• Službena stranica: https://rufus.ie
• Šifra izvora: https://github.com/pbatard/rufus
• ChangeLog: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus je nástroj, který pomáhá formátovat a vytvářet bootovací USB flash disky, jako jsou USB klíče, paměťové karty atd.
• Oficiální stránky: https://rufus.ie
• Zdrojový kód: https://github.com/pbatard/rufus
• Protokol změn: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus er et værktøj, der hjælper med at formatere og skabe startbare USB-flashdrev, såsom USB-nøgler/USB-pinde, USB-stik, osv.
• Officiel side: https://rufus.ie
• Kildekode: https://github.com/pbatard/rufus
• Ændrings log: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus is een programma dat helpt bij het formatteren en aanmaken van opstartbare USB-flash-drives, zoals USB-sticks, geheugensticks, enz.
• Officiële site: https://rufus.ie
• Broncode: https://github.com/pbatard/rufus
• Wijzigingslog: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus on ohjelma, joka auttaa alustamaan ja luomaan boottaavia USB-laitteita, kuten esimerkiksi USB-avaimia, muistitikkuja jne.
• Virallinen sivusto: https://rufus.ie
• Lähdekoodi: https://github.com/pbatard/rufus
• Muutosloki: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus est un utilitaire permettant de formater et de créer des média USB amorçables, tels que clés USB, mémoire flash, etc.
• Site officiel : https://rufus.ie
• Code source: https://github.com/pbatard/rufus
• ChangeLog: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus ist ein Werkzeug, welches dabei hilft, bootfähige USB-Laufwerke zu erstellen, wie beispielweise USB-Keys, Speichersticks usw.
• Offizielle Website: https://rufus.ie
• Quellcode: https://github.com/pbatard/rufus
• Änderungsprotokoll: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Το Rufus είναι ένα βοηθητικό πρόγραμμα που βοηθά στη διαμόρφωση και τη δημιουργία μονάδων flash USB με δυνατότητα εκκίνησης, όπως κλειδιά USB/pendrives,κάρτες μνήμης κ.λπ.
• Επίσημος ιστότοπος: https://rufus.ie
• Πηγαίος κώδικας: https://github.com/pbatard/rufus
• Αρχείο καταγραφής αλλαγών: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus הוא כלי המסייע באתחול ויצירת כונני הבזק מסוג USB הניתנים לאתחול, כמו דיסק און קי, כרטיסי זיכרון וכו׳.
• האתר הרשמי: https://rufus.ie
• קוד מקור: https://github.com/pbatard/rufus
• הערות שחרור: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","A Rufus egy segédprogram, amellyel bootolható USB flash meghajtókat formázhat és készíthet, például USB kulcsokat/pendrive-okat, memóriakártyákat, stb.
• Hivatalos oldal: https://rufus.ie
• Forráskód: https://github.com/pbatard/rufus
• Változási napló: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus adalah alat yang membantu untuk memformat dan membuat perangkat USB flash menjadi bootable, seperti USB flashdisk, kartu memori, dll.
• Situs resmi: https://rufus.ie
• Kode Sumber: https://github.com/pbatard/rufus
• Catatan pergantian: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus è un programma che ti aiuta a formattare e creare una unità flash USB avviabile, come una unità USB, memory stick, ecc.
• Sito ufficiale: https://rufus.ie
• Codice sorgente: https://github.com/pbatard/rufus
• Novità: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus (ルーファス) とは、起動可能なUSBフラッシュドライブUSBメモリなどを作成したり、フォーマットをするためのソフトウェアです。
• 公式サイト: https://rufus.ie
• ソースコード: https://github.com/pbatard/rufus
• 変更履歴: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus는 USB 메모리 및 플래시 드라이브를 포맷하고 부팅할 수 있도록 만드는 도구입니다.
• 공식 사이트: https://rufus.ie
• 소스 코드: https://github.com/pbatard/rufus
• 변경 사항: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus ir instruments ar kura palīdzību var formatēt un izveidot USB ielādes ierīces uz tādiem nesējiem, kā USB pieslēguma zibatmiņas, atmiņas kartes u.c.
• Oficiālā mājas lapa: https://rufus.ie
• Sākotnējais kods: https://github.com/pbatard/rufus
• Izmaiņas: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus programa leidžia suženklinti ir sukurti sistemų paleidimo laikmenas, kaip pvz. USB atmintukus, atminties korteles ir pan.
• Oficiali svetainė: https://rufus.ie
• Šaltinio kodas: https://github.com/pbatard/rufus
• Pakeitimų žurnalas: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus adalah utiliti yang membantu memformat dan mencipta pemacu kilat USB boot, seperti pemacu pen/kekunci USB, kayu memori, dan lain-lain.
• Laman rasmi: https://rufus.ie
• Kod Sumber: https://github.com/pbatard/rufus
• ChangeLog: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus er et verktøy som hjelper til med å formatere og lage oppstartbare USB-stasjoner, for eksempel USB-minnepinner, USB-harddisker, og lignende.
• Offisiell webside: https://rufus.ie
• Kildekode: https://github.com/pbatard/rufus
• Endringslogg: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus ابزاری است که به فرمت و ایجاد درایوهای فلش USB قابل بوت، مانند کلیدهای USB/pendrives، مموری استیک ها و غیره به شما کمک می کند.
• سایت رسمی: https://rufus.ie
• منبع کد: https://github.com/pbatard/rufus
• لیست تغییرات https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus to narzędzie, które pomaga formatować i tworzyć bootowalne dyski flash USB, takie jak klucze USB / pendrive, pendrive'y itp.
• Oficjalna strona: https://rufus.ie
• Kod źródłowy: https://github.com/pbatard/rufus
• Zmiany: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus é um utilitário que ajuda a formatar e a criar unidades flash USB inicializáveis, tais como pendrives USB, cartões de memória, etc.
• Site oficial: https://rufus.ie
• Código fonte: https://github.com/pbatard/rufus
• Registro de alterações: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus é um utilitário que ajuda a formatar e a criar unidades USB inicializáveis, tais como dispositivos USB/pendrives, cartões de memória, etc.
• Site oficial: https://rufus.ie
• Código fonte: https://github.com/pbatard/rufus
• Alterações: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus este un utilitar care ajută la formatarea și crearea de drive-uri USB bootabile, precum cheile sau pendriverele USB, unități de memorie, etc.
• Site official: https://rufus.ie
• Codul Sursei: https://github.com/pbatard/rufus
• Listă de schimbări: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus - это утилита для форматирования и создания загрузочных флеш-накопителей USB.
• Официальный сайт: https://rufus.ie
• Исходный код: https://github.com/pbatard/rufus
• Изменения: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus je uslužni program koji pomaže u formatiranju i kreiranju USB fleš diskova koji se mogu pokretati, kao što su USB ključevi, memorijski štapići itd.
• Zvaničan sajt: https://rufus.ie
• Izvorni kod: https://github.com/pbatard/rufus
• Evidencija promena: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus je utilita, ktorá vám pomôže naformátovať a vytvoriť bootovacie jednotky USB Flash, ako sú napr. USB kľúče, pamäťové karty, atď.
• Oficiálna stránka: https://rufus.ie
• Zdrojový kód: https://github.com/pbatard/rufus
• Zoznam zmien: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus je program za formatiranje in ustvarjanje zagonskih naprav USB.
• Uradna stran: https://rufus.ie
• Šifra vira: https://github.com/pbatard/rufus
• Spremenitve: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus es una utilidad que le ayuda a formatear y crear dispositivos flash booteables, como «pendrives», tarjetas de memoria, etcétera.
• Sitio oficial https://rufus.ie
• Código fuente https://github.com/pbatard/rufus
• Registro de cambios https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus är ett program som hjälper dig formatera och skapa startbara USB-diskar, så som USB-minnen, minneskort, etc.
• Officiell webbplats: https://rufus.ie
• Källkod: https://github.com/pbatard/rufus
• Ändringslogg: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus คือ โปรแกรมที่ช่วยฟอร์แมต และสร้างไดรฟ์บูต USB จาก USB keys, pendrives, memory sticks เป็นต้น
• เว็บไซต์ทางการ: https://rufus.ie
• ซอร์สโค้ด: https://github.com/pbatard/rufus
• บันทึกการเปลี่ยนแปลง: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus, USB anahtar/bellekler, hafıza kartları vb. USB sürücüleri, biçimlendirmeye ve önyüklemeli hale getirmeye yardımcı olan bir araçtır.
• Resmi site: https://rufus.ie
• Kaynak Kodu: https://github.com/pbatard/rufus
• Sürüm Notları https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus це утиліта, яка допомагає форматувати та створювати завантажувальні флешки, картки пам'яті, тощо.
• Офіційний сайт: https://rufus.ie
• Сирцевий код: https://github.com/pbatard/rufus
• Список змін: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt","Rufus là một tiện ích giúp định dạng và tạo khả năng khởi động cho USB, chẳng hạn như thẻ USB/đĩa di động, thẻ nhớ, vv.
• Trang web chính thức: https://rufus.ie
• Mã nguồn: https://github.com/pbatard/rufus
• Nhật ký thay đổi: https://github.com/pbatard/rufus/blob/master/ChangeLog.txt"
"ReleaseNotes","3","Text","• Add new advanced option to perform runtime UEFI media validation of suitable images (Windows, most Linux)
• Move the 'Use Rufus MBR' advanced option to a cheat mode (Alt-A)
• Fix truncation of VHDX images, as well as a benign error message when writing VHD/VHDX
• Fix support for Linux persistence in some configurations (Mint, Ubuntu 24.04)
• Fix multiple potential vulnerabilities (with thanks to Mansour Gashasbi)
• Update internal GRUB to version 2.12
• Update UEFI:NTFS to latest (now always uses the ntfs-3g driver, rather than the buggy AMI NTFS one)
• Increase buffer size when copying ISO files, in an attempt to minimize the AMI NTFS UEFI driver bug
• Improve partition creation handling
• Don't display the WUE dialog when a conflicting 'unattend.xml' already exists",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Title","4","Text","Rufus",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"ShortTitle","5","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"SortTitle","6","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"VoiceTitle","7","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"ShortDescription","8","Text","","Rufus - The Reliable USB Formatting Utility","Rufus - أداة فرمتة الـ USB جديرة بالثقة","Rufus - Надеждната USB форматираща програма","Rufus - 可靠的 USB 格式化工具","Rufus - 快速可靠的 USB 格式化工具","Rufus - Pouzdan alat za formatiranje USB-a","Rufus - Spolehlivý program pro formátování USB","Rufus - Det pålidelige USB-formateringsværktøj","Rufus - de betrouwbare USB-formatteertool","Rufus - Luotettava USB-alustusohjelma","Rufus - L'utilitaire de formatage USB fiable","Rufus - Das zuverlässige USB-Formatierungstool","Rufus - Μία αξιόπιστη εφαρμογή διαμόρφωσης USB","Rufus - הכלי לאתחול USB האמין ביותר","Rufus - A megbízható USB-formázó segédprogram","Rufus - Utilitas Pemformatan USB yang Handal","Rufus - Utility affidabile per la formattazione di unità USB","Rufus - 信頼性の高い USB フォーマット ユーティリティ","Rufus - 신뢰할 수 있는 USB 포맷 유틸리티","Rufus - uzticama un vienkārša USB formatēšanas utilīta","Rufus - patikima USB formatavimo priemonė","Rufus - Utiliti pemformatan USB yang dipercayai","Rufus - Det pålitelige USB-formateringsprogrammet","Rufus، ابزاری کاربردی و قابل‌اطمینان برای فرمت کردن درایوهای USB","Rufus - niezawodne narzędzie do formatowania USB","Rufus - O Utilitário de Formatação USB Confiável","Rufus - O utilitário de confiança para formatação USB","Rufus - Instrumentul de încredere pentru formatări USB","Rufus - Надёжная утилита для форматирования USB-дисков","Rufus - Pouzdan Alat Za Formatiranje USB diska","Rufus - Spoľahlivý program pre formátovanie USB","Rufus - zanesljivi pripomoček za USB formatiranje","Rufus, la herramienta de formateo de USBs en la que puedes confiar","Rufus - Det pålitliga verktyget för USB-formatering","Rufus - ยูทิลิตี้การฟอร์แมต USB ที่ไว้ใจได้","Rufus - Güvenilir USB Biçimlendirme Programı","Rufus - надійна утиліта для форматування USB-накопичувачів","Rufus - Tiện ích Định dạng USB Đáng tin cậy"
"DevStudio","9","Text","Pete Batard",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"CopyrightTrademarkInformation","12","Text","© 2011-2024 Pete Batard",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"AdditionalLicenseTerms","13","Text","https://www.gnu.org/licenses/gpl-3.0.html","This application is licensed under the terms of the GNU Public License (GPL) version 3.
See https://www.gnu.org/licenses/gpl-3.0.en.html for details.","هذا التطبيق مُرخص بموجب شروط رخصة جنو (GNU) العمومية (GPL) الإصدار 3.
راجع https://www.gnu.org/licenses/gpl-3.0.ar.html لمزيد من التفاصيل.","Тази програма е лицензирана според условията на GNU Public License (GPL) версия 3.
Вижте https://www.gnu.org/licenses/gpl-3.0.html за подробности.","本应用采用 GNU 通用公共许可证 (GPL) 第三版。
具体许可证见 https://www.gnu.org/licenses/gpl-3.0.zh-cn.html。","本應用採用 GNU 通用公共許可證 (GPL) 第三版。
具體許可證見 https://www.gnu.org/licenses/gpl-3.0.zh-tw.html。","Ova je aplikacija licencirana pod uvjetima GNU Javne licence (GPL) verzije 3.
Detalje potražite u https://www.gnu.org/licenses/gpl-3.0.html.","Tato aplikace je licencována podle podmínek GNU Public License (GPL) verze 3.
Podrobnosti naleznete na adrese https://www.gnu.org/licenses/gpl-3.0.html.","Denne application er licenceret under GNU Public License (GPL) version 3's vilkår.
Se https://www.gnu.org/licenses/gpl-3.0.html for detaljer.","Deze toepassing valt onder de voorwaarden van de GNU Public License (GPL) versie 3.
Zie https://www.gnu.org/licenses/gpl-3.0.nl.html voor details.","Tämä sovellus on lisensoitu GNU Public License (GPL) version 3 ehtojen mukaisesti.
Lisätietoja osoitteessa https://www.gnu.org/licenses/gpl-3.0.html (englanniksi).","Cette application est fournie sous les termes de la Licence publique générale GNU (GPL) version 3.
Veuillez consulter https://www.gnu.org/licenses/gpl-3.0.fr.html pour plus de details.","Diese Anwendung ist unter den Bedingungen der GNU Public License (GPL) Version 3 lizenziert.
Siehe https://www.gnu.org/licenses/gpl-3.0.de.html für Details.","Αυτή η εφαρμογή έχει άδεια χρήσης σύμφωνα με τους όρους της GNU Public License (GPL) έκδοση 3.
Δείτε https://www.gnu.org/licenses/gpl-3.0.html για λεπτομέρειες.","יישום זה ברישיון תחת התנאים של גרסה 3 של הרישיון הציבורי של גנו (GPL).
לפרטים נוספים, יש להיכנס אל https://www.gnu.org/licenses/gpl-3.0.html.","Ezen alkalmazás használata a GNU Public License (GPL) 3-as verzió feltételei szerint engedélyezett.
További információ: https://www.gnu.org/licenses/gpl-3.0.html.","Aplikasi ini dilisensikan di bawah ketentuan GNU Public License (GPL) versi 3.
Lihat https://www.gnu.org/licenses/gpl-3.0.html untuk detail lebih lanjut.","Questa applicazione è rilasciata sotto i termini della GNU Public License (GPL) versione 3.
Vedere https://www.gnu.org/licenses/gpl-3.0.html per dettagli.","このアプリケーションはGNU Public License (GPL) version 3でライセンスされています。
詳細は https://www.gnu.org/licenses/gpl-3.0.ja.html をご覧ください。","이 응용 프로그램은 GNU Public License (GPL) 버전 3의 조건에 따라 라이선스가 부여됩니다.
자세한 내용은 https://www.gnu.org/licenses/gpl-3.0.html 을 참조하십시오.","Šai programmai ir licences noteikumi, kā GNU Public License (GPL) version 3.
Papildinformācijai skatīt https://www.gnu.org/licenses/gpl-3.0.html.","Ši programa yra licencijuota pagal GNU viešosios licencijos (GPL) 3 versijos sąlygas.
Daugiau informacijos rasite https://www.gnu.org/licenses/gpl-3.0.html.","Permohonan ini dilesenkan di bawah syarat-syarat Lesen Awam GNU (GPL) versi 3.
Lihat https://www.gnu.org/licenses/gpl-3.0.html untuk butiran.","Dette programmet er lisensiert under GNU Public Licence (GPL) versjon 3.
Se https://www.gnu.org/licenses/gpl-3.0.html for mer informasjon.","این برنامه تحت شرایط مجوز عمومی گنو (GPL) نسخه 3 مجوز دارد.
برای جزئیات به https://www.gnu.org/licenses/gpl-3.0.html مراجعه کنید.","Ta aplikacja jest objęta licencją na warunkach licencji publicznej GNU (GPL) w wersji 3.
Z obacz https://www.gnu.org/licenses/gpl-3.0.html, aby uzyskać szczegółowe informacje.","Este software está licenciado sob os termos da GNU Public License (GPL) versão 3.
Consulte https://www.gnu.org/licenses/gpl-3.0.pt-br.html para mais detalhes.","Este software está licenciado sob os termos da GNU Public License (GPL) versão 3.
Consulte https://www.gnu.org/licenses/gpl-3.0.html para mais detalhes.","Această aplicație este sub liciența și termenii și condițiile ale lui GNU Public License (GPL) versiunea a 3-a.
Vazi https://www.gnu.org/licenses/gpl-3.0.en.html pentru detalii.","Это приложение распространяется по лицензии GNU Public License (GPL) версии 3.
Подробнее см. https://www.gnu.org/licenses/gpl-3.0.ru.html.","Ova aplikacija je licencirana pod uslovima GNU Javne licence (GPL) verzije 3.
Pogledajte https://www.gnu.org/licenses/gpl-3.0.en.html za više informacija.","Táto aplikácia je licencovaná podľa podmienok GNU Public License (GPL) verzia 3.
Podrobnosti nájdete na https://www.gnu.org/licenses/gpl-3.0.html.","Ta aplikacija je licencirana pod pogoji GNU Javne licence (GPL) različice 3.
Oglejte si https://www.gnu.org/licenses/gpl-3.0.html podrobnosti.","Esta aplicación tiene licencia bajo los términos de la Licencia Pública GNU (GPL) versión 3.
Consulte https://www.gnu.org/licenses/gpl-3.0.html para obtener más información.","Denna applikation är licensierad under villkoren i GNU Public License (GPL) version 3.
Se https://www.gnu.org/licenses/gpl-3.0.en.html för mer information.","แอปพลิเคชันนี้ได้รับอนุญาตภายใต้เงื่อนไขของ GNU Public License (GPL) เวอร์ชัน 3
ดูรายละเอียดได้ที่ https://www.gnu.org/licenses/gpl-3.0.html","Bu uygulama, GNU Kamu Lisansı (GPL) sürüm 3'ün koşulları altında lisanslanmıştır.
Detaylar için https://www.gnu.org/licenses/gpl-3.0.tr.html sayfasını ziyaret edin.","Ця програма ліцензована згідно з умовами GNU Public License (GPL) version 3.
Більше: https://www.gnu.org/licenses/gpl-3.0.uk.html.","Phần mềm này đã được cấp phép dưới các điều khoản của GNU Public License (GPL) phiên bản 3.
Xem tại https://www.gnu.org/licenses/gpl-3.0.html để biết thêm chi tiết."
"DesktopScreenshot1","100","Relative path (or URL to file in Partner Center)","","listing/en-us/Screenshot1.png","listing/ar-sa/Screenshot1.png","listing/bg-bg/Screenshot1.png","listing/zh-cn/Screenshot1.png","listing/zh-tw/Screenshot1.png","listing/hr-hr/Screenshot1.png","listing/cs-cz/Screenshot1.png","listing/da-dk/Screenshot1.png","listing/nl-nl/Screenshot1.png","listing/fi-fi/Screenshot1.png","listing/fr-fr/Screenshot1.png","listing/de-de/Screenshot1.png","listing/el-gr/Screenshot1.png","listing/he-il/Screenshot1.png","listing/hu-hu/Screenshot1.png","listing/id-id/Screenshot1.png","listing/it-it/Screenshot1.png","listing/ja-jp/Screenshot1.png","listing/ko-kr/Screenshot1.png","listing/lv-lv/Screenshot1.png","listing/lt-lt/Screenshot1.png","listing/ms-my/Screenshot1.png","listing/nb-no/Screenshot1.png","listing/fa-ir/Screenshot1.png","listing/pl-pl/Screenshot1.png","listing/pt-br/Screenshot1.png","listing/pt-pt/Screenshot1.png","listing/ro-ro/Screenshot1.png","listing/ru-ru/Screenshot1.png","listing/sr-latn-rs/Screenshot1.png","listing/sk-sk/Screenshot1.png","listing/sl-si/Screenshot1.png","listing/es-es/Screenshot1.png","listing/sv-se/Screenshot1.png","listing/th-th/Screenshot1.png","listing/tr-tr/Screenshot1.png","listing/uk-ua/Screenshot1.png","listing/vi-vn/Screenshot1.png"
"DesktopScreenshot2","101","Relative path (or URL to file in Partner Center)","","listing/en-us/Screenshot2.png",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot3","102","Relative path (or URL to file in Partner Center)","","listing/en-us/Screenshot3.png",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot4","103","Relative path (or URL to file in Partner Center)","","listing/en-us/Screenshot4.png",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot5","104","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot6","105","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot7","106","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot8","107","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot9","108","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshot10","109","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption1","150","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption2","151","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption3","152","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption4","153","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption5","154","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption6","155","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption7","156","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption8","157","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption9","158","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"DesktopScreenshotCaption10","159","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot1","200","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot2","201","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot3","202","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot4","203","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot5","204","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot6","205","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot7","206","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot8","207","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot9","208","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshot10","209","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption1","250","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption2","251","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption3","252","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption4","253","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption5","254","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption6","255","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption7","256","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption8","257","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption9","258","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MobileScreenshotCaption10","259","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot1","300","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot2","301","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot3","302","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot4","303","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot5","304","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot6","305","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot7","306","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot8","307","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot9","308","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshot10","309","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption1","350","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption2","351","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption3","352","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption4","353","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption5","354","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption6","355","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption7","356","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption8","357","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption9","358","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxScreenshotCaption10","359","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot1","400","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot2","401","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot3","402","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot4","403","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot5","404","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot6","405","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot7","406","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot8","407","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot9","408","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshot10","409","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption1","450","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption2","451","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption3","452","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption4","453","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption5","454","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption6","455","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption7","456","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption8","457","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption9","458","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"HolographicScreenshotCaption10","459","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"StoreLogo720x1080","600","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"StoreLogo1080x1080","601","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"StoreLogo300x300","602","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"OverrideLogosForWin10","603","True/False","FALSE",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"StoreLogoOverride150x150","604","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"StoreLogoOverride71x71","605","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"PromoImage1920x1080","606","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"PromoImage2400x1200","607","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxBrandedKeyArt584x800","608","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxTitledHero1920x1080","609","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"XboxFeaturedPromo1080x1080","610","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"OptionalPromo358x358","611","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"OptionalPromo1000x800","612","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"OptionalPromo414x180","613","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Feature1","700","Text","","Format USB, flash card and virtual drives to FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","تهيئة USB وبطاقة الفلاش ومحركات الأقراص الافتراضية إلى FAT / FAT32 / NTFS / UDF / exFAT / ReFS / ext2 / ext3","Форматиране на USB, карти памет и виртуални устройства с FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","将 U 盘、存储卡或虚拟驱动器格式化为 FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3 格式","將隨身碟、記憶卡或虛擬光碟機格式化為 FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3 格式","Formatirajte USB, flash karticu i virtualne pogone na FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formátování USB, flash karet a virtuálních jednotek na FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formater USB, flash kort og virtuelle drev til FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","USB, flashkaart en virtuele schijven formatteren naar FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Alusta USB-asemia, muistikortteja ja virtuaalisia asemia muotoon FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatez des périphériques USB, des cartes flash et des disques virtuels en FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatieren von USB, Flash-Karte und virtuellen Laufwerken in FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Μορφοποίηση USB, κάρτας flash και εικονικών μονάδων δίσκου σε FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","אתחול USB, כרטיסי זיכרון וכוננים וירטואליים ל־FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","USB, flash memóriakártyák és virtuális meghajtók formázása FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3 fájlrendszerre","Format USB, kartu flash dan penyimpanan maya ke FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatta USB, flash card e unità virtuali in FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","USBメモリやSDカード、仮想ドライブをFAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3でフォーマットします。","USB, 플래시 카드 및 가상 드라이브를 FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3로 포맷","Formatē USB, atmiņas kartes un virtuālos diskus formātos FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Suformatuokite USB, flash kortelę ir virtualius diskus į FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatkan USB, kad flash dan pemacu maya kepada FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formater USB, minnekort og virtuelle disker til FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","فرمت USB، فلش کارت و درایوهای مجازی به FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Sformatuj nośnik używając: FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatar dispositivos USB, cartões flash e discos virtuais com FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatar dispositivos USB, cartão de memória e drives virtuais em FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatează USB, card flash si drive-uri virtuale la FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Форматирование USB, флешек и виртуальных дисков в FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatiraj USB, flash kartice, i virtualne diskove u FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Naformátujte USB, kartu a virtuálne disky do FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatiranje USB, bliskavice in virtualnih pogonov na FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatee USB, tarjetas flash y unidades virtuales a FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Formatera USB-enheter, flash-kort och virtuella enheter till FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","ฟอร์แมต USB, แฟลชการ์ด หรือไดรฟ์เสมือน ให้อยู่ในรูปแบบของ FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","USB, flash kart ve sanal sürücüleri FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3 olarak biçimlendirin","Форматування USB-накопичувачів, флешок, карток пам'яті у FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3","Định dạng USB, thẻ nhớ hoặc ổ nhớ ảo với FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3"
"Feature2","701","Text","","Create FreeDOS bootable USB drives","إنشاء محركات أقراص USB قابلة للإقلاع من FreeDOS","Създаване на FreeDOS стартиращ USB устройства","创建 FreeDOS 可启动驱动器","建立 FreeDOS 可啟隨身碟","Stvaranje FreeDOS USB pogona za pokretanje","Vytvoření bootovacích disků USB se systémem FreeDOS","Lav FreeDOS opstartsbare USB drev","FreeDOS opstartbare USB-schijven aanmaken","Luo boottaavia FreeDOS USB-asemia","Créez des disques amorçable FreeDOS","FreeDOS-bootfähige USB-Laufwerke erstellen","Δημιουργήστε μονάδες USB με δυνατότητα εκκίνησης FreeDOS","יצירת כונני USB הניתנים לאתחול של FreeDOS","Bootolható FreeDOS USB meghajtó készítése","Buat perangkat USB FreeDOS yang dapat di boot","Crea unità USB avviabili FreeDOS","FreeDOSの起動可能ドライブを作成します。","FreeDOS 부팅 가능한 USB 드라이브 만들기","Izveido FreeDOS ielādes USB ierīces","Sukurkite FreeDOS įkrovos USB diskus","Buat pemacu USB boleh boot FreeDOS","Lag FreeDos oppstartbar USB stick","درایوهای USB قابل بوت FreeDOS را ایجاد کنید","Stwórz bootowalny nośnik USB FreeDOS","Criar discos USB inicializáveis FreeDOS","Criar unidades USB inicializáveis FreeDOS","Crează drive USB bootabil FreeDOS","Создание загрузочных USB-дисков FreeDOS","Kreiraj FreeDOS butabilni USB disk","Vytvorte bootovacie usb zariadenia FreeDOS","Ustvarite FreeDOS zagonske USB pogone","Crear unidades USB de arranque FreeDOS","Skapa FreeDOS startbara USB-enheter","สร้าง USB ไดรฟ์บูตสำหรับระบบ FreeDOS","FreeDOS önyüklenebilir USB sürücüleri oluşturun","Створення завантажувальних пристроїв FreeDOS","Tạo USB có thể khởi động với FreeDOS"
"Feature3","702","Text","","Create bootable drives from bootable ISOs (Windows, Linux, etc.)","إنشاء محركات أقراص قابلة للإقلاع من ملفات ISO القابلة للإقلاع (Windows و Linux وما إلى ذلك)","Създаване на стартиращи устройства от ISO образи (Windows, Linux и др.)","从可启动 ISO 文件 (Windows 和 Linux 等) 创建可启动驱动器","從可啟動 ISO 檔案 (Windows 和 Linux 等) 建立可啟動隨身碟","Stvaranje pogona za pokretanje iz ISO-ova za pokretanje (Windows, Linux itd.)","Vytváření bootovacích jednotek ze zaváděcích ISO (Windows, Linux atd.)","Lav opstartsbarer drev fra opstartsbarer ISOer (Window, Linux, osv.)","Opstartbare schijven aanmaken via opstartbare ISO's (Windows, Linux, enz)","Luo käynnistysasemia boottaavista ISO-kuvista (Windows, Linux jne.)","Créez des disques amorçables à partir d'images ISOs (Windows, Linux, etc.)","Erstellen bootfähiger Laufwerke aus bootfähigen ISOs (Windows, Linux, etc.)","Δημιουργήστε εκκινήσιμες μονάδες από ISO με δυνατότητα εκκίνησης (Windows, Linux, κ.λπ.)","יצירת כוננים הניתנים לאתחול מקובצי ISO הניתנים לאתחול (Windows, Linux וכו')","Bootolható meghajtók készítése bootolható ISO képfájlokból (Windows, Linux, stb.)","Buat perangkat yang dapat di boot dari ISO (Windows, Linux, dll.)","Crea unità avviabili da ISO avviabili (Windows, Linux, ecc.)","WindowsやLinuxなどのISOファイルから起動可能ドライブを作成します。","부팅 가능한 ISO (Windows, Linux 등)에서 부팅 가능한 드라이브 만들기","Izveido ielādes ierīces no ISO failiem (Windows, Linux, u.c.)","Sukurkite įkrovos diskus iš įkrovos ISO (Windows, Linux ir kt.)","Buat pemacu boleh boot daripada ISO boleh boot (Windows, Linux, dll.)","Lag oppstartabar enhet/disk fra ISOer (Windows, Linux, etc.)","ایجاد درایوهای قابل بوت از ISOهای قابل بوت (ویندوز، لینوکس و غیره)","Twórz dyski rozruchowe z obrazów ISO (Windows, Linux itp.)","Criar discos inicializáveis a partir de ISOs inicializáveis (Windows, Linux, etc.)","Criar unidades inicializáveis a partir de ISOs inicializáveis (Windows, Linux, etc.)","Crează drive-uri bootabile de la ISO-uri bootabile (Windows, Linux, etc.)","Создание загрузочных дисков из загрузочных образов ISO (Windows, Linux и т.д.)","Kreirajte disk jedinice za pokretanje sistema od ISO-a koji se mogu pokretanja sistema (Windows, Linux itd.)","Vytvorte bootovacie jednotky z ISO súborov (Windows, Linux atď.)","Ustvarite zagonske pogone iz zagonskih ISO-jev (Windows, Linux itd.)","Cree unidades de arranque desde ISO de arranque (Windows, Linux, etc.)","Skapa startbara enheter från startbara ISO-filer (Windows, Linux, etc.)","สร้าง USB ไดรฟ์บูตจากไฟล์ ISO ที่บูตได้ (เช่น ไฟล์ติดตั้ง Windows หรือ Linux เป็นต้น)","Önyüklenebilir ISO'lardan önyüklenebilir sürücüler oluşturun (Windows, Linux, vb.)","Створення завантажувальних пристроїв з завантажувальних образів (Windows, Linux, тощо)","Tạo ổ đĩa có thể khởi động từ các file ISO có thể khởi động (Windows, Linux, v.v...)"
"Feature4","703","Text","","Create bootable drives from bootable disk images, including compressed ones","إنشاء محركات أقراص قابلة للإقلاع من صور الأقراص القابلة للإقلاع ، بما في ذلك الأقراص المضغوطة","Създаване на стартиращи устройства от образи, включително компресирани такива","从可启动硬盘镜像 (包括压缩镜像) 创建可启动驱动器","從可啟動硬碟映像檔 (包括壓縮映像檔) 建立可啟動隨身碟","Stvaranje pogona za pokretanje iz slika diska za pokretanje, uključujući komprimirane","Vytváření zaváděcích jednotek ze zaváděcích obrazů disků, včetně komprimovaných","Lav opstartsbarer drev fra opstartsbarer disk billeder, inklusiv komprimerede billeder","Opstartbare schijven aanmaken van opstartbare schijf-images, inclusief gecomprimeerde images","Luo käynnistysasemia boottaavista levykuvista, pakatut kuvat mukaanlukien","Créez des disques amorçables à partir d'images disque, y compris à partir d'images compressées","Erstellen bootfähiger Laufwerke aus bootfähigen Festplatten-Images, einschließlich komprimierter Images","Δημιουργήστε μονάδες εκκίνησης από εικόνες δίσκου με δυνατότητα εκκίνησης, συμπεριλαμβανομένων συμπιεσμένων","יצירת כוננים הניתנים לאתחול מקובצי תמונת דיסק הניתנים לאתחול, כולל קבצים דחוסים","Bootolható meghajtók készítése bootolható lemez képfájlokból, beleértve a tömörítetteket is","Buat perangkat yang dapat di boot dari Disk Image, termasuk yang Disk Image yang terkompresi","Crea unità avviabili da immagini disco avviabili, incluse quelle compresse","圧縮済みのものを含むディスクイメージから起動可能ドライブを作成します。","압축된 이미지를 포함하여 부팅 가능한 디스크 이미지에서 부팅 가능한 드라이브 만들기","Izveido ielādes ierīces no ielādes disku virtuālajiem attēliem, tai skaitā arī no saspiestajiem","Sukurkite įkrovos diskus iš įkrovos disko vaizdų, įskaitant suspaustus","Buat pemacu boleh boot daripada imej cakera boleh boot, termasuk yang dimampatkan","Lag oppstartbare disker fra images, inkludert komprimerte sådan","درایوهای قابل بوت را از تصاویر دیسک قابل بوت، از جمله موارد فشرده، ایجاد کنید","Twórz dyski rozruchowe z obrazów dysków, włączając skompresowane","Criar discos inicializáveis a partir de imagens de disco inicializáveis, inclusive de imagens compactadas","Criar unidades inicializáveis a partir de imagens de disco inicializáveis, inclusive de imagens compactadas","Crează drive-uri de la imagini de disc bootabile, incluzând cele compresate","Создание загрузочных дисков из образов загрузочных дисков, в том числе сжатых","Kreiranje disk jedinica za pokretanje sistema sa slika diska koji se može pokretanja, uključujući kompresovane","Vytvorte bootovacie jednotky z diskových obrazov, vrátane tých komprimovaných","Ustvarite zagonske pogone iz slik diska, ki jih je mogoče zagnati, vključno s stisnjenimi","Cree unidades de arranque a partir de imágenes de disco de arranque, incluidas las comprimidas","Skapa startbara enheter från startbara diskavbildningar, inklusive komprimerade","สร้างไดรฟ์บูตจากดิสก์อิมเมจที่บูตได้ (รองรับไฟล์ดิสก์อิมเมจที่ถูกบีบอัด)","Sıkıştırılmış olanlar da dahil olmak üzere önyüklenebilir disk yansısından önyüklenebilir sürücüler oluşturun","Створення завантажувальних пристроїв з завантажувальних образів, у тому числі стиснутих","Tạo ổ đĩa có thể khởi động từ các tệp đĩa có thể khởi động, bao gồm cả tệp nén"
"Feature5","704","Text","","Create BIOS or UEFI bootable drives, including UEFI bootable NTFS","إنشاء BIOS أو محركات أقراص UEFI قابلة للإقلاع ، بما في ذلك UEFI NTFS القابل للتشغيل","Създаване на BIOS или UEFI стартиращи устройства, включително UEFI стартиращ NTFS","创建 BIOS 或 UEFI 可启动驱动器,包括 UEFI 可启动的 NTFS 驱动器","建立 BIOS 或 UEFI 可啟動隨身碟,包括 UEFI 可啟動的 NTFS 隨身碟","Stvaranje BIOS ili UEFI pogona za pokretanje, uključujući UEFI NTFS za pokretanje","Vytvořte zaváděcí jednotky BIOS nebo UEFI, včetně zaváděcích souborů NTFS UEFI","Lav BIOS eller UEFI opstartsbarer drev, inklusiv UEFI opstartsbarer NTFS","BIOS of UEFI opstartbare schijven aanmaken, inclusief UEFI opstartbare NTFS","Luo BIOS- tai UEFI-boottaavia asemia, mukaanlukien UEFI-boottaavat NTFS-asemat","Créez des disques amorçables BIOS ou UEFI, y compris des disques UEFI amorçables utilisant NTFS","Erstellen von BIOS- oder UEFI-bootfähigen Laufwerken, einschließlich UEFI-bootfähigem NTFS","Δημιουργήστε μονάδες δίσκου με δυνατότητα εκκίνησης BIOS ή UEFI, συμπεριλαμβανομένων NTFS με δυνατότητα εκκίνησης UEFI","יצירת כוננים הניתנים לאתחול ממחשבים התומכים ב־BIOS או UEFI, לרבות כוננים הניתנים לאתחול מ־UEFI, המשתמשים במערכת הקבצים NTFS","BIOS-ból vagy UEFI-ből bootolható meghajtók készítése, beleértve az UEFI-ből bootolható NTFS meghajtókat is","Buat perangkat BIOS atau UEFI yang dapat di boot, termasuk perangkat NTFS yang dapat di boot oleh UEFI","Crea unità avviabili BIOS o UEFI, incluso NTFS avviabile UEFI","UEFI:NTFSを含むBIOS及びUEFIで起動可能なドライブを作成します。","UEFI 부팅 가능한 NTFS를 포함하여 BIOS 또는 UEFI 부팅 가능 드라이브 만들기","Izveido BIOS vai UEFI ielādes ierīces, ieskaitot UEFI ielādi no NTFS","Sukurkite BIOS arba UEFI įkrovos diskus, įskaitant UEFI įkrovos NTFS","Buat pemacu boleh boot BIOS atau UEFI, termasuk NTFS boleh boot UEFI","Lag BIOS eller UEFI oppstartbare disker, inkludert UEFI oppstartbar NTFS","درایوهای قابل بوت بایوس یا UEFI از جمله NTFS قابل بوت UEFI ایجاد کنید","Stwórz dysk rozruchowy BIOS lub UEFI, włączając bootowalny dysk UEFI NTFS","Criar discos inicializáveis BIOS ou UEFI, inclusive discos UEFI inicializáveis usando NTFS","Criar discos inicializáveis BIOS ou UEFI, inclusive discos UEFI inicializáveis usando NTFS","Crează discuri bootabile BIOS sau UEFI, incluzând NTFS-uri bootabile de UEFI","Создание загрузочных дисков BIOS или UEFI, включая загрузочный UEFI NTFS","Kreiranje BIOS ili UEFI disk jedinica za pokretanje sistema, uključujući NTFS sa UEFI pokretanjem sistema","Vytvorte bootovacie jednotky systému BIOS alebo UEFI vrátane UEFI bootovateľnej jednotky NTFS","Ustvarite zagonske pogone BIOS ali UEFI, vključno z UEFI bootable NTFS","Cree unidades de arranque BIOS o UEFI, incluido NTFS de arranque UEFI","Skapa BIOS- eller UEFI-startbara enheter, inklusive UEFI-startbar NTFS","สร้างไดรฟ์บูตสำหรับระบบ BIOS หรือ UEFI และ UEFI bootable NTFS","UEFI önyüklenebilir NTFS dahil BIOS ya da UEFI önyüklenebilir sürücüler oluşturun","Створення завантажувальних пристроїв BIOS чи UEFI, включаючи завантажувальний UEFI NTFS","Tạo ổ đĩa có thể khởi động với hệ thống BIOS hoặc UEFI, bao gồm cả NTFS có thể khởi động với UEFI"
"Feature6","705","Text","","Create 'Windows To Go' drives","إنشاء محركات أقراص ""Windows To Go\","Създаване на 'Windows To Go' устройства","创建 'Windows To Go' 驱动器","建立 'Windows To Go' 隨身碟","Stvaranje pogona ""Windows To Go\","Vytvoření jednotek ""Windows To Go","Lav 'Windows To Go' drev","'Windows To Go'-schijven aanmaken","Luo 'Windows To Go' -asemia","Créez des disques 'Windows To Go'","Erstellen von ""Windows To Go""-Laufwerken","Δημιουργήστε μονάδες δίσκου ""Windows To Go\","יצירת כונני Windows To Go","'Windows To Go' meghajtók készítése","Buat perangkat Windows To Go","Crea unità 'Windows To Go'","Windows To Goドライブを作成します。","'Windows To Go' 드라이브 만들기","Izveido 'Windows To Go' ierīces","Sukurkite ""Windows To Go"" diskus","Buat pemacu 'Windows To Go'","Lag 'Windows To Go' disker","درایوهای ""Windows To Go"" را ایجاد کنید","Stwórz dysk 'Windows To Go'","Criar discos 'Windows To Go'","Criar discos 'Windows To Go'","Crează discuri 'Windows To Go'","Создание дисков Windows To Go","Kreiranje disk jedinica ""Windows to Go\","Vytvorte jednotky „Windows To Go\","Ustvarjanje pogonov »Windows To Go'","Cree unidades 'Windows To Go'","Skapa ""Windows To Go""-enheter","สร้างไดรฟ์ของ 'Windows To Go'","'Windows To Go' sürücüleri oluşturun","Створення пристроїв 'Windows To Go'","Tạo ổ đĩa 'Windows To Go'"
"Feature7","706","Text","","Create Windows 11 installation drives for PCs that don't have TPM or Secure Boot","قم بإنشاء محركات تثبيت ويندوز 11 لأجهزة الكمبيوتر التي لا تحتوي على TPM أو الإقلاع الآمن (Secure Boot)","Създаване на Windows 11 инсталационно устройство за компютри, които нямат TPM или Secure Boot","为没有 TPM 或安全启动功能的电脑创建 Windows 11 安装驱动器","為沒有 TPM 或安全開機功能的電腦建立 Windows 11 安裝隨身碟","Stvaranje instalacijskih pogona sustava Windows 11 za PC-jeve koji nemaju TPM ili Sigurno pokretanje","Vytvoření instalačních jednotek systému Windows 11 pro počítače bez čipu TPM nebo Secure Boot","Lav Windows 11 installations drev for PCer der ikker har TPM eller Secure Boot","Windows 11 installatieschijven aanmaken voor pc's die geen TPM of Secure Boot hebben","Luo Windows 11 -asennusasemia tietokoneille, jotka eivät tue TPM- tai Secure Boot -ominaisuuksia","Créez des disques d'installation Windows 11 pour des PCs qui ne disposent pas de TPM ou Secure Boot","Erstellen von Windows 11-Installationslaufwerken für PCs ohne TPM oder Secure Boot","Δημιουργήστε μονάδες εγκατάστασης των Windows 11 για υπολογιστές που δεν διαθέτουν TPM ή Ασφαλή Εκκίνηση","יצירת כונני התקנה של Windows 11 עבור מחשבים שאין להם TPM או Secure Boot","Windows 11 telepítési meghajtók készítése olyan PC-k számára, amelyek nem rendelkeznek TPM vagy Secure Boot funkciókkal","Buat perangkat pemasang Windows 11 untuk PC yang tidak mempunyai TPM atau Secure Boot","Crea unità di installazione di Windows 11 per PC che non dispongono di TPM o avvio protetto","TPM及びセキュアブート非対応のPC向けのWindows 11インストールドライブを作成します","TPM 또는 보안 부팅이 없는 PC용 Windows 11 설치 드라이브 만들기","Izveido Windows 11 instalācijas ierīces datoriem, kam nav TPM vai Secure Boot","Sukurkite Windows 11 diegimo diskus kompiuteriams, kuriuose nėra TPM arba saugaus įkrovimo","Buat pemacu pemasangan Windows 11 untuk PC yang tidak mempunyai TPM atau But Selamat","Lag oppstartsmedia for Windows 11 som ikke krever TPM eller Secure Boot","درایوهای نصب ویندوز 11 را برای رایانه هایی که TPM یا Secure Boot ندارند ایجاد کنید","Twórz dyski instalacyjne systemu Windows 11 dla komputerów, które nie posiadają modułu TPM ani Secure Boot","Criar discos de instalação do Windows 11 para PCs que não possuem TPM ou Secure Boot","Criar discos de instalação do Windows 11 para PCs que não possuem TPM ou Arranque Seguro","Crează drive de instalare Windows 11 pe computere care nu au TPM sau Bootare Securizată","Создание установочных дисков Windows 11 для компьютеров без TPM или безопасной загрузки","Kreiranje windows 11 instalacionih disk jedinica za računare koji nemaju TPM ili bezbedno pokretanje sistema","Vytvorte inštalačné jednotky Windows 11 pre počítače, ktoré nemajú modul TPM, ani Secure Boot","Ustvarjanje namestitvenih pogonov za Windows 11 za računalnike, ki nimate TPM ali Varnega zagona","Cree unidades de instalación de Windows 11 para PC que no tienen TPM o Arranque seguro","Skapa installationsenheter till Windows 11 för datorer som inte har TPM eller säker start","สร้างไดรฟ์ติดตั้ง Windows 11 สำหรับคอมพิวเตอร์ที่ไม่มี TPM หรือ Secure Boot","TPM ya da Güvenli Önyüklemeye sahip olmayan bilgisayarlar için Windows 11 kurulum sürücüleri oluşturun","Створення інсталяційних дисків Windows 11 для ПК, які не мають TPM чи Secure Boot","Tạo ổ đĩa cài đặt Windows 11 cho các máy tính không có TPM hoặc Secure Boot"
"Feature8","707","Text","","Create persistent Linux partitions","إنشاء Persistent Linux partitions","Създаване на устойчиви Linux дялове","创建持久 Linux 分区","建立持續性 Linux 磁區","Stvaranje trajnih Linux particija","Vytvoření trvalých oddílů systému Linux","Lav vedvarende Linux adskillelser","Persistent Linux partities aanmaken","Luo pysyviä Linux-osioita","Créez des partitions persistentes pour Linux","Persistente Linux-Partitionen erstellen","Δημιουργήστε μόνιμα διαμερίσματα Linux","יצירת מחיצות Linux קבועות","Tartós Linux partíciók készítése","Buat partisi Linux yang tetap/persistent","Crea partizioni persistenti Linux","記録用Linuxパーティションを作成します。","영구 리눅스 파티션 만들기","Izveido pastāvīgas Linux partīcijas","Sukurkite nuolatinius Linux skaidinius","Buat partition Linux berterusan","Lag persistente Linux partisjoner","ایجاد پارتیشن های لینوکس دائمی","Stwórz particje persistent Linuxa","Criar partições persistentes para Linux","Crie partições persistentes para Linux","Crează partiție de Linux persistentă","Создание постоянных разделов Linux","Kreiranje upornih Linux particija","Vytvorte trvalé oblasti systému Linux","Ustvarjanje trajnih Linux particij","Crear particiones persistentes de Linux","Skapa beständiga Linux-partitioner","สร้าง Linux partition แบบ persistent","Kalıcı Linux bölümleri oluşturun","Створення розділу збереження Linux","Tạo phân vùng Linux liên tục"
"Feature9","708","Text","","Create VHD/DD images of the selected drive","إنشاء صور VHD / DD لمحرك الأقراص المحدد","Създаване на VHD/DD образи на избраното устройство","为选择的驱动器创建 VHD/DD 镜像","為選中的磁碟機建立 VHD/DD 映像檔","Stvaranje VHD/DD slika odabranog pogona","Vytvoření obrazů VHD/DD z vybrané jednotky","Lav VHD/DD billeder af det valgte drev","VHD/DD-images van de geselecteerde schijf aanmaken","Luo VHD/DD-kuvia valitusta asemasta","Créez des images VHD/DD du périphérique sélectionné","VHD/DD-Images des ausgewählten Laufwerks erstellen","Δημιουργήστε εικόνες VHD/DD της επιλεγμένης μονάδας δίσκου","יצירת קובצי תמונה מסוג VHD/DD של הכונן שנבחר","VHD/DD képfájl készítése a kiválasztott meghajtóról","Buat image VHD/DD dari penyimpanan yang dipilih","Crea immagini VHD/DD dell'unità selezionata","選択されたドライブのVHD/DDイメージを作成します。","선택한 드라이브의 VHD/DD 이미지 만들기","Izveido izvēlētā diska VHD/DD virtuālos attēlus","Sukurkite pasirinkto disko VHD / DD vaizdus","Buat imej VHD/DD bagi pemacu yang dipilih","Lag VHD/DD speilinger av valgt disk","تصاویر VHD/DD از درایو انتخاب شده ایجاد کنید","Stwórz obraz VHD/DD z wybranego dysku","Criar imagens VHD/DD do dispositivo selecionado","Criar imagens VHD/DD do dispositivo selecionado","Crează imagini VHD/DD de pe drive-ul selectat","Создание образов VHD/DD выбранного диска","Kreiranje VHD/DD slika izabrane disk jedinice","Vytvorte obrazy VHD/DD z vybratej jednotky","Ustvarjanje VHD/DD slik izbranega pogona","Cree imágenes VHD/DD de la unidad seleccionada","Skapa VHD/DD-avbilder av den valda enheten","สร้างอิมเมจไฟล์แบบ VHD/DD จากไดรฟ์ที่เลือก","Seçilen sürücünün VHD/DD yansılarını oluşturun","Створення образів VHD/DD з вибраних дисків","Tạo tệp VHD/DD từ ổ đĩa đã chọn"
"Feature10","709","Text","","Compute MD5, SHA-1, SHA-256 and SHA-512 checksums of the selected image","حساب المجاميع الإختبارية MD5 و SHA-1 و SHA-256 و SHA-512 للصورة المحددة","Изчисляване на MD5, SHA-1, SHA-256 и SHA-512 чексуми на избраният образ","计算被选择镜像的 MD5、SHA-1、SHA-256 和 SHA-512 校验码","計算被選中映像的 MD5、SHA-1、SHA-256 和 SHA-512 檢查碼","Izračunajte kontrolne zbrojeve odabrane slike MD5, SHA-1, SHA-256 i SHA-512","Výpočet kontrolních součtů MD5, SHA-1, SHA-256 a SHA-512 vybraného obrazu","Beregn MD5, SHA-1, SHA-256 og SHA-512 checksums af det valgte billede","MD5, SHA-1, SHA-256 en SHA-512 controlesommen berekenen van de geselecteerde image","Laske MD5, SHA-1, SHA-256 ja SHA-512 tarkistussummia valitusta levykuvasta","Calculez les sommes de contrôle MD5, SHA-1, SHA-256 et SHA-512 de l'image sélectionnée","Berechnung von MD5-, SHA-1-, SHA-256- und SHA-512-Prüfsummen für das ausgewählte Bild","Υπολογίστε τα αθροίσματα ελέγχου MD5, SHA-1, SHA-256 και SHA-512 της επιλεγμένης εικόνας","חישוב סיכומי ביקורת מסוג MD5, SHA-1, SHA-256 ו־SHA-512 של קובץ התמונה שנבחרה","A kiválasztott képfájl MD5, SHA-1, SHA-256 és SHA-512 ellenőrző összegének kiszámítása","Hitung checksum MD5, SHA-1, SHA-256 dan SHA-512 dari image yang dipilih","Calcola i checksum MD5, SHA-1, SHA-256 e SHA-512 dell'immagine selezionata","選択されたイメージのMD5、SHA-1、SHA-256及びSHA-512チェックサムを計算します。","선택한 이미지의 MD5, SHA-1, SHA-256 및 SHA-512 체크섬 계산","Izskaitļo izvēlētā virtuālā attēla MD5, SHA-1, SHA-256 un SHA-512 kontrolsummas","Apskaičiuokite pasirinkto vaizdo MD5, SHA-1, SHA-256 ir SHA-512 kontrolines sumas","Kira MD5, SHA-1, SHA-256 dan SHA-512 checksum imej yang dipilih","Kalkuler MD5, SHA-1, SHA-256 og SHA-512 sjekksummer fra valgt speiling","MD5، SHA-1، SHA-256 و SHA-512 را برای تصویر انتخابی محاسبه کنید","Oblicz sumy kontrolne MD5, SHA-1, SHA-256 i SHA-512 dla wybranego obrazu","Calcular somas de verificação MD5, SHA-1, SHA-256 e SHA-512 da imagem selecionada","Calcular checksums MD5, SHA-1, SHA-256 e SHA-512 da imagem selecionada","Compută MD5, SHA-1, SHA-256 și SHA-512 suma de control ale imaginilor selectate","Вычисление контрольных сумм MD5, SHA-1, SHA-256 и SHA-512 выбранного образа","Izračunajte MD5, SHA-1, SHA-256 i SHA-512 kontrolne preglede izabrane slike","Vypočítajte kontrolné súčty vybratého obrazu (MD5, SHA-1, SHA-256 a SHA-512)","Račun MD5, SHA-1, SHA-256 in SHA-512 kontrolni vsoti izbrane slike","Calcule las sumas de comprobación MD5, SHA-1, SHA-256 y SHA-512 de la imagen seleccionada","Beräkna kontrollsummor MD5, SHA-1, SHA-256 och SHA-512 för den valda avbilden","คำนวณรหัส MD5, SHA-1, SHA-256, SHA-512 ของไฟล์อิมเมจที่เลือก","Seçilen yansının MD5, SHA-1, SHA-256 ve SHA-512 sağlama toplamlarını hesaplayın","Обчислення контрольних сум MD5, SHA-1, SHA-256 та SHA-512 для вибраних образів","Tính tổng kiểm MD5, SHA-1, SHA-256 và SHA-512 của tệp đã chọn"
"Feature11","710","Text","","Perform bad blocks checks, including detection of ""fake"" flash drives","إجراء فحوصات كتل تالفة ، بما في ذلك الكشف عن محركات أقراص فلاش ""زائفة\","Проверяване за лоши блокове, включително засичане на ""фалшиви"" устройства","执行坏块检查包括对”假“U盘的检测","執行壞軌檢查包括對”假“USB 快閃磁碟機的偵測","Izvršite provjere loših blokova, uključujući otkrivanje ""lažnih"" flash pogona","Provést kontrolu vadných bloků, včetně detekce ""falešných"" bloků. flash disky","Udøv dårlige blokke tjeks, inklusiv opdagelse af ""falske"" flashdrev","Controles uitvoeren op slechte blokken, inclusief detectie van ""valse"" flashdrives","Suorita viallisten lohkojen tarkistuksia, sisältäen ""valheellisten"" muistitikkujen tunnistamisen","Executez un test de mauvais secteurs avec detection des ""fake drives\","Durchführung von Prüfungen auf fehlerhafte Blöcke, einschließlich der Erkennung von ""gefälschten"" Flash-Laufwerken","Εκτελέστε ελέγχους εσφαλμένων block, συμπεριλαμβανομένου του εντοπισμού ""ψευδών"" μονάδων flash","ביצוע בדיקות אחר בלוקים (אזורים) פגומים, כולל זיהוי של כונני הבזק ""מזוייפים\","Hibás blokkok ellenőrzése, beleértve a ""hamis"" flash meghajtók detektálását","Lakukan cek Blok yang buruk, termasuk deteksi USB Flash Disk ""PALSU\","Esegui controlli dei blocchi danneggiati, incluso il rilevamento di unità flash ""false\","不良ブロックチェック及び容量詐欺ドライブの検知を行います。","""위조"" 플래시 드라이브 감지를 포함하여 불량 블록 검사 수행","Izpilda bojāto bloku pārbaudi ieskaitot ""falsificēto"" nesēju noteikšanu","Atlikite blogų blokų patikrinimus, įskaitant ""netikrų"" flash diskų aptikimą","Melakukan pemeriksaan blok buruk, termasuk pengesanan pemacu kilat ""palsu\","Utfør sjekk for dårlige sektorer, inkludert sjekk for forfalskede flash disker","بررسی بلوک های بد، از جمله تشخیص درایوهای فلش ""جعلی"" را انجام دهید","Sprawdź dysk pod względem spójności danych lub wykryj ""nieorginalny"" pendrive","Executar verificações de blocos defeituosos, incluindo detecção de unidades flash ""falsificadas\","Executar verificações de blocos inválidos, incluindo a deteção de unidades flash ""falsas\","Verifică blocuri rele, incluzând detectarea de drive-uri flash ""false\","Проверка на плохие блоки, обнаружение ""поддельных"" флешек","Izvršite provere loših blokova, uključujući otkrivanje ""lažnih"" fleš diskova","Vykonajte kontroly zlých blokov vrátane detekcie „falošných"" prenosných diskov","Izvajanje preverjanj slabih blokov, vključno z odkrivanjem »lažnih« bliskavic","Realice comprobaciones de bloques defectuosos, incluida la detección de unidades flash ""falsas\","Utför kontroll av trasiga block, inklusive upptäckt av ""falska"" USB-minnen","ตรวจสอบจุดบกพร่อง รวมไปถึงการทดสอบแฟลชไดรฟ์ว่าเป็น ""ของปลอม"" หรือไม่","""Sahte"" flash sürücülerin tespiti de dahil olmak üzere hatalı blok kontrolleri gerçekleştirin","Перевірка дисків (включаючи фальшиві диски)","Thực hiện kiểm tra điểm lỗi, bao gồm phát hiện ổ đĩa ""giả\"
"Feature12","711","Text","","Download official Microsoft Windows retail ISOs","قم بتنزيل ملفات ISO الرسمية الخاصة بـ Microsoft Windows","Изтегляне на официални Microsoft Windows ISO образи","下载微软官方 Windows 镜像","下載微軟官方 Windows 映像檔","Preuzimanje službenih ISO-ova za maloprodaju sustava Microsoft Windows","Stažení oficiálních souborů ISO systému Microsoft Windows","Hent officielle Microsoft Windows detail ISOer","Officiële Microsoft Windows retail ISO's downloaden","Lataa virallisia Microsoft Windowsin jälleenmyyntiversion ISO-levykuvia","Téléchargez des images ISOs commerciales officielles de Microsoft Windows","Offizielle Microsoft Windows-ISOs herunterladen","Κατεβάστε τα επίσημα retail ISO των Microsoft Windows","הורדת קובצי ה־ISO הקמעונאיים הרשמיים של Microsoft Windows","Hivatalos Microsoft Windows kiskereskedelmi ISO képfájlok letöltése","Unduh ISO Microsoft Windows resmi","Scarica le ISO ufficiali di Microsoft Windows","マイクロソフト公式のWindows ISOをダウンロードします。","공식 Microsoft Windows 리테일 ISO 다운로드","Lejupielādē oficiālos Microsoft ISO failus","Atsisiųskite oficialius Microsoft Windows mažmeninės prekybos ISO","Muat turun rasmi ISO runcit Microsoft Windows","Last ned offisielle Windows ISOer","ISO های رسمی ماکروسافت را دریافت کنید","Pobierz oficjalny obraz ISO systemu Microsoft Windows","Baixar ISOs oficiais do Microsoft Windows","Transferir ISOs oficiais do Microsoft Windows Retail","Descarcă un Microsoft Windows ISO oficial de vânzare","Загрузка официальных ISO-образов Windows","Preuzmite zvanične Microsoft Windows maloprodajne ISO-ove","Stiahnite si oficiálne ISO pre Microsoft Windows","Prenos uradnih Microsoft Windows maloprodaja ISOs","Descargue los ISO oficiales de Microsoft Windows","Ladda ner officiella Microsoft Windows ISO-filer","ดาวน์โหลดไฟล์ ISO ของ Microsoft Windows จากเว็บไซต์ทางการของ Microsoft","Resmi Microsoft Windows Retail ISO'larını indirin","Завантаження офіційних образів Microsoft Windows","Tải xuống các tệp Microsoft Windows ISO bán lẻ chính thức"
"Feature13","712","Text","","Download UEFI Shell ISOs","قم بتنزيل UEFI Shell ISOs","Изтегляне на UEFI Shell образи","下载 UEFI Shell 镜像","下載 UEFI Shell 映像檔","Preuzmite ISO-ove UEFI ljuske","Stažení souborů UEFI Shell ISO","Hent UEFI Shell ISOer","UEFI Shell ISO's downloaden","Lataa UEFI Shell ISO-levykuvia","Téléchargez des images ISOs du Shell UEFI","UEFI-Shell-ISOs herunterladen","Κατεβάστε τα ISO Shell UEFI","הורדת קובצי ISO של מעטפת UEFI","UEFI Shell ISO képfájlok letöltése","Unduh Shell ISO UEFI","Scarica le ISO della shell UEFI","UEFIシェルのISOをダウンロードします。","UEFI Shell ISO 다운로드","Lejupielādē UEFI OS ISO failus","Atsisiųskite UEFI Shell ISO","Muat turun ISO Shell UEFI","Last ned UEFI kommandolinje ISOer","ISO های پوسته UEFI را دانلود کنید","Ściągnij obrazy ISO UEFI Shell","Baixar ISOs do Shell UEFI","Transferir ISOs de UEFI Shell","Descarcă UEFI Shell ISO-uri","Загрузка ISO-образов оболочки UEFI","Preuzmite UEFI Shell ISOs","Stiahnite UEFI Shell ISO","Prenos UEFI Shell ISOs","Descargar ISO de UEFI Shell","Ladda ner UEFI-skal ISO-filer","ดาวน์โหลดไฟล์ ISO ของ UEFI Shell","UEFI Shell ISO'larını indirin","Завантаження командної оболонки UEFI ISO","Tải xuống các tệp UEFI Shell ISO"
"Feature14","713","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Feature15","714","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Feature16","715","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Feature17","716","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Feature18","717","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Feature19","718","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Feature20","719","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq1","800","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq2","801","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq3","802","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq4","803","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq5","804","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq6","805","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq7","806","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq8","807","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq9","808","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq10","809","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"MinimumHardwareReq11","810","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq1","850","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq2","851","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq3","852","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq4","853","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq5","854","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq6","855","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq7","856","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq8","857","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq9","858","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq10","859","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"RecommendedHardwareReq11","860","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"SearchTerm1","900","Text","Boot","Boot","الإقلاع (Boot)","","启动","啟動","","","","Opstarten","Boottaus","Amorçable","","","בוט","","","Avvio","起動","부팅","Ielāde","Batas","","Oppstart","راه‌اندازی","","Inicialização","Inicializável","Bootează","Загрузочный","","boot","Zagon","Arranque","Uppstart","","Önyükle","Отримати","Khởi động"
"SearchTerm2","901","Text","USB",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"SearchTerm3","902","Text","ISO",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"SearchTerm4","903","Text","Windows",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"SearchTerm5","904","Text","Linux",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"SearchTerm6","905","Text","UEFI",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"SearchTerm7","906","Text","Windows To Go",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerToPlayAtTopOfListing","999","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer1","1000","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer2","1001","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer3","1002","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer4","1003","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer5","1004","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer6","1005","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer7","1006","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer8","1007","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer9","1008","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer10","1009","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer11","1010","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer12","1011","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer13","1012","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer14","1013","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"Trailer15","1014","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle1","1020","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle2","1021","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle3","1022","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle4","1023","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle5","1024","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle6","1025","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle7","1026","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle8","1027","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle9","1028","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle10","1029","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle11","1030","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle12","1031","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle13","1032","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle14","1033","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerTitle15","1034","Text","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail1","1040","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail2","1041","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail3","1042","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail4","1043","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail5","1044","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail6","1045","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail7","1046","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail8","1047","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail9","1048","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail10","1049","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail11","1050","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail12","1051","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail13","1052","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail14","1053","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
"TrailerThumbnail15","1054","Relative path (or URL to file in Partner Center)","",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Can't render this file because it contains an unexpected character in line 112 and column 206.

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,203 @@
Field,ID,Type (Type),default
Description,2,Text,"MSG_900
• MSG_901
• MSG_902
• MSG_903"
ReleaseNotes,3,Text,<AUTOGENERATED>
Title,4,Text,Rufus
ShortTitle,5,Text,
SortTitle,6,Text,
VoiceTitle,7,Text,
ShortDescription,8,Text,MSG_174
DevStudio,9,Text,Pete Batard
CopyrightTrademarkInformation,12,Text,<AUTOGENERATED>
AdditionalLicenseTerms,13,Text,MSG_904
DesktopScreenshot1,100,Relative path (or URL to file in Partner Center),<AUTOGENERATED>
DesktopScreenshot2,101,Relative path (or URL to file in Partner Center),<AUTOGENERATED>
DesktopScreenshot3,102,Relative path (or URL to file in Partner Center),<AUTOGENERATED>
DesktopScreenshot4,103,Relative path (or URL to file in Partner Center),<AUTOGENERATED>
DesktopScreenshot5,104,Relative path (or URL to file in Partner Center),
DesktopScreenshot6,105,Relative path (or URL to file in Partner Center),
DesktopScreenshot7,106,Relative path (or URL to file in Partner Center),
DesktopScreenshot8,107,Relative path (or URL to file in Partner Center),
DesktopScreenshot9,108,Relative path (or URL to file in Partner Center),
DesktopScreenshot10,109,Relative path (or URL to file in Partner Center),
DesktopScreenshotCaption1,150,Text,
DesktopScreenshotCaption2,151,Text,
DesktopScreenshotCaption3,152,Text,
DesktopScreenshotCaption4,153,Text,
DesktopScreenshotCaption5,154,Text,
DesktopScreenshotCaption6,155,Text,
DesktopScreenshotCaption7,156,Text,
DesktopScreenshotCaption8,157,Text,
DesktopScreenshotCaption9,158,Text,
DesktopScreenshotCaption10,159,Text,
MobileScreenshot1,200,Relative path (or URL to file in Partner Center),
MobileScreenshot2,201,Relative path (or URL to file in Partner Center),
MobileScreenshot3,202,Relative path (or URL to file in Partner Center),
MobileScreenshot4,203,Relative path (or URL to file in Partner Center),
MobileScreenshot5,204,Relative path (or URL to file in Partner Center),
MobileScreenshot6,205,Relative path (or URL to file in Partner Center),
MobileScreenshot7,206,Relative path (or URL to file in Partner Center),
MobileScreenshot8,207,Relative path (or URL to file in Partner Center),
MobileScreenshot9,208,Relative path (or URL to file in Partner Center),
MobileScreenshot10,209,Relative path (or URL to file in Partner Center),
MobileScreenshotCaption1,250,Text,
MobileScreenshotCaption2,251,Text,
MobileScreenshotCaption3,252,Text,
MobileScreenshotCaption4,253,Text,
MobileScreenshotCaption5,254,Text,
MobileScreenshotCaption6,255,Text,
MobileScreenshotCaption7,256,Text,
MobileScreenshotCaption8,257,Text,
MobileScreenshotCaption9,258,Text,
MobileScreenshotCaption10,259,Text,
XboxScreenshot1,300,Relative path (or URL to file in Partner Center),
XboxScreenshot2,301,Relative path (or URL to file in Partner Center),
XboxScreenshot3,302,Relative path (or URL to file in Partner Center),
XboxScreenshot4,303,Relative path (or URL to file in Partner Center),
XboxScreenshot5,304,Relative path (or URL to file in Partner Center),
XboxScreenshot6,305,Relative path (or URL to file in Partner Center),
XboxScreenshot7,306,Relative path (or URL to file in Partner Center),
XboxScreenshot8,307,Relative path (or URL to file in Partner Center),
XboxScreenshot9,308,Relative path (or URL to file in Partner Center),
XboxScreenshot10,309,Relative path (or URL to file in Partner Center),
XboxScreenshotCaption1,350,Text,
XboxScreenshotCaption2,351,Text,
XboxScreenshotCaption3,352,Text,
XboxScreenshotCaption4,353,Text,
XboxScreenshotCaption5,354,Text,
XboxScreenshotCaption6,355,Text,
XboxScreenshotCaption7,356,Text,
XboxScreenshotCaption8,357,Text,
XboxScreenshotCaption9,358,Text,
XboxScreenshotCaption10,359,Text,
HolographicScreenshot1,400,Relative path (or URL to file in Partner Center),
HolographicScreenshot2,401,Relative path (or URL to file in Partner Center),
HolographicScreenshot3,402,Relative path (or URL to file in Partner Center),
HolographicScreenshot4,403,Relative path (or URL to file in Partner Center),
HolographicScreenshot5,404,Relative path (or URL to file in Partner Center),
HolographicScreenshot6,405,Relative path (or URL to file in Partner Center),
HolographicScreenshot7,406,Relative path (or URL to file in Partner Center),
HolographicScreenshot8,407,Relative path (or URL to file in Partner Center),
HolographicScreenshot9,408,Relative path (or URL to file in Partner Center),
HolographicScreenshot10,409,Relative path (or URL to file in Partner Center),
HolographicScreenshotCaption1,450,Text,
HolographicScreenshotCaption2,451,Text,
HolographicScreenshotCaption3,452,Text,
HolographicScreenshotCaption4,453,Text,
HolographicScreenshotCaption5,454,Text,
HolographicScreenshotCaption6,455,Text,
HolographicScreenshotCaption7,456,Text,
HolographicScreenshotCaption8,457,Text,
HolographicScreenshotCaption9,458,Text,
HolographicScreenshotCaption10,459,Text,
StoreLogo720x1080,600,Relative path (or URL to file in Partner Center),
StoreLogo1080x1080,601,Relative path (or URL to file in Partner Center),
StoreLogo300x300,602,Relative path (or URL to file in Partner Center),
OverrideLogosForWin10,603,True/False,FALSE
StoreLogoOverride150x150,604,Relative path (or URL to file in Partner Center),
StoreLogoOverride71x71,605,Relative path (or URL to file in Partner Center),
PromoImage1920x1080,606,Relative path (or URL to file in Partner Center),
PromoImage2400x1200,607,Relative path (or URL to file in Partner Center),
XboxBrandedKeyArt584x800,608,Relative path (or URL to file in Partner Center),
XboxTitledHero1920x1080,609,Relative path (or URL to file in Partner Center),
XboxFeaturedPromo1080x1080,610,Relative path (or URL to file in Partner Center),
OptionalPromo358x358,611,Relative path (or URL to file in Partner Center),
OptionalPromo1000x800,612,Relative path (or URL to file in Partner Center),
OptionalPromo414x180,613,Relative path (or URL to file in Partner Center),
Feature1,700,Text,MSG_910
Feature2,701,Text,MSG_911
Feature3,702,Text,MSG_912
Feature4,703,Text,MSG_913
Feature5,704,Text,MSG_914
Feature6,705,Text,MSG_915
Feature7,706,Text,MSG_916
Feature8,707,Text,MSG_917
Feature9,708,Text,MSG_918
Feature10,709,Text,MSG_919
Feature11,710,Text,MSG_920
Feature12,711,Text,MSG_921
Feature13,712,Text,MSG_922
Feature14,713,Text,
Feature15,714,Text,
Feature16,715,Text,
Feature17,716,Text,
Feature18,717,Text,
Feature19,718,Text,
Feature20,719,Text,
MinimumHardwareReq1,800,Text,
MinimumHardwareReq2,801,Text,
MinimumHardwareReq3,802,Text,
MinimumHardwareReq4,803,Text,
MinimumHardwareReq5,804,Text,
MinimumHardwareReq6,805,Text,
MinimumHardwareReq7,806,Text,
MinimumHardwareReq8,807,Text,
MinimumHardwareReq9,808,Text,
MinimumHardwareReq10,809,Text,
MinimumHardwareReq11,810,Text,
RecommendedHardwareReq1,850,Text,
RecommendedHardwareReq2,851,Text,
RecommendedHardwareReq3,852,Text,
RecommendedHardwareReq4,853,Text,
RecommendedHardwareReq5,854,Text,
RecommendedHardwareReq6,855,Text,
RecommendedHardwareReq7,856,Text,
RecommendedHardwareReq8,857,Text,
RecommendedHardwareReq9,858,Text,
RecommendedHardwareReq10,859,Text,
RecommendedHardwareReq11,860,Text,
SearchTerm1,900,Text,MSG_905
SearchTerm2,901,Text,USB
SearchTerm3,902,Text,ISO
SearchTerm4,903,Text,Windows
SearchTerm5,904,Text,Linux
SearchTerm6,905,Text,UEFI
SearchTerm7,906,Text,Windows To Go
TrailerToPlayAtTopOfListing,999,Relative path (or URL to file in Partner Center),
Trailer1,1000,Relative path (or URL to file in Partner Center),
Trailer2,1001,Relative path (or URL to file in Partner Center),
Trailer3,1002,Relative path (or URL to file in Partner Center),
Trailer4,1003,Relative path (or URL to file in Partner Center),
Trailer5,1004,Relative path (or URL to file in Partner Center),
Trailer6,1005,Relative path (or URL to file in Partner Center),
Trailer7,1006,Relative path (or URL to file in Partner Center),
Trailer8,1007,Relative path (or URL to file in Partner Center),
Trailer9,1008,Relative path (or URL to file in Partner Center),
Trailer10,1009,Relative path (or URL to file in Partner Center),
Trailer11,1010,Relative path (or URL to file in Partner Center),
Trailer12,1011,Relative path (or URL to file in Partner Center),
Trailer13,1012,Relative path (or URL to file in Partner Center),
Trailer14,1013,Relative path (or URL to file in Partner Center),
Trailer15,1014,Relative path (or URL to file in Partner Center),
TrailerTitle1,1020,Text,
TrailerTitle2,1021,Text,
TrailerTitle3,1022,Text,
TrailerTitle4,1023,Text,
TrailerTitle5,1024,Text,
TrailerTitle6,1025,Text,
TrailerTitle7,1026,Text,
TrailerTitle8,1027,Text,
TrailerTitle9,1028,Text,
TrailerTitle10,1029,Text,
TrailerTitle11,1030,Text,
TrailerTitle12,1031,Text,
TrailerTitle13,1032,Text,
TrailerTitle14,1033,Text,
TrailerTitle15,1034,Text,
TrailerThumbnail1,1040,Relative path (or URL to file in Partner Center),
TrailerThumbnail2,1041,Relative path (or URL to file in Partner Center),
TrailerThumbnail3,1042,Relative path (or URL to file in Partner Center),
TrailerThumbnail4,1043,Relative path (or URL to file in Partner Center),
TrailerThumbnail5,1044,Relative path (or URL to file in Partner Center),
TrailerThumbnail6,1045,Relative path (or URL to file in Partner Center),
TrailerThumbnail7,1046,Relative path (or URL to file in Partner Center),
TrailerThumbnail8,1047,Relative path (or URL to file in Partner Center),
TrailerThumbnail9,1048,Relative path (or URL to file in Partner Center),
TrailerThumbnail10,1049,Relative path (or URL to file in Partner Center),
TrailerThumbnail11,1050,Relative path (or URL to file in Partner Center),
TrailerThumbnail12,1051,Relative path (or URL to file in Partner Center),
TrailerThumbnail13,1052,Relative path (or URL to file in Partner Center),
TrailerThumbnail14,1053,Relative path (or URL to file in Partner Center),
TrailerThumbnail15,1054,Relative path (or URL to file in Partner Center),
1 Field ID Type (Type) default
2 Description 2 Text MSG_900 • MSG_901 • MSG_902 • MSG_903
3 ReleaseNotes 3 Text <AUTOGENERATED>
4 Title 4 Text Rufus
5 ShortTitle 5 Text
6 SortTitle 6 Text
7 VoiceTitle 7 Text
8 ShortDescription 8 Text MSG_174
9 DevStudio 9 Text Pete Batard
10 CopyrightTrademarkInformation 12 Text <AUTOGENERATED>
11 AdditionalLicenseTerms 13 Text MSG_904
12 DesktopScreenshot1 100 Relative path (or URL to file in Partner Center) <AUTOGENERATED>
13 DesktopScreenshot2 101 Relative path (or URL to file in Partner Center) <AUTOGENERATED>
14 DesktopScreenshot3 102 Relative path (or URL to file in Partner Center) <AUTOGENERATED>
15 DesktopScreenshot4 103 Relative path (or URL to file in Partner Center) <AUTOGENERATED>
16 DesktopScreenshot5 104 Relative path (or URL to file in Partner Center)
17 DesktopScreenshot6 105 Relative path (or URL to file in Partner Center)
18 DesktopScreenshot7 106 Relative path (or URL to file in Partner Center)
19 DesktopScreenshot8 107 Relative path (or URL to file in Partner Center)
20 DesktopScreenshot9 108 Relative path (or URL to file in Partner Center)
21 DesktopScreenshot10 109 Relative path (or URL to file in Partner Center)
22 DesktopScreenshotCaption1 150 Text
23 DesktopScreenshotCaption2 151 Text
24 DesktopScreenshotCaption3 152 Text
25 DesktopScreenshotCaption4 153 Text
26 DesktopScreenshotCaption5 154 Text
27 DesktopScreenshotCaption6 155 Text
28 DesktopScreenshotCaption7 156 Text
29 DesktopScreenshotCaption8 157 Text
30 DesktopScreenshotCaption9 158 Text
31 DesktopScreenshotCaption10 159 Text
32 MobileScreenshot1 200 Relative path (or URL to file in Partner Center)
33 MobileScreenshot2 201 Relative path (or URL to file in Partner Center)
34 MobileScreenshot3 202 Relative path (or URL to file in Partner Center)
35 MobileScreenshot4 203 Relative path (or URL to file in Partner Center)
36 MobileScreenshot5 204 Relative path (or URL to file in Partner Center)
37 MobileScreenshot6 205 Relative path (or URL to file in Partner Center)
38 MobileScreenshot7 206 Relative path (or URL to file in Partner Center)
39 MobileScreenshot8 207 Relative path (or URL to file in Partner Center)
40 MobileScreenshot9 208 Relative path (or URL to file in Partner Center)
41 MobileScreenshot10 209 Relative path (or URL to file in Partner Center)
42 MobileScreenshotCaption1 250 Text
43 MobileScreenshotCaption2 251 Text
44 MobileScreenshotCaption3 252 Text
45 MobileScreenshotCaption4 253 Text
46 MobileScreenshotCaption5 254 Text
47 MobileScreenshotCaption6 255 Text
48 MobileScreenshotCaption7 256 Text
49 MobileScreenshotCaption8 257 Text
50 MobileScreenshotCaption9 258 Text
51 MobileScreenshotCaption10 259 Text
52 XboxScreenshot1 300 Relative path (or URL to file in Partner Center)
53 XboxScreenshot2 301 Relative path (or URL to file in Partner Center)
54 XboxScreenshot3 302 Relative path (or URL to file in Partner Center)
55 XboxScreenshot4 303 Relative path (or URL to file in Partner Center)
56 XboxScreenshot5 304 Relative path (or URL to file in Partner Center)
57 XboxScreenshot6 305 Relative path (or URL to file in Partner Center)
58 XboxScreenshot7 306 Relative path (or URL to file in Partner Center)
59 XboxScreenshot8 307 Relative path (or URL to file in Partner Center)
60 XboxScreenshot9 308 Relative path (or URL to file in Partner Center)
61 XboxScreenshot10 309 Relative path (or URL to file in Partner Center)
62 XboxScreenshotCaption1 350 Text
63 XboxScreenshotCaption2 351 Text
64 XboxScreenshotCaption3 352 Text
65 XboxScreenshotCaption4 353 Text
66 XboxScreenshotCaption5 354 Text
67 XboxScreenshotCaption6 355 Text
68 XboxScreenshotCaption7 356 Text
69 XboxScreenshotCaption8 357 Text
70 XboxScreenshotCaption9 358 Text
71 XboxScreenshotCaption10 359 Text
72 HolographicScreenshot1 400 Relative path (or URL to file in Partner Center)
73 HolographicScreenshot2 401 Relative path (or URL to file in Partner Center)
74 HolographicScreenshot3 402 Relative path (or URL to file in Partner Center)
75 HolographicScreenshot4 403 Relative path (or URL to file in Partner Center)
76 HolographicScreenshot5 404 Relative path (or URL to file in Partner Center)
77 HolographicScreenshot6 405 Relative path (or URL to file in Partner Center)
78 HolographicScreenshot7 406 Relative path (or URL to file in Partner Center)
79 HolographicScreenshot8 407 Relative path (or URL to file in Partner Center)
80 HolographicScreenshot9 408 Relative path (or URL to file in Partner Center)
81 HolographicScreenshot10 409 Relative path (or URL to file in Partner Center)
82 HolographicScreenshotCaption1 450 Text
83 HolographicScreenshotCaption2 451 Text
84 HolographicScreenshotCaption3 452 Text
85 HolographicScreenshotCaption4 453 Text
86 HolographicScreenshotCaption5 454 Text
87 HolographicScreenshotCaption6 455 Text
88 HolographicScreenshotCaption7 456 Text
89 HolographicScreenshotCaption8 457 Text
90 HolographicScreenshotCaption9 458 Text
91 HolographicScreenshotCaption10 459 Text
92 StoreLogo720x1080 600 Relative path (or URL to file in Partner Center)
93 StoreLogo1080x1080 601 Relative path (or URL to file in Partner Center)
94 StoreLogo300x300 602 Relative path (or URL to file in Partner Center)
95 OverrideLogosForWin10 603 True/False FALSE
96 StoreLogoOverride150x150 604 Relative path (or URL to file in Partner Center)
97 StoreLogoOverride71x71 605 Relative path (or URL to file in Partner Center)
98 PromoImage1920x1080 606 Relative path (or URL to file in Partner Center)
99 PromoImage2400x1200 607 Relative path (or URL to file in Partner Center)
100 XboxBrandedKeyArt584x800 608 Relative path (or URL to file in Partner Center)
101 XboxTitledHero1920x1080 609 Relative path (or URL to file in Partner Center)
102 XboxFeaturedPromo1080x1080 610 Relative path (or URL to file in Partner Center)
103 OptionalPromo358x358 611 Relative path (or URL to file in Partner Center)
104 OptionalPromo1000x800 612 Relative path (or URL to file in Partner Center)
105 OptionalPromo414x180 613 Relative path (or URL to file in Partner Center)
106 Feature1 700 Text MSG_910
107 Feature2 701 Text MSG_911
108 Feature3 702 Text MSG_912
109 Feature4 703 Text MSG_913
110 Feature5 704 Text MSG_914
111 Feature6 705 Text MSG_915
112 Feature7 706 Text MSG_916
113 Feature8 707 Text MSG_917
114 Feature9 708 Text MSG_918
115 Feature10 709 Text MSG_919
116 Feature11 710 Text MSG_920
117 Feature12 711 Text MSG_921
118 Feature13 712 Text MSG_922
119 Feature14 713 Text
120 Feature15 714 Text
121 Feature16 715 Text
122 Feature17 716 Text
123 Feature18 717 Text
124 Feature19 718 Text
125 Feature20 719 Text
126 MinimumHardwareReq1 800 Text
127 MinimumHardwareReq2 801 Text
128 MinimumHardwareReq3 802 Text
129 MinimumHardwareReq4 803 Text
130 MinimumHardwareReq5 804 Text
131 MinimumHardwareReq6 805 Text
132 MinimumHardwareReq7 806 Text
133 MinimumHardwareReq8 807 Text
134 MinimumHardwareReq9 808 Text
135 MinimumHardwareReq10 809 Text
136 MinimumHardwareReq11 810 Text
137 RecommendedHardwareReq1 850 Text
138 RecommendedHardwareReq2 851 Text
139 RecommendedHardwareReq3 852 Text
140 RecommendedHardwareReq4 853 Text
141 RecommendedHardwareReq5 854 Text
142 RecommendedHardwareReq6 855 Text
143 RecommendedHardwareReq7 856 Text
144 RecommendedHardwareReq8 857 Text
145 RecommendedHardwareReq9 858 Text
146 RecommendedHardwareReq10 859 Text
147 RecommendedHardwareReq11 860 Text
148 SearchTerm1 900 Text MSG_905
149 SearchTerm2 901 Text USB
150 SearchTerm3 902 Text ISO
151 SearchTerm4 903 Text Windows
152 SearchTerm5 904 Text Linux
153 SearchTerm6 905 Text UEFI
154 SearchTerm7 906 Text Windows To Go
155 TrailerToPlayAtTopOfListing 999 Relative path (or URL to file in Partner Center)
156 Trailer1 1000 Relative path (or URL to file in Partner Center)
157 Trailer2 1001 Relative path (or URL to file in Partner Center)
158 Trailer3 1002 Relative path (or URL to file in Partner Center)
159 Trailer4 1003 Relative path (or URL to file in Partner Center)
160 Trailer5 1004 Relative path (or URL to file in Partner Center)
161 Trailer6 1005 Relative path (or URL to file in Partner Center)
162 Trailer7 1006 Relative path (or URL to file in Partner Center)
163 Trailer8 1007 Relative path (or URL to file in Partner Center)
164 Trailer9 1008 Relative path (or URL to file in Partner Center)
165 Trailer10 1009 Relative path (or URL to file in Partner Center)
166 Trailer11 1010 Relative path (or URL to file in Partner Center)
167 Trailer12 1011 Relative path (or URL to file in Partner Center)
168 Trailer13 1012 Relative path (or URL to file in Partner Center)
169 Trailer14 1013 Relative path (or URL to file in Partner Center)
170 Trailer15 1014 Relative path (or URL to file in Partner Center)
171 TrailerTitle1 1020 Text
172 TrailerTitle2 1021 Text
173 TrailerTitle3 1022 Text
174 TrailerTitle4 1023 Text
175 TrailerTitle5 1024 Text
176 TrailerTitle6 1025 Text
177 TrailerTitle7 1026 Text
178 TrailerTitle8 1027 Text
179 TrailerTitle9 1028 Text
180 TrailerTitle10 1029 Text
181 TrailerTitle11 1030 Text
182 TrailerTitle12 1031 Text
183 TrailerTitle13 1032 Text
184 TrailerTitle14 1033 Text
185 TrailerTitle15 1034 Text
186 TrailerThumbnail1 1040 Relative path (or URL to file in Partner Center)
187 TrailerThumbnail2 1041 Relative path (or URL to file in Partner Center)
188 TrailerThumbnail3 1042 Relative path (or URL to file in Partner Center)
189 TrailerThumbnail4 1043 Relative path (or URL to file in Partner Center)
190 TrailerThumbnail5 1044 Relative path (or URL to file in Partner Center)
191 TrailerThumbnail6 1045 Relative path (or URL to file in Partner Center)
192 TrailerThumbnail7 1046 Relative path (or URL to file in Partner Center)
193 TrailerThumbnail8 1047 Relative path (or URL to file in Partner Center)
194 TrailerThumbnail9 1048 Relative path (or URL to file in Partner Center)
195 TrailerThumbnail10 1049 Relative path (or URL to file in Partner Center)
196 TrailerThumbnail11 1050 Relative path (or URL to file in Partner Center)
197 TrailerThumbnail12 1051 Relative path (or URL to file in Partner Center)
198 TrailerThumbnail13 1052 Relative path (or URL to file in Partner Center)
199 TrailerThumbnail14 1053 Relative path (or URL to file in Partner Center)
200 TrailerThumbnail15 1054 Relative path (or URL to file in Partner Center)

View File

@ -1,15 +1,59 @@
@rem This script creates the Rufus appxupload for upload to the Windows Store.
@rem It attemps to follow as closely as possible what Visual Studio does.
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set VERSION=3.16
rem if set, this will override the version for the package
rem set VERSION_OVERRIDE=4.4.2104.0
goto main
:ReplaceTokenInFile
setlocal EnableDelayedExpansion
set FILE=%~1
set TOKEN=%~2
set VALUE=%~3
for /f "delims=" %%i in ('type %FILE% ^& break ^> %FILE%') do (
set "line=%%i"
>>%FILE% echo(!line:%TOKEN%=%VALUE%!
)
endlocal
exit /B 0
:main
del /q *.appx >NUL 2>&1
del /q *.appxbundle >NUL 2>&1
del /q *.map >NUL 2>&1
set WDK_PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64
set MSBUILD_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
set WDK_PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64
set ZIP_PATH=C:\Program Files\7-Zip
set SIGNATURE_SHA1=3dbc3a2a0e9ce8803b422cfdbc60acd33164965d
set MANIFEST=AppxManifest.xml
set ARCHS=x86 x64 arm arm64
set DEFAULT_SCALE=200
set OTHER_SCALES=100 125 150 400
set SCALED_IMAGES=LargeTile SmallTile Square44x44Logo Square150x150Logo StoreLogo Wide310x150Logo
rem All the languages listed below *MUST* match the ones from the Resources section of AppManifest.xml
rem Oh, and these must be *valid* codes that Microsoft accepts, else your users will get an error
rem (that the Microsoft validation and certification process will *NOT* catch) during install.
set DEFAULT_LANGUAGE=en-US
set ADDITIONAL_LANGUAGES=ar-SA bg-BG zh-CN zh-TW hr-HR cs-CZ da-DK nl-NL fi-FI fr-FR de-DE el-GR he-IL hu-HU id-ID it-IT ja-JP ko-KR lv-LV lt-LT ms-MY nb-NO fa-IR pl-PL pt-BR pt-PT ro-RO ru-RU sr-Latn-RS sk-SK sl-SI es-ES sv-SE th-TH tr-TR uk-UA vi-VN
set PACKAGE_IMAGES=^
Square44x44Logo.altform-lightunplated_targetsize-16.png^
Square44x44Logo.altform-lightunplated_targetsize-24.png^
Square44x44Logo.altform-lightunplated_targetsize-256.png^
Square44x44Logo.altform-lightunplated_targetsize-32.png^
Square44x44Logo.altform-lightunplated_targetsize-48.png^
Square44x44Logo.altform-unplated_targetsize-16.png^
Square44x44Logo.altform-unplated_targetsize-256.png^
Square44x44Logo.altform-unplated_targetsize-32.png^
Square44x44Logo.altform-unplated_targetsize-48.png^
Square44x44Logo.targetsize-16.png^
Square44x44Logo.targetsize-24.png^
Square44x44Logo.targetsize-24_altform-unplated.png^
Square44x44Logo.targetsize-256.png^
Square44x44Logo.targetsize-32.png^
Square44x44Logo.targetsize-48.png
rem if you don't set the temp/tmp you get:
rem error MSB6001: Invalid command line switch for "CL.exe". System.ArgumentExcep Key being added: 'TEMP'
@ -17,59 +61,127 @@ set temp=
set tmp=
cd /d "%~dp0"
setlocal EnableDelayedExpansion
set FILES_TO_SIGN=
for %%a in (%ARCHS%) do (
echo [Building %%a]
"%MSBUILD_PATH%\MSBuild" ..\..\rufus.sln /m /nologo /verbosity:minimal /t:Clean,Build /p:Configuration=Release,Platform=%%a
if ERRORLEVEL 1 goto out
echo.
set FILES_TO_SIGN=!FILES_TO_SIGN! "..\..\%%a\Release\rufus.exe"
if not exist rufus_%%a.exe (
echo rufus_%%a.exe is missing from the current directory
goto out
)
)
"%WDK_PATH%\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp %FILES_TO_SIGN%
rem exiftool.exe can't be installed in the Windows system directories...
if not exist exiftool.exe (
echo exiftool.exe must exist in this directory
goto out
)
rem Make sure we're not trying to create a package from an ALPHA or BETA version!
exiftool -s3 -*InternalName* rufus_x64.exe | findstr /C:"ALPHA" 1>nul && (
echo Alpha version detected - ABORTED
goto out
)
exiftool -s3 -*InternalName* rufus_x64.exe | findstr /C:"BETA" 1>nul && (
echo Beta version detected - ABORTED
goto out
)
rem Populate the version from the executable
if "%VERSION_OVERRIDE%"=="" (
exiftool -s3 -*FileVersionNumber* rufus_x64.exe > version.txt
set /p VERSION=<version.txt
del version.txt
) else (
echo WARNING: Forcing version to %VERSION_OVERRIDE%
set VERSION=%VERSION_OVERRIDE%
)
echo Will create %VERSION% AppStore Bundle
pause
"%WDK_PATH%\signtool" sign /v /sha1 %SIGNATURE_SHA1% /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 *.exe
if ERRORLEVEL 1 goto out
endlocal
echo [Files]> bundle.map
rem Now who the £$%^&* at Microsoft thought it was a good idea to have MakePri require '/dq lang-en-US_lang-fr-FR-...'
rem so that you actually end up with a <qualifier name="Language" value="en-US;fr-FR;..."/> in priconfig.xml?!?
rem Oh, and of course, good luck finding this documented ANYWHERE on Microsoft's website!
setlocal EnableDelayedExpansion
set STUPID_MAKEPRI_LANGUAGES=lang-%DEFAULT_LANGUAGE%
for %%l in (%ADDITIONAL_LANGUAGES%) do (
set STUPID_MAKEPRI_LANGUAGES=!STUPID_MAKEPRI_LANGUAGES!_lang-%%l
)
setlocal DisableDelayedExpansion
for %%a in (%ARCHS%) do (
echo Creating %%a appx...
echo.
echo Creating Rufus_%VERSION%_%%a.appx...
cd /d "%~dp0"
echo "Rufus-%%a.appx" "Rufus-%%a.appx">> bundle.map
echo "Rufus_%VERSION%_%%a.appx" "Rufus_%VERSION%_%%a.appx">> bundle.map
mkdir %%a >NUL 2>&1
copy %MANIFEST% %%a\%MANIFEST% >NUL 2>&1
cd %%a
for /f "delims=" %%i in ('type %MANIFEST% ^& break ^> %MANIFEST%') do (
set "line=%%i"
setlocal EnableDelayedExpansion
>>%MANIFEST% echo(!line:@ARCH@=%%a!
endlocal
mkdir Images >NUL 2>&1
for %%i in (%PACKAGE_IMAGES%) do (
copy "..\Images\%%i" Images\ >NUL 2>&1
)
mkdir Assets >NUL 2>&1
copy "..\..\icons\rufus-44.png" "Assets\Square44x44Logo.png" >NUL 2>&1
copy "..\..\icons\rufus-48.png" "Assets\Square44x44Logo.targetsize-48.png" >NUL 2>&1
copy "..\..\icons\rufus-48.png" "Assets\Square44x44Logo.targetsize-48_altform-unplated.png" >NUL 2>&1
copy "..\..\icons\rufus-150.png" "Assets\Square150x150Logo.png" >NUL 2>&1
copy "..\..\..\%%a\Release\rufus.exe" "rufus.exe" >NUL 2>&1
"%WDK_PATH%\MakePri" createconfig /o /dq en-US /cf priconfig.xml
"%WDK_PATH%\MakePri" new /o /pr . /cf priconfig.xml
"%WDK_PATH%\MakeAppx" pack /o /d . /p ../Rufus-%%a.appx
for %%i in (%SCALED_IMAGES%) do (
copy "..\Images\%%i.scale-%DEFAULT_SCALE%.png" Images\ >NUL 2>&1
)
mkdir rufus
copy "..\rufus_%%a.exe" "rufus\rufus.exe" >NUL 2>&1
copy /y NUL "rufus\rufus.app" >NUL 2>&1
rem When invoking MakePri, it is very important that you don't have files such as AppxManifest.xml or priconfig.xml
rem in the directory referenced by /pr or you may get ERROR_MRM_DUPLICATE_ENTRY when validating the submission as,
rem for instance, the 'AppxManifest.xml' from the 100% scale bundle will conflict the one from the x64 bundle.
"%WDK_PATH%\MakePri" createconfig /o /pv 10.0.0 /cf ..\priconfig.xml /dq %STUPID_MAKEPRI_LANGUAGES%_scale-%DEFAULT_SCALE%_theme-light
"%WDK_PATH%\MakePri" new /o /pr . /cf ..\priconfig.xml
del /q ..\priconfig.xml
copy ..\RufusAppxManifest.xml %MANIFEST% >NUL 2>&1
call:ReplaceTokenInFile %MANIFEST% @ARCH@ %%a
call:ReplaceTokenInFile %MANIFEST% @VERSION@ %VERSION%
"%WDK_PATH%\MakeAppx" pack /o /d . /p ..\Rufus_%VERSION%_%%a.appx
if ERRORLEVEL 1 goto out
)
for %%a in (%OTHER_SCALES%) do (
echo.
echo Creating Rufus_%VERSION%_scale-%%a.appx...
cd /d "%~dp0"
echo "Rufus_%VERSION%_scale-%%a.appx" "Rufus_%VERSION%_scale-%%a.appx">> bundle.map
mkdir %%a >NUL 2>&1
cd %%a
mkdir Images >NUL 2>&1
for %%i in (%SCALED_IMAGES%) do (
copy "..\Images\%%i.scale-%%a.png" Images\ >NUL 2>&1
)
"%WDK_PATH%\MakePri" createconfig /o /pv 10.0.0 /cf ..\priconfig.xml /dq %STUPID_MAKEPRI_LANGUAGES%_scale-%%a_theme-light
"%WDK_PATH%\MakePri" new /o /pr . /cf ..\priconfig.xml
del /q ..\priconfig.xml
copy ..\ScaleAppxManifest.xml %MANIFEST% >NUL 2>&1
call:ReplaceTokenInFile %MANIFEST% @SCALE@ %%a
call:ReplaceTokenInFile %MANIFEST% @VERSION@ %VERSION%
"%WDK_PATH%\MakeAppx" pack /o /d . /p ..\Rufus_%VERSION%_scale-%%a.appx
)
setlocal EnableDelayedExpansion
set ALL_ARCHS=
for %%a in (%ARCHS%) do set ALL_ARCHS=!ALL_ARCHS!_%%a
cd /d "%~dp0"
"%WDK_PATH%\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp *.appx
if ERRORLEVEL 1 goto out
"%WDK_PATH%\MakeAppx" bundle /f bundle.map /p Rufus-%VERSION%.appxbundle
"%WDK_PATH%\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp Rufus-%VERSION%.appxbundle
"%WDK_PATH%\MakeAppx" bundle /f bundle.map /bv %VERSION% /p Rufus_%VERSION%%ALL_ARCHS%.appxbundle
rem Visual Studio zips the appxbundle into an appxupload for store upload, so we do the same...
"%ZIP_PATH%\7z" a -tzip Rufus_%VERSION%%ALL_ARCHS%_bundle.appxupload Rufus_%VERSION%%ALL_ARCHS%.appxbundle
endlocal
:out
cd /d "%~dp0"
for %%a in (%ARCHS%) do (
rd /S /Q %%a >NUL 2>&1
)
for %%a in (%OTHER_SCALES%) do (
rd /S /Q %%a >NUL 2>&1
)
del /q *.map >NUL 2>&1
del /q *.appx >NUL 2>&1
rename *.appxbundle *.appx >NUL 2>&1
del /q *.appxbundle >NUL 2>&1
pause
exit

46
res/appstore/runme.ps1 Normal file
View File

@ -0,0 +1,46 @@
# PowerShell script to parse listing.csv and retrieve our screenshots
# Copyright © 2023 Pete Batard <pete@akeo.ie>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
try {
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
} catch {}
# NB: All languages IDs from the .csv are lowercase version of the one
# from rufus.loc, except for 'sr-RS' that becomes 'sr-latn-rs'.
function GetCellByName([object]$csv, [string]$row_name, [string]$column_name)
{
foreach ($row in $csv | Where-Object {$_.Field -eq $row_name}) {
foreach ($column in $row.PSObject.properties) {
if ($column.name -eq $column_name) {
return $column.value
}
}
}
return [string]::Empty
}
$csv = Import-Csv -Path .\listing.csv
$langs = $csv | Select-Object -First 1 | Select * -ExcludeProperty 'Field','ID','Type (Type)','default' | ForEach-Object { $_.PSObject.Properties } | Select-Object -ExpandProperty Name
foreach ($lang in $langs) {
$null = New-Item $lang -ItemType Directory -Force
$url = GetCellByName $csv 'DesktopScreenshot1' $lang
# Annoying but heck if I'm gonna bother with Microsoft's Auth in PowerShell...
Start-Process -NoNewWindow -FilePath "C:\Program Files\Mozilla Firefox\firefox.exe" -ArgumentList "-new-tab $url"
Write-Host $lang;
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More