mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	
							parent
							
								
									849f61a80f
								
							
						
					
					
						commit
						6def8f8abe
					
				
					 5 changed files with 23 additions and 16 deletions
				
			
		
							
								
								
									
										1
									
								
								TODO
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								TODO
									
										
									
									
									
								
							|  | @ -1,5 +1,4 @@ | ||||||
| o Create a report file with failed block details on bad blocks | o Create a report file with failed block details on bad blocks | ||||||
| o Integrate FreeDOS |  | ||||||
| o Allow the provision of external DOS files | o Allow the provision of external DOS files | ||||||
| o Set DOS keyboard according to locale | o Set DOS keyboard according to locale | ||||||
| o Allow selection of one of the existing compatible partitions (keep existing MBR) vs. full repartitioning (overwrite MBR) | o Allow selection of one of the existing compatible partitions (keep existing MBR) vs. full repartitioning (overwrite MBR) | ||||||
|  |  | ||||||
|  | @ -378,9 +378,8 @@ BOOL ExtractFreeDOS(const char* path) | ||||||
| 		filename[pos] = 0; | 		filename[pos] = 0; | ||||||
| 		safe_strcat(filename, sizeof(filename), res_name[i]); | 		safe_strcat(filename, sizeof(filename), res_name[i]); | ||||||
| 
 | 
 | ||||||
| 		// TODO: set attributes
 |  | ||||||
