Commit Graph

296 Commits

Author SHA1 Message Date
Pete Batard 5d51610c70 [core] finalize UFD vs HDD detection
* Closes #219
2013-11-15 21:39:40 +00:00
Pete Batard aa0bf0ee2b [core] add HDD vs UFD detection
* Initial scoring to try to differentiate UFDs from HDDs (#219)
* Also improve GetDriveLetter() and add a global for fixed vs removable
* Also fix a bug with reporting of VID:PID with multiple devices
* Also fix a warning in localization
2013-11-14 01:21:50 +00:00
Pete Batard 803a4bff1c [core] SMART/ATA over USB initial support
* This is meant to be used as part of #219
* Also improve WindowsErrorString() so that it doesn't alter the current errcode
2013-11-13 01:07:32 +00:00
Pete Batard 8d50a8491f [core] retrieve the VID:PID of the USB devices enumerated 2013-11-13 00:14:03 +00:00
Gîrlea Alexandru 9f76b758ad [loc] update Romanian translation to v1.0.2
* Also fix a typo in German translation
2013-11-09 01:16:40 +00:00
GIRLEA Alexandru 806d546193 [loc] add Romanian translation 2013-11-06 00:17:44 +00:00
ROBERTO b09fbe4f74 [loc] update Italian translation for v1.0.2 2013-11-05 23:39:04 +00:00
georg1136 52272d2662 [loc] updated Hungarian translation for v1.0.2
* Also fix some spelling mistakes in English comments
2013-11-05 23:28:20 +00:00
Thilo Langbein a64a1bdcdb [loc] update German translation to v1.0.2 2013-11-05 23:18:26 +00:00
Pete Batard 86d5f02a20 [misc] improve Windows version detection
* Also update README.txt
* Closes #220
2013-11-05 02:16:49 +00:00
Mehmetali KURAN c6da7311b0 [loc] hash functions improvements
* Fix a leak when freeing the hash table (actual size is htab_size+1)
* Use a better hash algorithm
* Use a larger table with a size already set to a prime
2013-11-02 18:45:06 +00:00
Mehmetali KURAN 434bae8954 [loc] Add Turkish translation
* Closes #218
2013-11-01 22:37:25 +00:00
Thilo Langbein 3f2424d371 [loc] Add German translation
# Closes #195
2013-11-01 22:12:11 +00:00
Pete Batard c544429606 [loc] use a single rufus.loc as translator base
* Remove the need to maintain a new_translation.loc
* Add a sed invocation to remove comments and unwanted stuff
  to generate a final embedded.loc
* Note: sed is only invoked for MinGW.
  MS compilers still embed the unmodified rufus.loc.
* Also fix a small bug when parsing the version.
2013-11-01 21:53:48 +00:00
Pete Batard c44fa3969d [format] existing volumes with the name "New Volume" should be renamed
* Closes #104
2013-10-31 23:16:44 +00:00
Pete Batard 59496e53c0 [misc] warn about UDF formatting times and 64k MS-DOS
* Closes #149
* Closes #180
2013-10-31 22:59:53 +00:00
Pete Batard 7d2519675c [iso] ignore extra nameless files on some UDF images
* Closes #155
2013-10-30 20:29:55 +00:00
Pete Batard 44cc7ea652 [loc] add [v]ersion command support 2013-10-30 20:28:56 +00:00
ROBERTO d3a495aa83 [loc] complete Italian translation 2013-10-29 19:43:01 +00:00
Pete Batard 6bba8f646b [loc] fix untranslated messages for "another application in use"
* Issue reported by georg1136
2013-10-29 01:40:00 +00:00
Pete Batard af12d0f8d7 [loc] fix resizing in height
* Also clarify some translations
2013-10-28 17:34:18 +00:00
georg1136 39c6d4e1a7 [loc] add Hungarian translation 2013-10-28 17:26:07 +00:00
Pete Batard 5354d2f6ca [iso] sanitize invalid FAT & NFTS filenames
* Also fix support for labels containing double quotes
* Closes #135
* Closes #193
2013-10-27 00:05:54 +01:00
Pete Batard df44b26342 [loc] add language selection menu 2013-10-24 22:59:20 +01:00
Pete Batard 92abacad62 [loc] add a menu.c32 test ISO image 2013-10-22 23:15:13 +01:00
Pete Batard 310ed2fb53 [loc] add an option to force update
* This is meant to be used by translators for testing the UI
* Also fix the positioning and centering of boilerplate on the new version dialog
* French translation improvements
2013-10-22 22:46:59 +01:00
Pete Batard 08799953bf [loc] add MinGW includes for translators
* This is meant to be used with resedit (http://www.resedit.net/) to find out the ID of the UI controls
* Also update names for the language selection menu
2013-10-20 21:36:18 +01:00
ROBERTO 1c98419268 [loc] Improve Italian translation
# Closes #187
2013-10-19 17:10:31 +01:00
Pete Batard c604bee9ef [loc] misc. fixes
* Use IDCANCEL for license dialog
* Remove Chinese duplicates
* Remove dev debug message
2013-10-19 17:10:06 +01:00
Pete Batard b19bcdefb9 [loc] fix override of translation commands from separate dialogs
* Hashed string was missing the dialog ID. This means that something like:
    g IDD_DIALOG1
    t IDC_CONTROL "Hello"
    g IDD_DIALOG2
    t IDC_CONTROL "Goodbye"
  would result in "Goodbye" appearing on dialog 1.
2013-10-19 15:48:22 +01:00
Pete Batard 803fe30709 [loc] add Italian translation
* Courtesy of 'bovirus'
2013-10-18 23:27:04 +01:00
Pete Batard 4046861392 [loc] fix dialog command overrides
* Rufus wasn't overwriting the previous localization command
  if an updated one was being provided.
* Add hash functions required for a more efficient lookup
* Also improve some French translations
2013-10-18 23:08:49 +01:00
Pete Batard 4e840a6995 [loc] fix a crash on exit
* Don't free loc_filename if it points to embedded name
* Also fix resizing of main dialog
2013-10-17 20:42:03 +01:00
Pete Batard ff28e2027c [loc] fix various localization issues
* Fix missing [b]ase for Chinese and French
* Fix infinite loop when [b]ase is not available for default
* Fix resizing of main dialog forces forcing pos to 0,0
2013-10-17 20:12:16 +01:00
Pete Batard 1cdb58462b [loc] misc. fixes and improvements
* Add support for LCID provision to option -l
* Fix French translation
* Fix memory leak for loc_filename
* Don't delete an external 'rufus.loc' file if present
* Use IETF normalized tags
* Add quick instructions and sample for translators in new_translation.loc
* Improve About dialog
2013-10-16 20:45:34 +01:00
Pete Batard 521e8f00f3 [misc] fix editing of resource file with VS2012
* Fix "warning RC4005: '__useHeader': redefinition" that prevents
  opening the RC file in Visual Studio 2012 when XP mode is enabled.
2013-10-16 18:52:20 +01:00
Pete Batard df06727416 [loc] add localization support
* This is a merge up to commit bd319269aa of the localization branch
* Also fixes Clang warnings
2013-10-15 23:25:54 +01:00
Pete Batard cf3964c8a3 [iso] upgrade to libcdio latest
* This should fix #179
* Also bump rufus-next to v1.4.0
2013-10-14 00:31:20 +01:00
Pete Batard 3c438db3fd [iso] add smart testing for Rock Ridge over Joliet
* Some ISO9660 images (such as Ubuntu) use both Joliet and Rock Ridge,
  so we have to make a choice which should be preferred.
* Since Rock Ridge allows a greater filename length compared to Joliet,
  we perform our scan pass with Joliet disabled, to find out if RR is
  being used and if a filename longer than 64 chars exist. If that is
  the case, we'll perform the extraction using RR, else we'll use Joliet.
* Also add Alt-J and Alt-K to toggle Joliet/Rock Ridge
* Closes #178
2013-10-14 00:02:32 +01:00
Pete Batard 5b2e4d1721 [ui] prevent flicker on large FAT32 format.c
* Also convert 1.4TB FAT32 autolabel to 1_4TB rather than 14TB and
  use 2 decimal points rather than 1
2013-09-22 03:54:50 +01:00
Pete Batard 2945389edc [core] fix large FAT32 formatting for > 1TB disks
* Closes #159
2013-09-22 03:28:56 +01:00
Pete Batard 55ef384277 [syslinux] Update Syslinux v4 to 4.07 2013-08-14 00:53:28 +01:00
Pete Batard 5f161c91b3 [vs] update VS2012 project settings
* Enable XP mode
* Set VS compilation to C mode, multiprocessor
* Unset culture
2013-07-21 21:30:55 +01:00
Pete Batard b5143b0d84 [oops] fix MinGW compilation broken with previous commit 2013-07-21 21:13:28 +01:00
Pete Batard 0defc28b09 [wdk] fix _fseeki64 could not be located in msvcrt.dll on XP
* Closes #162
* Also remove unwanted SetThreadLocale() in rufus.c
2013-07-21 20:56:20 +01:00
Pete Batard b24347d47e [locale] fix multiple issues with DOS localization
* The wrong names were being used for the kbd SYS files
* Also fix a typo and improve fallback
* Closes #160
2013-07-18 00:14:43 +01:00
Pete Batard e661eff9ae [syslinux] silence a MinGW warning in libfat
* Also fix a typo in ChangeLog.txt
2013-07-18 00:10:29 +01:00
Pete Batard 862365c01a v1.3.4 (build 270) 2013-07-15 19:03:33 +01:00
Pete Batard 4ac182830d [core] add UDF filesystem support
* Only supported on Vista or later
* Also disable exFAT for XP (requires a KB => not worth it)
* Also improve display of partition data for type 0x07
* Also fix and issue where exFAT/UDF would try to modify PBR
* Also logically move and simplify some of the code
* Closes #157
2013-07-09 00:14:29 +01:00
Pete Batard 081f1eefe7 [net] fix and exception with HttpOpenRequest()
* As the MSDN doc says, "Failing to properly terminate the (lplpszAcceptTypes)
  array with a NULL pointer will cause a crash."
* Also switch to HttpSendRequestA() since we have no use for W there.
2013-07-08 21:28:44 +01:00
Pete Batard bb2949e557 [core] limit large FAT32 to 1 TB
* 1.5 and 2 TB formatting is too flaky for now - remove it
* This limitation can be disabled with Alt-S
* Also fix various smaller issues
2013-07-05 23:58:04 +01:00
Pete Batard 0938c56fdc [syslinux] fix crash when installing syslinux on large drives
* The check for minfatsize seems erroneous, and libfat_open()
  errors weren't checked in syslinux.c anyway
* Closes #156
2013-07-05 22:26:47 +01:00
Pete Batard d81ca7de24 [core] reinstate the call to DeletePartitions()
* But use IOCTL_DISK_CREATE_DISK and not IOCTL_DISK_DELETE_DRIVE_LAYOUT
* Also improve messaging and increase detection timeout to 15 seconds
2013-07-05 22:20:46 +01:00
Pete Batard 967ad1da33 [core] remove the call to IOCTL_DISK_DELETE_DRIVE_LAYOUT
* As per issue #122, this creates problems when formatting a drive in FAT16
* Also remove an unnecessary backslash in icon.c
2013-07-04 22:51:15 +01:00
Pete Batard 9925cc945d [syslinux] download c32 files in the same directory as the app
* Rufus was downloading c32 files in the last directory browsed, which
  meant that the same file may have had to be downloaded more than once
* Closes #154
2013-07-02 00:45:47 +01:00
Pete Batard 91f2cbafe9 [oops] fix elevation when compiled with VS2012
* Visual Studio requires the settings from the manifest to be duplicated
2013-06-30 03:02:59 +01:00
Pete Batard e5da529eca [core] force elevation for unprivileged users
* Using "highestAvailable" elevation allows standard users to run Rufus
  without being prompted for elevations, which prevents them from both
  detecting and formatting USB drives
* Since non administrator access is useless, switch to "requireAdministrator"
* Closes #153
* Also fix small issues with saving log and syslinux detection report
2013-06-30 02:32:51 +01:00
Pete Batard bbab5a148d [ui] log display improvement
* Shift main dialog left in case of overlap
* Fix loss of application focus when displaying the log
* Display Windows version in the log
* Also switch to LZMA for UPX compression
* Closes #148
2013-06-25 23:46:53 +01:00
Pete Batard 6be21bbdbc [core] more drive handling improvements
* Use retries when locking the volume
* Wait for volume availability after partitioning
* Don't halt on errors that can be ignored
* Other small improvements and fixes
* The above should help with addressing #122
2013-06-25 18:39:07 +01:00
Pete Batard cd5665881c [core] drive handling improvements
* Use IOCTL_DISK_UPDATE_PROPERTIES after partitioning
* Use IOCTL_DISK_DELETE_DRIVE_LAYOUT to invalidate partitions before formatting
* Fix handling of unpartitioned drives
* Increase delay after partitioning
* All of the above should help with the infamous #122
* Also fix display of error messages in ms-sys' file.c as well as stdio.c
* Also add commandline option -f to list fixed drives
2013-06-25 02:55:25 +01:00
Josh Soref fe3b1eb6f6 [misc] fix spelling mistakes
* Closes #147
2013-06-22 01:15:36 +01:00
Pete Batard f8c6903d21 [iso] fix support for ISOs with >4GB files
* The creation of UFDs with >4GB files should be allowed for NTFS
* Closes #146
* Also switch MessageBoxA() to UTF8 and update some of the message titles
2013-06-16 22:49:06 +01:00
Pete Batard 163c68d65d [misc] don't list an USB drive if Rufus is running from it
* Suggested by josiasmat
* Closes #143
2013-06-15 22:43:45 +01:00
Pete Batard 1dbaff6897 [syslinux] complete Syslinux v5 support
* Add download and copy of mandatory ldlinux.c32 to target
* With previous patch, this should address all Syslinux v5 related issues
* Closes #142
2013-06-15 17:31:55 +01:00
Pete Batard df5bce297d [syslinux] initial Syslinux v5 support
* Use .bss and .sys from Syslinux v5.10
* Advanced options allow you to choose between v4 and v5
* Rufus does not currently copy any ldlinux.c32 to the target
2013-06-14 01:55:48 +01:00
Pete Batard 0e1c474ca0 [syslinux] add detection for Syslinux/Isolinux v5.0
* This is not full Syslinux v5.0 support, but only to prevent the (vesa)menu.c32 message from displaying
* Uses the mandatory inclusion of ldlinux.c32 in Isolinux v5.x for the detection
* Part of a fix for #142
2013-06-13 23:46:52 +01:00
Pete Batard 0b64ef1210 [misc] set rufus-next to 1.3.4, update copyright year
* Copyright year in trhe about dialog had not been updated
2013-06-13 23:19:20 +01:00
Pete Batard b52eb6d81a v1.3.3 (build 250) 2013-06-10 21:57:13 +01:00
Pete Batard bb1e7c0b2f [misc] use UTF-8 for confirm dialog and fix RC 2013-06-08 01:59:34 +01:00
Pete Batard e1ff2a5273 [misc] improve messages and dialogs 2013-06-06 23:40:37 +01:00
Pete Batard b0e131e5e4 [iso] upgrade libcdio track and sector handling
* From latest git version of libcdio
2013-06-04 01:03:56 +01:00
Pete Batard d3238d7210 [misc] fix MinGW compilation issues 2013-06-04 00:44:49 +01:00
Pete Batard a17acd1a22 [ui] add fixed disk detection to the advanced options
* Tie unpartitioned drive listing to the fixed disk option
* Also ensure that the log and main dialog windows are the same size
2013-06-03 21:32:22 +01:00
Pete Batard 22808893bc [misc] small enhancements
* Add detection for user cancellation during between atomic format operations
* Clear existing PBR along with MBR/GPT data
* Improve log messages
2013-06-03 19:55:23 +01:00
Pete Batard 26f807530d [iso] fix broken bootmgr detection
* Closes #144
* Also fix broken WDK compilation
2013-05-19 23:02:16 +01:00
Pete Batard 199b9f4869 [misc] fix various minor issues
* Raise the size of vesamenu.c32 threshold, a per #140
* Fix a missing backslash when checking for autorun.inf
* Only set boot flag is requested by the user
2013-05-01 23:43:44 +01:00
Pete Batard 8e9777579b [core] Fix active MBR partition not being set
* Related to issue #128
* Also reported by Owen Yang
2013-04-08 00:14:28 +01:00
Pete Batard 4da36fa321 [core] low level drive handling redesign
* Better split of physical vs logical
* Add handling of unmounted volumes by GUID
* Force large FAT32 cheat mode
* Improve user messages and fix some UI issues
2013-04-08 00:10:58 +01:00
Pete Batard d56615cd20 [misc] remove duplicate icon set 2013-03-04 22:25:24 +00:00
Pete Batard 63e6c02f02 [core] allow detection and format of "raw" drives
* eg. GPT drives with no partitions were not enumerated by default
* fixed disk mode needs to be enabled for this detection to occur
* also fix the unwanted use of a drive letter in GetDrivePartitionData
* also add a check for going over MAX_DRIVES
* also fix improper separator line in FreeDOS menu due to UTF-8 source
* closes #124
2013-02-10 21:56:21 +00:00
Pete Batard a16d35698f [misc] various fixes and improvements
* add commandline usage guide
* use -w 150 instead of /W for updated app launch
* fix enabling/disabling of advanced options for UEFI/exFAT
* test for >4GB files for UEFI
* fix warning with freopen
2013-02-04 23:15:11 +00:00
Pete Batard 932df022c5 [cmdline] initial commandline support
* part of issue #111
* add getopt dependency for MS compilers
* enable the provision of an ISO as parameter
* also fixes shadowed sevenzip_path in vhd.c
2013-02-04 01:14:28 +00:00
Pete Batard d2e7e003c3 [efi] check for 7-zip path in HKLM
* Closes #121
* Also update registry handling
* Issues reported by Ronny Kalusniok
2013-02-02 16:57:46 +00:00
Pete Batard c51bf5ce45 [misc] set rufus-next to 1.3.3, update copyright
* update copyright year
* switch relevant files to UTF-8 (without signature).
  It's 2013 for crying out loud:  if your file editor or file viewer
  can't handle plain UTF-8, go back to the 1980s!
* also rename autogen.sh to bootstrap.sh
2013-02-02 15:47:56 +00:00
Pete Batard f1902c0040 [dos] remove the fixed drive letter from system files
* On some systems, the UFD may boot as A:, not C:, in which case
  FreeDOS and WinME DOS will fail to be setup properly
* Fix suggested by Klaus Hohenauer
2013-01-30 23:24:02 +00:00
Pete Batard 4b0196de32 v1.3.2 (build 232) 2013-01-27 21:01:43 +00:00
Pete Batard 0cc39d0222 [efi] add mbr UEFI marker for partition scheme reselection
* without the marker, an UFD created as MBR for UEFI will be seen
  as MBR for BIOS + UEFI. We want Rufus to be able to select the
  settings that were used for the drive creation.
* Also hides #116 under the carpet and fix non RUFUS_DEBUG compilation
2013-01-27 20:56:57 +00:00
Pete Batard 09b7314f98 [efi] improve partition scheme details and tooltips
* Also fix automated filesystem selection when switching schemes around
2013-01-27 01:40:09 +00:00
Pete Batard 647d9f18ad [misc] refactoring and cleanup - part 2
* add GetResource() function call to handle resource loading and
  revert 98ff7a931a
* add separate BootCheck() call
* better handling of passes tooltip
* remove superfluous backslashes
* fix standalone EFI support
* add GPL v3 license file and update README.txt
2013-01-25 01:56:28 +00:00
Pete Batard bba1772940 [misc] refactoring and cleanup - part 1
* add stdfn.c and move the relevant standard calls there
* move most of GetDriveInfo() to drive.c
* rename IDC_DOS/hDos to IDC_BOOT/hBoot
2013-01-24 21:30:11 +00:00
Pete Batard c8acf1b84a [misc] cleanup and refactoring + fix WIM 7z minor issue
* remove hardcoded path from WimExtractFile_7z
* move some drive related functions to drive.c
* cleanup
2013-01-22 02:40:43 +00:00
Pete Batard 8ff8b41273 [misc] set rufus-next to 1.3.2
* Also fixed a couple Clang, MSVC Analyzer and MinGW64 warnings
2013-01-20 23:34:13 +00:00
Pete Batard 0196de6f4d [efi] add Windows 7 EFI support for XP and Vista
* Requires 7-Zip for WIM extraction as wimgapi.dll is not available
* Also add more comprehensive choice between MBR/GPT and BIOS/UEFI
2013-01-20 22:46:11 +00:00
Pete Batard 84e4aecfcd [efi] add support for Windows 7 UEFI boot
* Add WIM file handling in vhd.c to extract bootx64.efi
* x64 only, since Microsoft does not provide Win7 x86 EFI support
2013-01-19 04:04:54 +00:00
Pete Batard 997c0a0f28 [gpt] add support for GPT partitioning and EFI boot
* Contains the bulk of the code required to address #11
* Tested with Windows 8 Pro x64 (en-gb_windows_8_x64_dvd_915412.iso)
  and Arch Linux (archlinux-2013.01.04-dual.iso) against an UEFI 2.1 BIOS
* Also fixes missing status report beta versions check
2013-01-18 01:39:24 +00:00
Pete Batard 6b8833bcfb [syslinux] work on duplicated copies of ldlinux.sys and ldlinux.bss
* If not, a VS2012 compiled Rufus will crash, as it doesn't allow
  working directly on embedded resources
* Closes #118
* Also update ChangeLog for previous patch
2013-01-13 22:16:10 +00:00
Pete Batard 97576d79cb [iso] re-fix support for Arch Linux
* Can't these guys just use Joliet like everyone else?
* Closes #90 (again!)
2013-01-13 00:41:21 +00:00
Pete Batard 325c383f92 v1.3.1 (build 220)
* Closes #115
2013-01-09 23:49:22 +00:00
Pete Batard 0b53ddd8b3 [ui] indicate the partition scheme created by Rufus
* This is in anticipation of GPT support (#11)
2013-01-09 23:39:31 +00:00
Pete Batard 24b66bf9bb [ui] tell the user if we're using Large FAT32 2013-01-09 23:24:31 +00:00