mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
[img] add a retry for DD Images
* Also try to ignore autorun.inf issues from idiotic antivirus solutions, when writing ISOs * Also remove the columns in the English labels (improves high DPI display) * Also update additional ISO related messages to make them more generic
This commit is contained in:
parent
89a7a3deb1
commit
cd4dd3cc47
7 changed files with 66 additions and 51 deletions
|
@ -2,7 +2,7 @@ o Version 1.4.4 (2013.02.??)
|
||||||
Add *uncompressed* DD Image support (FreeBSD, FreeNAS, etc.)
|
Add *uncompressed* DD Image support (FreeBSD, FreeNAS, etc.)
|
||||||
Add right-to-left language support
|
Add right-to-left language support
|
||||||
Add NTFS Compression support (unofficial)
|
Add NTFS Compression support (unofficial)
|
||||||
Improve Syslinux v5+ support (requires an internet connection)
|
Improve Syslinux v5+ support (requires an internet connection to download extra files)
|
||||||
Improve hotplug detection
|
Improve hotplug detection
|
||||||
Fix detection for Toshiba drives (again)
|
Fix detection for Toshiba drives (again)
|
||||||
Fix support for latest gparted, ArchLinux, and other Syslinux v5+ based ISOs
|
Fix support for latest gparted, ArchLinux, and other Syslinux v5+ based ISOs
|
||||||
|
|
|
@ -17,8 +17,12 @@ o Version 1.0.10 (2014.02.09)
|
||||||
- *NEW* MSG_261 "Writing image: %0.1f%% completed"
|
- *NEW* MSG_261 "Writing image: %0.1f%% completed"
|
||||||
- *NEW* MSG_187 "Invalid image for selected boot option"
|
- *NEW* MSG_187 "Invalid image for selected boot option"
|
||||||
- *NEW* MSG_188 "The current image doesn't match the boot option selected..." (see rufus.loc for full text)
|
- *NEW* MSG_188 "The current image doesn't match the boot option selected..." (see rufus.loc for full text)
|
||||||
|
- Changed MSG_086 "No ISO image selected" -> "No image selected"
|
||||||
|
- Changed MSG_087 "Please click on the disc button to select a bootable ISO..." -> "Please click on the disc button to select a bootable image..." (see rufus.loc for full text)
|
||||||
- Changed MSG_088 "ISO too big" -> "Image is too big"
|
- Changed MSG_088 "ISO too big" -> "Image is too big"
|
||||||
- Changed MSG_089 "This ISO image is too big for the selected target." -> "The image is too big for the selected target."
|
- Changed MSG_089 "This ISO image is too big for the selected target." -> "The image is too big for the selected target."
|
||||||
|
- Changed MSG_202 "Scanning ISO image..." -> "Scanning image..."
|
||||||
|
- Changed MSG_203 "Failed to scan ISO image" -> "Failed to scan image"
|
||||||
|
|
||||||
o Version 1.0.9 (2014.01.31)
|
o Version 1.0.9 (2014.01.31)
|
||||||
- *NEW* MSG_260 "NTFS compression"
|
- *NEW* MSG_260 "NTFS compression"
|
||||||
|
|
|
@ -63,9 +63,9 @@ t IDS_FILESYSTEM_TXT "File system"
|
||||||
t IDS_CLUSTERSIZE_TXT "Cluster size"
|
t IDS_CLUSTERSIZE_TXT "Cluster size"
|
||||||
t IDS_LABEL_TXT "New volume label"
|
t IDS_LABEL_TXT "New volume label"
|
||||||
t IDS_FORMAT_OPTIONS_GRP "Format Options "
|
t IDS_FORMAT_OPTIONS_GRP "Format Options "
|
||||||
t IDC_BADBLOCKS "Check device for bad blocks:"
|
t IDC_BADBLOCKS "Check device for bad blocks"
|
||||||
t IDC_QUICKFORMAT "Quick format"
|
t IDC_QUICKFORMAT "Quick format"
|
||||||
t IDC_BOOT "Create a bootable disk using:"
|
t IDC_BOOT "Create a bootable disk using"
|
||||||
t IDC_SET_ICON "Create extended label and icon files"
|
t IDC_SET_ICON "Create extended label and icon files"
|
||||||
t IDC_ABOUT "About..."
|
t IDC_ABOUT "About..."
|
||||||
t IDC_LOG "Log"
|
t IDC_LOG "Log"
|
||||||
|
@ -79,7 +79,7 @@ t IDC_EXTRA_PARTITION "Add fixes for old BIOSes (extra partition, align, etc.)"
|
||||||
# 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record
|
# 'MBR': See http://en.wikipedia.org/wiki/Master_boot_record
|
||||||
# Rufus can install it's own custom MBR (the Rufus MBR), which also allows users
|
# Rufus can install it's own custom MBR (the Rufus MBR), which also allows users
|
||||||
# to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167.
|
# to specify a custom disk ID for the BIOS. Note: the tooltip for this control is MSG_167.
|
||||||
t IDC_RUFUS_MBR "Use Rufus MBR with BIOS ID:"
|
t IDC_RUFUS_MBR "Use Rufus MBR with BIOS ID"
|
||||||
|
|
||||||
# About dialog
|
# About dialog
|
||||||
g IDD_ABOUTBOX
|
g IDD_ABOUTBOX
|
||||||
|
@ -243,11 +243,11 @@ t MSG_084 "This ISO image seems to use an obsolete version of '%s'.\n"
|
||||||
"Note: The new file will be downloaded in the current directory and once a "
|
"Note: The new file will be downloaded in the current directory and once a "
|
||||||
"'%s' exists there, it will be reused automatically."
|
"'%s' exists there, it will be reused automatically."
|
||||||
t MSG_085 "Downloading %s"
|
t MSG_085 "Downloading %s"
|
||||||
t MSG_086 "No ISO image selected"
|
t MSG_086 "No image selected"
|
||||||
# The content between the quotes below (\"Create a bootable disk\") should match
|
# The content between the quotes below (\"Create a bootable disk\") should match
|
||||||
# the beginning of the IDC_BOOT text
|
# the beginning of the IDC_BOOT text
|
||||||
t MSG_087 "Please click on the disc button to select a bootable ISO, "
|
t MSG_087 "Please click on the disc button to select a bootable image, "
|
||||||
"or uncheck the \"Create a bootable disk...\" checkbox."
|
"or uncheck the \"Create a bootable disk using\" checkbox."
|
||||||
t MSG_088 "Image is too big"
|
t MSG_088 "Image is too big"
|
||||||
t MSG_089 "The image is too big for the selected target."
|
t MSG_089 "The image is too big for the selected target."
|
||||||
t MSG_090 "Unsupported ISO"
|
t MSG_090 "Unsupported ISO"
|
||||||
|
@ -355,8 +355,8 @@ t MSG_188 "The current image doesn't match the boot option selected. Please use
|
||||||
|
|
||||||
# Status messages - these messages will appear on the status bar
|
# Status messages - these messages will appear on the status bar
|
||||||
t MSG_201 "Cancelling - Please wait..."
|
t MSG_201 "Cancelling - Please wait..."
|
||||||
t MSG_202 "Scanning ISO image..."
|
t MSG_202 "Scanning image..."
|
||||||
t MSG_203 "Failed to scan ISO image"
|
t MSG_203 "Failed to scan image"
|
||||||
# Parameter: the name of an obsolete Syslinux .c32 module. eg: "Obsolete vesamenu.c32 detected"
|
# Parameter: the name of an obsolete Syslinux .c32 module. eg: "Obsolete vesamenu.c32 detected"
|
||||||
t MSG_204 "Obsolete %s detected"
|
t MSG_204 "Obsolete %s detected"
|
||||||
# Display the name of the ISO selected. eg: "Using ISO: en_win7_x64_sp1.iso"
|
# Display the name of the ISO selected. eg: "Using ISO: en_win7_x64_sp1.iso"
|
||||||
|
@ -1766,9 +1766,9 @@ t MSG_084 "Cette image ISO utilise une version obsolète du fichier '%s'.\n"
|
||||||
"Note : Le nouveau fichier sera téléchargé dans le répertoire courant. "
|
"Note : Le nouveau fichier sera téléchargé dans le répertoire courant. "
|
||||||
"Si un '%s' existe à cet endroit, il sera réutilisé automatiquement."
|
"Si un '%s' existe à cet endroit, il sera réutilisé automatiquement."
|
||||||
t MSG_085 "Téléchargement de %s"
|
t MSG_085 "Téléchargement de %s"
|
||||||
t MSG_086 "Aucune image ISO sélectionnée"
|
t MSG_086 "Aucune image sélectionnée"
|
||||||
t MSG_087 "Veuillez cliquer sur le bouton avec un disque pour choisir une image ISO démarrable "
|
t MSG_087 "Veuillez cliquer sur le bouton avec un disque pour sélectionner une image démarrable "
|
||||||
"ou décochez l'option \"Disque de démarrage...\"."
|
"ou décochez l'option \"Créer un disque de démarrage\"."
|
||||||
t MSG_088 "Image trop large"
|
t MSG_088 "Image trop large"
|
||||||
t MSG_089 "L'image est trop large pour être copiée sur le périphérique sélectionné."
|
t MSG_089 "L'image est trop large pour être copiée sur le périphérique sélectionné."
|
||||||
t MSG_090 "Image ISO on supportée"
|
t MSG_090 "Image ISO on supportée"
|
||||||
|
@ -1874,8 +1874,8 @@ t MSG_188 "L'image choisie ne correspond pas à l'option de démarrage sélectio
|
||||||
|
|
||||||
# Status messages
|
# Status messages
|
||||||
t MSG_201 "Annulation - Veuillez patienter..."
|
t MSG_201 "Annulation - Veuillez patienter..."
|
||||||
t MSG_202 "Analyse de l'image ISO..."
|
t MSG_202 "Analyse de l'image..."
|
||||||
t MSG_203 "Echec d'analyse de l'image ISO"
|
t MSG_203 "Echec d'analyse de l'image"
|
||||||
t MSG_204 "Fichier %s obsolète détecté"
|
t MSG_204 "Fichier %s obsolète détecté"
|
||||||
t MSG_205 "ISO utilisée : %s"
|
t MSG_205 "ISO utilisée : %s"
|
||||||
t MSG_206 "Fichier %s manquant"
|
t MSG_206 "Fichier %s manquant"
|
||||||
|
|
32
src/format.c
32
src/format.c
|
@ -1172,7 +1172,6 @@ DWORD WINAPI CloseFormatPromptThread(LPVOID param) {
|
||||||
* Close the volume handle.
|
* Close the volume handle.
|
||||||
*/
|
*/
|
||||||
#define CHECK_FOR_USER_CANCEL if (IS_ERROR(FormatStatus)) goto out
|
#define CHECK_FOR_USER_CANCEL if (IS_ERROR(FormatStatus)) goto out
|
||||||
#define BSIZE 65536 // TODO: dual buffer and overlapped when writing an image
|
|
||||||
DWORD WINAPI FormatThread(void* param)
|
DWORD WINAPI FormatThread(void* param)
|
||||||
{
|
{
|
||||||
int i, r, pt, bt, fs, dt;
|
int i, r, pt, bt, fs, dt;
|
||||||
|
@ -1185,7 +1184,7 @@ DWORD WINAPI FormatThread(void* param)
|
||||||
FILE* log_fd;
|
FILE* log_fd;
|
||||||
LARGE_INTEGER li;
|
LARGE_INTEGER li;
|
||||||
uint64_t wb;
|
uint64_t wb;
|
||||||
uint8_t buffer[BSIZE];
|
uint8_t buffer[65536];
|
||||||
char *bb_msg, *guid_volume = NULL;
|
char *bb_msg, *guid_volume = NULL;
|
||||||
char drive_name[] = "?:\\";
|
char drive_name[] = "?:\\";
|
||||||
char drive_letters[27];
|
char drive_letters[27];
|
||||||
|
@ -1327,7 +1326,7 @@ DWORD WINAPI FormatThread(void* param)
|
||||||
// We poked the MBR, so we need to rewind
|
// We poked the MBR, so we need to rewind
|
||||||
li.QuadPart = 0;
|
li.QuadPart = 0;
|
||||||
SetFilePointerEx(hPhysicalDrive, li, NULL, FILE_BEGIN);
|
SetFilePointerEx(hPhysicalDrive, li, NULL, FILE_BEGIN);
|
||||||
hSourceImage = CreateFileU(iso_path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
|
hSourceImage = CreateFileU(iso_path, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL);
|
||||||
if (hSourceImage == INVALID_HANDLE_VALUE) {
|
if (hSourceImage == INVALID_HANDLE_VALUE) {
|
||||||
uprintf("Could not open image '%s': %s", iso_path, WindowsErrorString());
|
uprintf("Could not open image '%s': %s", iso_path, WindowsErrorString());
|
||||||
FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_OPEN_FAILED;
|
FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_OPEN_FAILED;
|
||||||
|
@ -1335,11 +1334,15 @@ DWORD WINAPI FormatThread(void* param)
|
||||||
}
|
}
|
||||||
|
|
||||||
uprintf("Writing Image...");
|
uprintf("Writing Image...");
|
||||||
|
// Don't bother trying for something clever, using double buffering overlapped and whatnot:
|
||||||
|
// With Windows' default optimizations, sync read + sync write for sequential operations
|
||||||
|
// will be as fast, if not faster, than whatever async scheme you can come up with.
|
||||||
for (wb = 0; ; wb += wSize) {
|
for (wb = 0; ; wb += wSize) {
|
||||||
s = ReadFile(hSourceImage, buffer, BSIZE, &rSize, NULL);
|
s = ReadFile(hSourceImage, buffer, sizeof(buffer), &rSize, NULL);
|
||||||
if (!s) {
|
if (!s) {
|
||||||
FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_READ_FAULT;
|
FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_READ_FAULT;
|
||||||
uprintf("read error: %s", WindowsErrorString());
|
uprintf("read error: %s", WindowsErrorString());
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
if (rSize == 0)
|
if (rSize == 0)
|
||||||
break;
|
break;
|
||||||
|
@ -1350,16 +1353,24 @@ DWORD WINAPI FormatThread(void* param)
|
||||||
UpdateProgress(OP_FORMAT, format_percent);
|
UpdateProgress(OP_FORMAT, format_percent);
|
||||||
}
|
}
|
||||||
CHECK_FOR_USER_CANCEL;
|
CHECK_FOR_USER_CANCEL;
|
||||||
// TODO: add a retry on write?
|
for (i=0; i<WRITE_RETRIES; i++) {
|
||||||
s = WriteFile(hPhysicalDrive, buffer, rSize, &wSize, NULL);
|
s = WriteFile(hPhysicalDrive, buffer, rSize, &wSize, NULL);
|
||||||
if (!s || wSize != rSize) {
|
if ((s) && (wSize == rSize))
|
||||||
FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_WRITE_FAULT;
|
break;
|
||||||
if (s)
|
if (s)
|
||||||
uprintf("write error: Wrote %d bytes, expected %d bytes\n", wSize, rSize);
|
uprintf("write error: Wrote %d bytes, expected %d bytes\n", wSize, rSize);
|
||||||
else
|
else
|
||||||
uprintf("write error: %s", WindowsErrorString());
|
uprintf("write error: %s", WindowsErrorString());
|
||||||
goto out;
|
if (i < WRITE_RETRIES-1) {
|
||||||
}
|
li.QuadPart = wb;
|
||||||
|
SetFilePointerEx(hPhysicalDrive, li, NULL, FILE_BEGIN);
|
||||||
|
uprintf(" RETRYING...\n");
|
||||||
|
} else {
|
||||||
|
FormatStatus = ERROR_SEVERITY_ERROR|FAC(FACILITY_STORAGE)|ERROR_WRITE_FAULT;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i >= WRITE_RETRIES) goto out;
|
||||||
}
|
}
|
||||||
uprintf("Done");
|
uprintf("Done");
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -1551,6 +1562,7 @@ DWORD WINAPI FormatThread(void* param)
|
||||||
out:
|
out:
|
||||||
safe_free(guid_volume);
|
safe_free(guid_volume);
|
||||||
SendMessage(hISOProgressDlg, UM_ISO_EXIT, 0, 0);
|
SendMessage(hISOProgressDlg, UM_ISO_EXIT, 0, 0);
|
||||||
|
safe_closehandle(hSourceImage);
|
||||||
safe_unlockclose(hLogicalVolume);
|
safe_unlockclose(hLogicalVolume);
|
||||||
safe_unlockclose(hPhysicalDrive); // This can take a while
|
safe_unlockclose(hPhysicalDrive); // This can take a while
|
||||||
if (IS_ERROR(FormatStatus)) {
|
if (IS_ERROR(FormatStatus)) {
|
||||||
|
|
28
src/iso.c
28
src/iso.c
|
@ -47,7 +47,6 @@
|
||||||
// the progress bar for every block will bring extraction to a crawl
|
// the progress bar for every block will bring extraction to a crawl
|
||||||
#define PROGRESS_THRESHOLD 128
|
#define PROGRESS_THRESHOLD 128
|
||||||
#define FOUR_GIGABYTES 4294967296LL
|
#define FOUR_GIGABYTES 4294967296LL
|
||||||
#define WRITE_RETRIES 3
|
|
||||||
|
|
||||||
// Needed for UDF ISO access
|
// Needed for UDF ISO access
|
||||||
CdIo_t* cdio_open (const char* psz_source, driver_id_t driver_id) {return NULL;}
|
CdIo_t* cdio_open (const char* psz_source, driver_id_t driver_id) {return NULL;}
|
||||||
|
@ -69,6 +68,9 @@ static const char* pe_dirname[] = { "/i386", "/minint" };
|
||||||
static const char* pe_file[] = { "ntdetect.com", "setupldr.bin", "txtsetup.sif" };
|
static const char* pe_file[] = { "ntdetect.com", "setupldr.bin", "txtsetup.sif" };
|
||||||
static const char* reactos_name = "setupldr.sys"; // TODO: freeldr.sys doesn't seem to work
|
static const char* reactos_name = "setupldr.sys"; // TODO: freeldr.sys doesn't seem to work
|
||||||
static const char* autorun_name = "autorun.inf";
|
static const char* autorun_name = "autorun.inf";
|
||||||
|
static const char* stupid_antivirus = " NOTE: This is usually caused by a poorly designed security solution. "
|
||||||
|
"See http://rufus.akeo.ie/compatibility.\r\n This file will be skipped for now, but you should really "
|
||||||
|
"look into using a *SMARTER* antivirus solution.";
|
||||||
const char* old_c32_name[NB_OLD_C32] = OLD_C32_NAMES;
|
const char* old_c32_name[NB_OLD_C32] = OLD_C32_NAMES;
|
||||||
static const int64_t old_c32_threshold[NB_OLD_C32] = OLD_C32_THRESHOLD;
|
static const int64_t old_c32_threshold[NB_OLD_C32] = OLD_C32_THRESHOLD;
|
||||||
static uint8_t i_joliet_level = 0;
|
static uint8_t i_joliet_level = 0;
|
||||||
|
@ -283,13 +285,11 @@ static int udf_extract_files(udf_t *p_udf, udf_dirent_t *p_udf_dirent, const cha
|
||||||
if (file_handle == INVALID_HANDLE_VALUE) {
|
if (file_handle == INVALID_HANDLE_VALUE) {
|
||||||
err = GetLastError();
|
err = GetLastError();
|
||||||
uprintf(" Unable to create file: %s\n", WindowsErrorString());
|
uprintf(" Unable to create file: %s\n", WindowsErrorString());
|
||||||
if ((err == ERROR_ACCESS_DENIED) && (safe_strcmp(&psz_fullpath[3], autorun_name) == 0)) {
|
if ((err == ERROR_ACCESS_DENIED) && (safe_strcmp(&psz_fullpath[3], autorun_name) == 0))
|
||||||
uprintf(" NOTE: This may be caused by a poorly designed security solution. "
|
uprintf(stupid_antivirus);
|
||||||
"See http://rufus.akeo.ie/compatibility.");
|
else
|
||||||
}
|
goto out;
|
||||||
goto out;
|
} else while (i_file_length > 0) {
|
||||||
}
|
|
||||||
while (i_file_length > 0) {
|
|
||||||
if (FormatStatus) goto out;
|
if (FormatStatus) goto out;
|
||||||
memset(buf, 0, UDF_BLOCKSIZE);
|
memset(buf, 0, UDF_BLOCKSIZE);
|
||||||
i_read = udf_read_block(p_udf_dirent, buf, 1);
|
i_read = udf_read_block(p_udf_dirent, buf, 1);
|
||||||
|
@ -424,13 +424,11 @@ static int iso_extract_files(iso9660_t* p_iso, const char *psz_path)
|
||||||
if (file_handle == INVALID_HANDLE_VALUE) {
|
if (file_handle == INVALID_HANDLE_VALUE) {
|
||||||
err = GetLastError();
|
err = GetLastError();
|
||||||
uprintf(" Unable to create file: %s\n", WindowsErrorString());
|
uprintf(" Unable to create file: %s\n", WindowsErrorString());
|
||||||
if ((err == ERROR_ACCESS_DENIED) && (safe_strcmp(&psz_fullpath[3], autorun_name) == 0)) {
|
if ((err == ERROR_ACCESS_DENIED) && (safe_strcmp(&psz_fullpath[3], autorun_name) == 0))
|
||||||
uprintf(" NOTE: This may be caused by a poorly designed security solution. "
|
uprintf(stupid_antivirus);
|
||||||
"See http://rufus.akeo.ie/compatibility.");
|
else
|
||||||
}
|
goto out;
|
||||||
goto out;
|
} else for (i=0; i_file_length>0; i++) {
|
||||||
}
|
|
||||||
for (i=0; i_file_length>0; i++) {
|
|
||||||
if (FormatStatus) goto out;
|
if (FormatStatus) goto out;
|
||||||
memset(buf, 0, ISO_BLOCKSIZE);
|
memset(buf, 0, ISO_BLOCKSIZE);
|
||||||
lsn = p_statbuf->lsn + (lsn_t)i;
|
lsn = p_statbuf->lsn + (lsn_t)i;
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
#define MAX_SECTORS_TO_CLEAR 128 // nb sectors to zap when clearing the MBR/GPT (must be >34)
|
#define MAX_SECTORS_TO_CLEAR 128 // nb sectors to zap when clearing the MBR/GPT (must be >34)
|
||||||
#define MBR_UEFI_MARKER 0x49464555 // 'U', 'E', 'F', 'I', as a 32 bit little endian longword
|
#define MBR_UEFI_MARKER 0x49464555 // 'U', 'E', 'F', 'I', as a 32 bit little endian longword
|
||||||
#define PROPOSEDLABEL_TOLERANCE 0.10
|
#define PROPOSEDLABEL_TOLERANCE 0.10
|
||||||
|
#define WRITE_RETRIES 3
|
||||||
#define FS_DEFAULT FS_FAT32
|
#define FS_DEFAULT FS_FAT32
|
||||||
#define BADBLOCK_PATTERNS {0xaa, 0x55, 0xff, 0x00}
|
#define BADBLOCK_PATTERNS {0xaa, 0x55, 0xff, 0x00}
|
||||||
#define LARGE_FAT32_SIZE (32*1073741824LL) // Size at which we need to use fat32format
|
#define LARGE_FAT32_SIZE (32*1073741824LL) // Size at which we need to use fat32format
|
||||||
|
|
24
src/rufus.rc
24
src/rufus.rc
|
@ -32,7 +32,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||||
|
|
||||||
IDD_DIALOG DIALOGEX 12, 12, 206, 329
|
IDD_DIALOG DIALOGEX 12, 12, 206, 329
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Rufus 1.4.4.405"
|
CAPTION "Rufus 1.4.4.406"
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Start",IDC_START,94,291,50,14
|
DEFPUSHBUTTON "Start",IDC_START,94,291,50,14
|
||||||
|
@ -51,16 +51,16 @@ BEGIN
|
||||||
GROUPBOX "Format Options ",IDS_FORMAT_OPTIONS_GRP,7,149,192,66
|
GROUPBOX "Format Options ",IDS_FORMAT_OPTIONS_GRP,7,149,192,66
|
||||||
LTEXT "New volume label",IDS_LABEL_TXT,9,121,186,10
|
LTEXT "New volume label",IDS_LABEL_TXT,9,121,186,10
|
||||||
EDITTEXT IDC_LABEL,7,131,190,13,ES_AUTOHSCROLL
|
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 "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,106,10
|
CONTROL "Quick format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,106,10
|
||||||
CONTROL "Create a bootable disk using:",IDC_BOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,104,10
|
CONTROL "Create a bootable disk using",IDC_BOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,104,10
|
||||||
CONTROL "Create extended label and icon files",IDC_SET_ICON,
|
CONTROL "Create extended label and icon files",IDC_SET_ICON,
|
||||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,198,181,10
|
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,198,181,10
|
||||||
CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,272,189,9
|
CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,272,189,9
|
||||||
COMBOBOX IDC_NBPASSES,119,159,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_NBPASSES,119,159,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
COMBOBOX IDC_BOOTTYPE,119,183,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_BOOTTYPE,119,183,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
PUSHBUTTON "...",IDC_SELECT_ISO,171,182,22,14,BS_ICON
|
PUSHBUTTON "...",IDC_SELECT_ISO,171,182,22,14,BS_ICON
|
||||||
CONTROL "Use Rufus MBR with BIOS ID:",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,248,106,10
|
CONTROL "Use Rufus MBR with BIOS ID",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,248,106,10
|
||||||
PUSHBUTTON "",IDC_ADVANCED,63,148,14,10,BS_TOP | BS_FLAT
|
PUSHBUTTON "",IDC_ADVANCED,63,148,14,10,BS_TOP | BS_FLAT
|
||||||
GROUPBOX "Advanced Options",IDS_ADVANCED_OPTIONS_GRP,7,210,192,54
|
GROUPBOX "Advanced Options",IDS_ADVANCED_OPTIONS_GRP,7,210,192,54
|
||||||
COMBOBOX IDC_DISK_ID,119,246,73,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_DISK_ID,119,246,73,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
|
@ -165,7 +165,7 @@ END
|
||||||
RTL_IDD_DIALOG DIALOGEX 12, 12, 206, 329
|
RTL_IDD_DIALOG DIALOGEX 12, 12, 206, 329
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
EXSTYLE WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL
|
EXSTYLE WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL
|
||||||
CAPTION "Rufus 1.4.4.405"
|
CAPTION "Rufus 1.4.4.406"
|
||||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "Start",IDC_START,94,291,50,14
|
DEFPUSHBUTTON "Start",IDC_START,94,291,50,14
|
||||||
|
@ -184,16 +184,16 @@ BEGIN
|
||||||
GROUPBOX "Format Options ",IDS_FORMAT_OPTIONS_GRP,7,149,192,66
|
GROUPBOX "Format Options ",IDS_FORMAT_OPTIONS_GRP,7,149,192,66
|
||||||
LTEXT "New volume label",IDS_LABEL_TXT,9,121,186,10
|
LTEXT "New volume label",IDS_LABEL_TXT,9,121,186,10
|
||||||
EDITTEXT IDC_LABEL,7,131,190,13,ES_AUTOHSCROLL
|
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 "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,106,10
|
CONTROL "Quick format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,106,10
|
||||||
CONTROL "Create a bootable disk using:",IDC_BOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,104,10
|
CONTROL "Create a bootable disk using",IDC_BOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,104,10
|
||||||
CONTROL "Create extended label and icon files",IDC_SET_ICON,
|
CONTROL "Create extended label and icon files",IDC_SET_ICON,
|
||||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,198,181,10
|
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,198,181,10
|
||||||
CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,272,189,9
|
CONTROL "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,8,272,189,9
|
||||||
COMBOBOX IDC_NBPASSES,119,159,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_NBPASSES,119,159,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
COMBOBOX IDC_BOOTTYPE,119,183,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_BOOTTYPE,119,183,49,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
PUSHBUTTON "...",IDC_SELECT_ISO,171,182,22,14,BS_ICON
|
PUSHBUTTON "...",IDC_SELECT_ISO,171,182,22,14,BS_ICON
|
||||||
CONTROL "Use Rufus MBR with BIOS ID:",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,248,106,10
|
CONTROL "Use Rufus MBR with BIOS ID",IDC_RUFUS_MBR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,248,106,10
|
||||||
PUSHBUTTON "",IDC_ADVANCED,63,148,14,10,BS_TOP | BS_FLAT
|
PUSHBUTTON "",IDC_ADVANCED,63,148,14,10,BS_TOP | BS_FLAT
|
||||||
GROUPBOX "Advanced Options",IDS_ADVANCED_OPTIONS_GRP,7,210,192,54
|
GROUPBOX "Advanced Options",IDS_ADVANCED_OPTIONS_GRP,7,210,192,54
|
||||||
COMBOBOX IDC_DISK_ID,119,246,73,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_DISK_ID,119,246,73,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||||
|
@ -427,8 +427,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 1,4,4,405
|
FILEVERSION 1,4,4,406
|
||||||
PRODUCTVERSION 1,4,4,405
|
PRODUCTVERSION 1,4,4,406
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -445,13 +445,13 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
|
VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)"
|
||||||
VALUE "FileDescription", "Rufus"
|
VALUE "FileDescription", "Rufus"
|
||||||
VALUE "FileVersion", "1.4.4.405"
|
VALUE "FileVersion", "1.4.4.406"
|
||||||
VALUE "InternalName", "Rufus"
|
VALUE "InternalName", "Rufus"
|
||||||
VALUE "LegalCopyright", "© 2011-2014 Pete Batard (GPL v3)"
|
VALUE "LegalCopyright", "© 2011-2014 Pete Batard (GPL v3)"
|
||||||
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
|
VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html"
|
||||||
VALUE "OriginalFilename", "rufus.exe"
|
VALUE "OriginalFilename", "rufus.exe"
|
||||||
VALUE "ProductName", "Rufus"
|
VALUE "ProductName", "Rufus"
|
||||||
VALUE "ProductVersion", "1.4.4.405"
|
VALUE "ProductVersion", "1.4.4.406"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
Loading…
Reference in a new issue