[misc] more pre 1.1.0 improvements

This commit is contained in:
Pete Batard 2012-02-07 23:16:15 +00:00
parent 5d58b83ed8
commit c1a8135d30
5 changed files with 94 additions and 85 deletions

View File

@ -1,10 +1,13 @@
Rufus: The Reliable USB Formatting Utility
Features:
- Formats USB memory sticks to FAT/FAT32/NTFS/exFAT
- Creates MS-DOS/FreeDOS bootable USB memory sticks, with no external files required
- Checks for bad blocks
- Formats USB flash drives to FAT/FAT32/NTFS/exFAT
- Creates DOS bootable USB drives, with no external files required
- Creates bootable USB drives from ISOs, such as Windows installation media
- Twice as fast as Microsoft's USB/DVD tool or UNetbootin, on ISO->USB (1)
- Bad blocks check
- Modern UI, with UAC elevation for Windows Vista and later
- Very small footprint, no installation required
- Fully Open Source (GPL v3)
Compilation:
@ -15,10 +18,18 @@ Compilation:
Additional information:
Rufus provides extensive information abour what it is doing through the Windows
debug facility, which can be accessed with an application such as DebugView.
debug facility. This info can be accessed with an application such as DebugView.
More info:
http://rufus.akeo.ie
Enhancements/Bugs
https://github.com/pbatard/rufus/issues
(1) 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
- Windows 7 USB/DVD Download Tool v1.0.30: 8 mins 10s
- UNetbootin v1.1.1.1: 6 mins 20s
- Rufus v1.1.0: 3 mins 25s

