diff --git a/base/services/tcpsvcs/log.c b/base/services/tcpsvcs/log.c index 3b2d467d712..ef25909b0b7 100644 --- a/base/services/tcpsvcs/log.c +++ b/base/services/tcpsvcs/log.c @@ -12,7 +12,7 @@ #define DEBUG static LPWSTR lpEventSource = L"tcpsvcs"; -static LPCWSTR lpLogFileName = L"C:\\tcpsvcs_log.log"; +static WCHAR szLogFileName[MAX_PATH]; static HANDLE hLogFile = NULL; static OVERLAPPED olWrite; @@ -47,7 +47,7 @@ LogToEventLog(LPCWSTR lpMsg, static BOOL OpenLogFile() { - hLogFile = CreateFileW(lpLogFileName, + hLogFile = CreateFileW(szLogFileName, GENERIC_WRITE, FILE_SHARE_READ, NULL, @@ -212,13 +212,19 @@ InitLogging() #ifdef DEBUG BOOL bRet = FALSE; + if (!GetEnvironmentVariableW(L"SystemDrive", szLogFileName, ARRAYSIZE(szLogFileName))) + { + StringCchCopyW(szLogFileName, ARRAYSIZE(szLogFileName), L"C:"); + } + StringCchCatW(szLogFileName, ARRAYSIZE(szLogFileName), L"\\tcpsvcs_log.log"); + ZeroMemory(&olWrite, sizeof(OVERLAPPED)); olWrite.Offset = 0xFFFFFFFF; olWrite.OffsetHigh = 0xFFFFFFFF; olWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); if (olWrite.hEvent) { - DeleteFileW(lpLogFileName); + DeleteFileW(szLogFileName); if (OpenLogFile()) { diff --git a/base/services/tcpsvcs/tcpsvcs.h b/base/services/tcpsvcs/tcpsvcs.h index b024e7c2513..9c5b16b5ce9 100644 --- a/base/services/tcpsvcs/tcpsvcs.h +++ b/base/services/tcpsvcs/tcpsvcs.h @@ -9,6 +9,7 @@ #define _INC_WINDOWS #include #include +#include #define LOG_FILE 1 #define LOG_EVENTLOG 2 diff --git a/base/setup/usetup/bootsup.c b/base/setup/usetup/bootsup.c index 309e096d39e..37cd6800290 100644 --- a/base/setup/usetup/bootsup.c +++ b/base/setup/usetup/bootsup.c @@ -2378,6 +2378,8 @@ InstallFatBootcodeToPartition( /* Update 'boot.ini' */ CombinePaths(DstPath, ARRAYSIZE(DstPath), 2, SystemRootPath->Buffer, L"boot.ini"); + /* Windows' NTLDR loads an external bootsector file when the specified drive + letter is C:, otherwise it will interpret it as a boot DOS path specifier. */ DPRINT1("Update 'boot.ini': %S\n", DstPath); Status = UpdateBootIni(DstPath, L"C:\\bootsect.ros",