- Fixed the destination path for installing freeldr on a floppy. - Used NtOpenFile for accessing the mbr or the boot sector. Modified: trunk/reactos/subsys/system/usetup/bootsup.c _____
Modified: trunk/reactos/subsys/system/usetup/bootsup.c --- trunk/reactos/subsys/system/usetup/bootsup.c 2005-04-10 05:00:27 UTC (rev 14567) +++ trunk/reactos/subsys/system/usetup/bootsup.c 2005-04-10 10:16:37 UTC (rev 14568) @@ -1134,19 +1134,15 @@
NULL, NULL);
- Status = NtCreateFile(&FileHandle, - FILE_WRITE_ACCESS, - &ObjectAttributes, - &IoStatusBlock, - NULL, - FILE_ATTRIBUTE_NORMAL, - 0, - FILE_OVERWRITE_IF, - FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY, - NULL, - 0); + Status = NtOpenFile(&FileHandle, + FILE_WRITE_ACCESS | FILE_WRITE_ATTRIBUTES, + &ObjectAttributes, + &IoStatusBlock, + 0, + FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY); if (!NT_SUCCESS(Status)) { + DPRINT1("NtOpenFile() failed (Status %lx)\n", Status); RtlFreeHeap(ProcessHeap, 0, NewBootSector); return(Status); } @@ -1295,19 +1291,15 @@ NULL, NULL);
- Status = NtCreateFile(&FileHandle, - FILE_WRITE_ACCESS, - &ObjectAttributes, - &IoStatusBlock, - NULL, - FILE_ATTRIBUTE_NORMAL, - 0, - FILE_OVERWRITE_IF, - FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY, - NULL, - 0); + Status = NtOpenFile(&FileHandle, + FILE_WRITE_ACCESS | FILE_WRITE_ATTRIBUTES, + &ObjectAttributes, + &IoStatusBlock, + 0, + FILE_SYNCHRONOUS_IO_NONALERT | FILE_SEQUENTIAL_ONLY); if (!NT_SUCCESS(Status)) { + DPRINT1("NtOpenFile() failed (Status %lx)\n", Status); RtlFreeHeap(ProcessHeap, 0, NewBootSector); return(Status); } @@ -2080,7 +2072,7 @@ wcscpy(SrcPath, SourceRootPath->Buffer); wcscat(SrcPath, L"\loader\freeldr.sys");
- wcscat(DstPath, L"\Device\Floppy0\freeldr.sys"); + wcscpy(DstPath, L"\Device\Floppy0\freeldr.sys");
DPRINT("Copy: %S ==> %S\n", SrcPath, DstPath); Status = SetupCopyFile(SrcPath, DstPath); @@ -2091,7 +2083,7 @@ }
/* Create new 'freeldr.ini' */ - wcscat(DstPath, L"\Device\Floppy0\freeldr.ini"); + wcscpy(DstPath, L"\Device\Floppy0\freeldr.ini");
DPRINT("Create new 'freeldr.ini'\n"); Status = CreateFreeLoaderIniForReactos(DstPath, @@ -2106,7 +2098,7 @@ wcscpy(SrcPath, SourceRootPath->Buffer); wcscat(SrcPath, L"\loader\fat.bin");
- wcscat(DstPath, L"\Device\Floppy0"); + wcscpy(DstPath, L"\Device\Floppy0");
DPRINT("Install FAT bootcode: %S ==> %S\n", SrcPath, DstPath); Status = InstallFat16BootCodeToDisk(SrcPath,