56
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for rufus 1.0.8.
# Generated by GNU Autoconf 2.68 for rufus 1.1.0.
#
# Report bugs to <https://github.com/pbatard/rufus/issues>.
#
@ -559,8 +559,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='rufus'
PACKAGE_TARNAME='rufus'
PACKAGE_VERSION='1.0.8'
PACKAGE_STRING='rufus 1.0.8'
PACKAGE_VERSION='1.1.0'
PACKAGE_STRING='rufus 1.1.0'
PACKAGE_BUGREPORT='https://github.com/pbatard/rufus/issues'
PACKAGE_URL='http://rufus.akeo.ie'
@ -1205,7 +1205,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 1.0.8 to adapt to many kinds of systems.
\`configure' configures rufus 1.1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1271,7 +1271,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of rufus 1.0.8:";;
short | recursive ) echo "Configuration of rufus 1.1.0:";;
esac
cat <<\_ACEOF
@ -1287,7 +1287,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-freedos embed FreeDOS support (default=yes)
--with-syslinux embed SysLinux support (default=yes)
--with-syslinux embed Syslinux support (default=yes)
Some influential environment variables:
CC C compiler command
@ -1365,7 +1365,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
rufus configure 1.0.8
rufus configure 1.1.0
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@ -1420,7 +1420,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 1.0.8, which was
It was created by rufus $as_me 1.1.0, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@ -2235,7 +2235,7 @@ fi
# Define the identity of the package.
PACKAGE='rufus'
VERSION='1.0.8'
VERSION='1.1.0'
cat >>confdefs.h <<_ACEOF
@ -3447,26 +3447,6 @@ esac
$as_echo "#define _GNU_SOURCE /**/" >>confdefs.h
## We don't actually use config.h for the time being
#AM_CONFIG_HEADER([config.h])
## The following creates config.guess and a bunch of polluting stuff
## => avoid it for now
#AC_CANONICAL_HOST
#AC_MSG_CHECKING([development environment])
#case $host in
#*-mingw*)
# AC_MSG_RESULT([MinGW])
# AM_CFLAGS="-Wshadow"
# ;;
#*)
# AC_MSG_ERROR([unsupported development environment])
#esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: enabling Large File Support (for ISO images)" >&5
$as_echo "enabling Large File Support (for ISO images)" >&6; }
AM_CFLAGS="-D_FILE_OFFSET_BITS=64 -D_OFF_T_DEFINED -D_OFF_T_ -D_off_t=off64_t -Doff_t=off64_t"
# Clang needs an explicit WIN32_WINNT defined else it produces warnings
# in msapi_utf8.h - including winver.h only doesn't work
AM_CFLAGS="${AM_CFLAGS} -DWINVER=0x501 -D_WIN32_IE=0x501 -D_WIN32_WINNT=0x501"
@ -3498,7 +3478,6 @@ if test "x$with_syslinux" != "xno" ; then
EXESUFFIX="f"
fi
# Debug symbols
# Check whether --enable-debug was given.
if test "${enable_debug+set}" = set; then :
@ -3507,13 +3486,17 @@ else
debug_enabled='yes'
fi
if test "x$debug_enabled" = "xyes" ; then
if test "x$debug_enabled" != "xno" ; then
CFLAGS="-g -O2"
else
CFLAGS="-O2"
LDFLAGS="-s"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: enabling Large File Support (ISO support)" >&5
$as_echo "enabling Large File Support (ISO support)" >&6; }
AM_CFLAGS="$AM_CFLAGS -D_FILE_OFFSET_BITS=64 -D_OFF_T_DEFINED -D_OFF_T_ -D_off_t=off64_t -Doff_t=off64_t"
# check for -Wno-pointer-sign compiler support (GCC >= 4)
saved_CFLAGS="${CFLAGS}"
CFLAGS="$CFLAGS -Wno-pointer-sign"
@ -4122,7 +4105,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 1.0.8, which was
This file was extended by rufus $as_me 1.1.0, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -4176,7 +4159,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
rufus config.status 1.0.8
rufus config.status 1.1.0
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
@ -4757,3 +4740,10 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}:
FreeDOS Support : $(test \"x$with_freedos\" != \"xno\" && echo enabled || echo disabled)
Syslinux Support : $(test \"x$with_syslinux\" != \"xno\" && echo enabled || echo disabled)" >&5
$as_echo "$as_me:
FreeDOS Support : $(test \"x$with_freedos\" != \"xno\" && echo enabled || echo disabled)
Syslinux Support : $(test \"x$with_syslinux\" != \"xno\" && echo enabled || echo disabled)" >&6;}

View File

@ -1,4 +1,4 @@
AC_INIT([rufus], [1.0.8], [https://github.com/pbatard/rufus/issues], [rufus], [http://rufus.akeo.ie])
AC_INIT([rufus], [1.1.0], [https://github.com/pbatard/rufus/issues], [rufus], [http://rufus.akeo.ie])
AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies])
AC_CONFIG_SRCDIR([src/rufus.c])
AC_CONFIG_MACRO_DIR([m4])
@ -16,25 +16,6 @@ AC_CHECK_TOOL(WINDRES, windres, windres)
AC_C_INLINE
AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions])
## We don't actually use config.h for the time being
#AM_CONFIG_HEADER([config.h])
## The following creates config.guess and a bunch of polluting stuff
## => avoid it for now
#AC_CANONICAL_HOST
#AC_MSG_CHECKING([development environment])
#case $host in
#*-mingw*)
# AC_MSG_RESULT([MinGW])
# AM_CFLAGS="-Wshadow"
# ;;
#*)
# AC_MSG_ERROR([unsupported development environment])
#esac
AC_MSG_RESULT([enabling Large File Support (for ISO images)])
AM_CFLAGS="-D_FILE_OFFSET_BITS=64 -D_OFF_T_DEFINED -D_OFF_T_ -D_off_t=off64_t -Doff_t=off64_t"
# Clang needs an explicit WIN32_WINNT defined else it produces warnings
# in msapi_utf8.h - including winver.h only doesn't work
AM_CFLAGS="${AM_CFLAGS} -DWINVER=0x501 -D_WIN32_IE=0x501 -D_WIN32_WINNT=0x501"
@ -52,7 +33,7 @@ fi
AC_ARG_WITH([syslinux],
[AS_HELP_STRING([--with-syslinux],
[embed SysLinux support (default=yes)])],
[embed Syslinux support (default=yes)])],
[],
[with_freedos=yes])
if test "x$with_syslinux" != "xno" ; then
@ -60,18 +41,22 @@ if test "x$with_syslinux" != "xno" ; then
EXESUFFIX="f"
fi
# Debug symbols
AC_ARG_ENABLE(debug, AS_HELP_STRING([--enable-debug], [keep debug symbols for gdb (default=yes)]),
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],
[keep debug symbols for gdb (default=yes)])],
[debug_enabled=$enableval],
[debug_enabled='yes'])
if test "x$debug_enabled" = "xyes" ; then
if test "x$debug_enabled" != "xno" ; then
CFLAGS="-g -O2"
else
CFLAGS="-O2"
LDFLAGS="-s"
fi
AC_MSG_RESULT([enabling Large File Support (ISO support)])
AM_CFLAGS="$AM_CFLAGS -D_FILE_OFFSET_BITS=64 -D_OFF_T_DEFINED -D_OFF_T_ -D_off_t=off64_t -Doff_t=off64_t"
# check for -Wno-pointer-sign compiler support (GCC >= 4)
saved_CFLAGS="${CFLAGS}"
CFLAGS="$CFLAGS -Wno-pointer-sign"
@ -96,3 +81,7 @@ AC_CONFIG_FILES([src/libcdio/iso9660/Makefile])
AC_CONFIG_FILES([src/libcdio/udf/Makefile])
AC_CONFIG_FILES([src/libcdio/driver/Makefile])
AC_OUTPUT
AC_MSG_NOTICE([
FreeDOS Support : $(test "x$with_freedos" != "xno" && echo enabled || echo disabled)
Syslinux Support : $(test "x$with_syslinux" != "xno" && echo enabled || echo disabled)])

View File

@ -62,7 +62,7 @@ BOOL bWithFreeDOS, bWithSyslinux;
static HANDLE format_thid = NULL;
static HWND hDeviceTooltip = NULL, hFSTooltip = NULL, hProgress = NULL;
static HWND hDOS = NULL, hSelectISO = NULL, hISOToolTip = NULL;
static HWND hDOS = NULL, hSelectISO = NULL, hISOToolTip = NULL, hPassesToolTip = NULL;
static HICON hIconDisc;
static StrArray DriveID, DriveLabel;
static char szTimer[12] = "00:00:00";
@ -1061,6 +1061,7 @@ void InitDialog(HWND hDlg)
IGNORE_RETVAL(ComboBox_AddStringU(hNBPasses, "3 Passes"));
IGNORE_RETVAL(ComboBox_AddStringU(hNBPasses, "4 Passes"));
IGNORE_RETVAL(ComboBox_SetCurSel(hNBPasses, 1));
hPassesToolTip = CreateTooltip(hNBPasses, "Pattern: 0x55, 0xAA", -1);
// Fill up the DOS type dropdown
IGNORE_RETVAL(ComboBox_SetItemData(hDOSType, ComboBox_AddStringU(hDOSType, "MS-DOS"), DT_WINME));
IGNORE_RETVAL(ComboBox_SetCurSel(hDOSType, DT_WINME));
@ -1094,7 +1095,7 @@ void InitDialog(HWND hDlg)
static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
DRAWITEMSTRUCT* pDI;
int nDeviceIndex, fs, dt;
int nDeviceIndex, fs;
DWORD DeviceNum;
char str[MAX_PATH], tmp[128];
static UINT uDOSChecked = BST_CHECKED;
@ -1176,6 +1177,26 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
break;
}
break;
case IDC_NBPASSES:
switch (HIWORD(wParam)) {
case CBN_SELCHANGE:
DestroyTooltip(hPassesToolTip);
switch(ComboBox_GetCurSel(hNBPasses)) {
case 0:
hPassesToolTip = CreateTooltip(hNBPasses, "Pattern: 0x55", -1);
break;
case 1:
hPassesToolTip = CreateTooltip(hNBPasses, "Pattern: 0x55, 0xAA", -1);
break;
case 2:
hPassesToolTip = CreateTooltip(hNBPasses, "Pattern: 0x55, 0xAA, 0xFF", -1);
break;
case 3:
hPassesToolTip = CreateTooltip(hNBPasses, "Pattern: 0x55, 0xAA, 0xFF, 0x00", -1);
break;
}
}
break;
case IDC_FILESYSTEM:
if (HIWORD(wParam) != CBN_SELCHANGE)
break;
@ -1201,7 +1222,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
}
if (fs == FS_NTFS) {
// Only allow ISO with NTFS for the time being
IGNORE_RETVAL(ComboBox_SetItemData(hDOSType, ComboBox_AddStringU(hDOSType, "ISO..."), DT_ISO));
IGNORE_RETVAL(ComboBox_SetItemData(hDOSType, ComboBox_AddStringU(hDOSType, "ISO Image"), DT_ISO));
}
IGNORE_RETVAL(ComboBox_SetCurSel(hDOSType, (bWithFreeDOS && (fs != FS_NTFS))?1:0));
if (!IsWindowEnabled(hDOS)) {
@ -1211,18 +1232,16 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
}
// Fall through to enable/disable the ISO selection
case IDC_DOSTYPE:
switch (HIWORD(wParam)) {
case CBN_SELCHANGE:
dt = (int)ComboBox_GetItemData(hDOSType, ComboBox_GetCurSel(hDOSType));
// Disable/Restore the DOS checkbox according to FS
if (dt == DT_ISO) {
ShowWindow(hSelectISO, SW_SHOW);
} else {
ShowWindow(hSelectISO, SW_HIDE);
}
if (HIWORD(wParam) != CBN_SELCHANGE)
break;
if (ComboBox_GetItemData(hDOSType, ComboBox_GetCurSel(hDOSType)) != DT_ISO) {
ShowWindow(hSelectISO, SW_HIDE);
break;
}
break;
ShowWindow(hSelectISO, SW_SHOW);
// Fall through if no ISO is selected
if ((iso_path != NULL) || (LOWORD(wParam) == IDC_FILESYSTEM))
break;
case IDC_SELECT_ISO:
DestroyTooltip(hISOToolTip);
safe_free(iso_path);
@ -1256,7 +1275,7 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA
if (ComboBox_GetItemData(hDOSType, ComboBox_GetCurSel(hDOSType)) == DT_ISO) {
if (iso_path == NULL) {
MessageBoxA(hMainDialog, "Please click on the disc button to select a bootable ISO,\n"
"or unselect the \"Create bootable disk...\" checkbox.",
"or uncheck the \"Create a bootable disk...\" checkbox.",
"No ISO image selected...", MB_OK|MB_ICONERROR);
break;
}

View File

@ -33,7 +33,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 206, 278
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Rufus v1.0.8.129"
CAPTION "Rufus v1.1.0.130"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
DEFPUSHBUTTON "Start",IDC_START,94,236,50,14
@ -51,13 +51,13 @@ BEGIN
EDITTEXT IDC_LABEL,7,131,190,13,ES_AUTOHSCROLL
CONTROL "Check device for bad blocks:",IDC_BADBLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,161,101,10
CONTROL "Quick Format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,58,10
CONTROL "Create a bootable disk with:",IDC_DOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,101,10
CONTROL "Create a bootable disk using:",IDC_DOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,104,10
LTEXT "New volume label",IDC_STATIC,9,121,105,10
CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,210,189,9
COMBOBOX IDC_DOSTYPE,118,183,45,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_NBPASSES,118,159,45,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_DOSTYPE,119,183,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_NBPASSES,119,159,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
PUSHBUTTON "Test",IDC_TEST,62,236,20,14,NOT WS_VISIBLE
PUSHBUTTON "...",IDC_SELECT_ISO,168,182,23,14,BS_ICON | NOT WS_VISIBLE
PUSHBUTTON "...",IDC_SELECT_ISO,171,182,22,14,BS_ICON | NOT WS_VISIBLE
END
IDD_ABOUTBOX DIALOGEX 0, 0, 287, 195
@ -71,7 +71,7 @@ BEGIN
DEFPUSHBUTTON "OK",IDOK,231,175,50,14,WS_GROUP
CONTROL "<a href=""http://rufus.akeo.ie"">http://rufus.akeo.ie</a>",IDC_ABOUT_RUFUS_URL,
"SysLink",WS_TABSTOP,46,47,114,9
LTEXT "Version 1.0.8 (Build 129)",IDC_STATIC,46,19,78,8
LTEXT "Version 1.1.0 (Build 130)",IDC_STATIC,46,19,78,8
PUSHBUTTON "License...",IDC_ABOUT_LICENSE,46,175,50,14,WS_GROUP
EDITTEXT IDC_ABOUT_COPYRIGHTS,46,107,235,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL
LTEXT "Report bugs or request enhancements at:",IDC_STATIC,46,66,187,8
@ -223,8 +223,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,8,129
PRODUCTVERSION 1,0,8,129
FILEVERSION 1,1,0,130
PRODUCTVERSION 1,1,0,130
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -241,13 +241,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "akeo.ie"
VALUE "FileDescription", "Rufus"
VALUE "FileVersion", "1.0.8.129"
VALUE "FileVersion", "1.1.0.130"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus.exe"
VALUE "ProductName", "Rufus"
VALUE "ProductVersion", "1.0.8.129"
VALUE "ProductVersion", "1.1.0.130"
END
END
BLOCK "VarFileInfo"