| 		hFile = CreateFileA(filename, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, | 		hFile = CreateFileA(filename, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, | ||||||
| 			NULL, CREATE_ALWAYS, 0, 0); | 			NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM, 0); | ||||||
| 		if (hFile == INVALID_HANDLE_VALUE) { | 		if (hFile == INVALID_HANDLE_VALUE) { | ||||||
| 			uprintf("Unable to create file '%s': %s.\n", filename, WindowsErrorString()); | 			uprintf("Unable to create file '%s': %s.\n", filename, WindowsErrorString()); | ||||||
| 			return FALSE; | 			return FALSE; | ||||||
|  | @ -392,10 +391,8 @@ BOOL ExtractFreeDOS(const char* path) | ||||||
| 			return FALSE; | 			return FALSE; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		// TODO: Restore timestamps from resource
 | 		// We don't restore timestamps for FreeDOS, as there's no metadata in the files,
 | ||||||
| //		if (!SetFileTime(hFile, &ftCreationTime, &ftLastAccessTime, &ftLastWriteTime)) {
 | 		// thus we would need to have a separate header with each file's timestamps
 | ||||||
| //			uprintf("Could not set timestamps: %s\n", WindowsErrorString());
 |  | ||||||
| //		}
 |  | ||||||
| 
 | 
 | ||||||
| 		safe_closehandle(hFile); | 		safe_closehandle(hFile); | ||||||
| 		uprintf("Succesfully wrote '%s' (%d bytes)\n", filename, res_size[i]); | 		uprintf("Succesfully wrote '%s' (%d bytes)\n", filename, res_size[i]); | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								src/rufus.c
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								src/rufus.c
									
										
									
									
									
								
							|  | @ -54,6 +54,7 @@ char szFolderPath[MAX_PATH]; | ||||||
| float fScale = 1.0f; | float fScale = 1.0f; | ||||||
| int default_fs; | int default_fs; | ||||||
| HWND hDeviceList, hCapacity, hFileSystem, hClusterSize, hLabel, hDOSType; | HWND hDeviceList, hCapacity, hFileSystem, hClusterSize, hLabel, hDOSType; | ||||||
|  | BOOL bWithFreeDOS; | ||||||
| 
 | 
 | ||||||
| static HWND hDeviceTooltip = NULL, hFSTooltip = NULL, hProgress = NULL; | static HWND hDeviceTooltip = NULL, hFSTooltip = NULL, hProgress = NULL; | ||||||
| static StrArray DriveID, DriveLabel; | static StrArray DriveID, DriveLabel; | ||||||
|  | @ -920,7 +921,11 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 		IGNORE_RETVAL(ComboBox_AddStringU(hDOSType, "WinMe")); | 		IGNORE_RETVAL(ComboBox_AddStringU(hDOSType, "WinMe")); | ||||||
| 		// TODO: enable folder selection
 | 		// TODO: enable folder selection
 | ||||||
| 		// IGNORE_RETVAL(ComboBox_AddStringU(hDOSType, "Custom"));
 | 		// IGNORE_RETVAL(ComboBox_AddStringU(hDOSType, "Custom"));
 | ||||||
| 		IGNORE_RETVAL(ComboBox_SetCurSel(hDOSType, 0)); | 		IGNORE_RETVAL(ComboBox_SetCurSel(hDOSType, bWithFreeDOS?DT_FREEDOS:DT_WINME)); | ||||||
|  | 		if (bWithFreeDOS) { | ||||||
|  | 			SetDlgItemTextA(hDlg, IDC_DOS, "Create a DOS bootable disk:"); | ||||||
|  | 			ShowWindow(hDOSType, SW_SHOW); | ||||||
|  | 		} | ||||||
| 		// Create the string array
 | 		// Create the string array
 | ||||||
| 		StrArrayCreate(&DriveID, MAX_DRIVES); | 		StrArrayCreate(&DriveID, MAX_DRIVES); | ||||||
| 		StrArrayCreate(&DriveLabel, MAX_DRIVES); | 		StrArrayCreate(&DriveLabel, MAX_DRIVES); | ||||||
|  | @ -1104,6 +1109,11 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine | ||||||
| 	SetLGP(FALSE, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoDriveTypeAutorun", 0x9e); | 	SetLGP(FALSE, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoDriveTypeAutorun", 0x9e); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|  | 	// Find out if the FreeDOS resources are embedded in the app
 | ||||||
|  | 	bWithFreeDOS = (FindResource(hMainInstance, MAKEINTRESOURCE(IDR_FD_COMMAND_COM), RT_RCDATA) != NULL) && | ||||||
|  | 		(FindResource(hMainInstance, MAKEINTRESOURCE(IDR_FD_KERNEL_SYS), RT_RCDATA) != NULL); | ||||||
|  | 	uprintf("FreeDOS resources are %sembedded with this app\n", bWithFreeDOS?"":"NOT "); | ||||||
|  | 
 | ||||||
| 	// Create the main Window
 | 	// Create the main Window
 | ||||||
| 	if ( (hDlg = CreateDialogA(hInstance, MAKEINTRESOURCEA(IDD_DIALOG), NULL, MainCallback)) == NULL ) { | 	if ( (hDlg = CreateDialogA(hInstance, MAKEINTRESOURCEA(IDD_DIALOG), NULL, MainCallback)) == NULL ) { | ||||||
| 		MessageBoxA(NULL, "Could not create Window", "DialogBox failure", MB_ICONSTOP); | 		MessageBoxA(NULL, "Could not create Window", "DialogBox failure", MB_ICONSTOP); | ||||||
|  |  | ||||||
|  | @ -146,6 +146,7 @@ extern char szFolderPath[MAX_PATH]; | ||||||
| extern DWORD FormatStatus; | extern DWORD FormatStatus; | ||||||
| extern RUFUS_DRIVE_INFO SelectedDrive; | extern RUFUS_DRIVE_INFO SelectedDrive; | ||||||
| extern const int nb_steps[FS_MAX]; | extern const int nb_steps[FS_MAX]; | ||||||
|  | extern BOOL bWithFreeDOS; | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * Shared prototypes |  * Shared prototypes | ||||||
|  |  | ||||||
							
								
								
									
										16
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -30,7 +30,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 206, 278 | IDD_DIALOG DIALOGEX 12, 12, 206, 278 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_APPWINDOW | EXSTYLE WS_EX_APPWINDOW | ||||||
| CAPTION "Rufus v1.0.3.97" | CAPTION "Rufus v1.0.3.98" | ||||||
| FONT 8, "MS Shell Dlg", 400, 0, 0x1 | FONT 8, "MS Shell Dlg", 400, 0, 0x1 | ||||||
| BEGIN | BEGIN | ||||||
|     DEFPUSHBUTTON   "Start",IDC_START,94,236,50,14 |     DEFPUSHBUTTON   "Start",IDC_START,94,236,50,14 | ||||||
|  | @ -48,10 +48,10 @@ BEGIN | ||||||
|     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,171,10 |     CONTROL         "Check device for bad blocks",IDC_BADBLOCKS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,161,171,10 | ||||||
|     CONTROL         "Quick Format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,58,10 |     CONTROL         "Quick Format",IDC_QUICKFORMAT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,173,58,10 | ||||||
|     CONTROL         "Create a DOS bootable disk:",IDC_DOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,101,10 |     CONTROL         "Create a DOS bootable disk",IDC_DOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,185,101,10 | ||||||
|     LTEXT           "New volume label",IDC_STATIC,9,121,105,10 |     LTEXT           "New volume label",IDC_STATIC,9,121,105,10 | ||||||
|     CONTROL         "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,210,189,9 |     CONTROL         "",IDC_PROGRESS,"msctls_progress32",PBS_SMOOTH | WS_BORDER,7,210,189,9 | ||||||
|     COMBOBOX        IDC_DOSTYPE,116,183,45,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP |     COMBOBOX        IDC_DOSTYPE,116,183,45,30,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ||||||
| END | END | ||||||
| 
 | 
 | ||||||
| IDD_ABOUTBOX DIALOGEX 0, 0, 287, 195 | IDD_ABOUTBOX DIALOGEX 0, 0, 287, 195 | ||||||
|  | @ -65,7 +65,7 @@ BEGIN | ||||||
|     DEFPUSHBUTTON   "OK",IDOK,231,175,50,14,WS_GROUP |     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, |     CONTROL         "<a href=""http://rufus.akeo.ie"">http://rufus.akeo.ie</a>",IDC_ABOUT_RUFUS_URL, | ||||||
|                     "SysLink",WS_TABSTOP,46,47,114,9 |                     "SysLink",WS_TABSTOP,46,47,114,9 | ||||||
|     LTEXT           "Version 1.0.3 (Build 97)",IDC_STATIC,46,19,78,8 |     LTEXT           "Version 1.0.3 (Build 98)",IDC_STATIC,46,19,78,8 | ||||||
|     PUSHBUTTON      "License...",IDC_ABOUT_LICENSE,46,175,50,14,WS_GROUP |     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 |     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 |     LTEXT           "Report bugs or request enhancements at:",IDC_STATIC,46,66,187,8 | ||||||
|  | @ -170,8 +170,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 1,0,3,97 |  FILEVERSION 1,0,3,98 | ||||||
|  PRODUCTVERSION 1,0,3,97 |  PRODUCTVERSION 1,0,3,98 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -188,13 +188,13 @@ BEGIN | ||||||
|         BEGIN |         BEGIN | ||||||
|             VALUE "CompanyName", "akeo.ie" |             VALUE "CompanyName", "akeo.ie" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "1.0.3.97" |             VALUE "FileVersion", "1.0.3.98" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011 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.0.3.97" |             VALUE "ProductVersion", "1.0.3.98" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue