From 9e12bbeae6ef3d318bb63b7807997baa95d2c67d Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Tue, 9 Nov 2004 15:02:35 +0000 Subject: [PATCH] baseaddress.cfg - Add entry for midimap.dll. Fix msacm's base address. It was conflicting with iplhapi and generated an unncessary relocation and error message. Makefile - Add entry for midimap.dll, Build mmdrv because it's trying to get loaded at system startup and that caused an error bootdata/hivedef.inf - Create PaintDesktopVersion key and set it to 0. Win32k was trying to read this value and gave an error message because it did not exist. lib/samlib/samlib.c - Silence samlib for informational messages that aren't errors.(if NDEBUG is on) lib/userenv/directory.c -Silence for informational messages that aren't errors (if NDEBUG is on) lib/setupapi/devinst.c - Turn SetupDiInstallClassW blank debug message into something a little more informational. lib/syssetup/install.c - Make syssetup check if samlib returned ERROR_USER_EXISTS, in which case instead of pointlessly rebooting (which probably never allowed the user to actually setup ros...if error_user_Exists is returned it means that setup was abandonned for some reason, so we would want to restart it instead of giving up), it will restart setup. svn path=/trunk/; revision=11606 --- reactos/Makefile | 6 ++--- reactos/baseaddress.cfg | 7 ++--- reactos/bootdata/hivedef.inf | 1 + reactos/lib/samlib/samlib.c | 26 +++++++++---------- reactos/lib/setupapi/devinst.c | 2 +- reactos/lib/syssetup/install.c | 19 ++++++++++---- reactos/lib/userenv/directory.c | 6 ++--- .../lib/winmm/midimap/Makefile.ros-template | 6 ++--- 8 files changed, 42 insertions(+), 31 deletions(-) diff --git a/reactos/Makefile b/reactos/Makefile index 536f564dce7..45c9cfd76b8 100644 --- a/reactos/Makefile +++ b/reactos/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.258 2004/11/08 00:34:45 weiden Exp $ +# $Id: Makefile,v 1.259 2004/11/09 15:02:34 ion Exp $ # # Global makefile # @@ -52,8 +52,8 @@ DLLS_SHELLEXT = shellext # User mode libraries # libpcap packet epsapi DLLS = acledit aclui advapi32 advpack cabinet cards comctl32 crtdll comdlg32 d3d8thk expat fmifs freetype \ - gdi32 gdiplus glu32 hid imagehlp imm32 iphlpapi kernel32 lzexpand mesa32 mpr msacm msafd msgina \ - msimg32 msvcrt20 msvideo mswsock netapi32 ntdll ole32 oleaut32 oledlg opengl32 packet psapi \ + gdi32 gdiplus glu32 hid imagehlp imm32 iphlpapi kernel32 lzexpand mesa32 midimap mmdrv mpr msacm msafd \ + msgina msimg32 msvcrt20 msvideo mswsock netapi32 ntdll ole32 oleaut32 oledlg opengl32 packet psapi \ richedit rpcrt4 samlib secur32 setupapi shell32 shlwapi snmpapi syssetup twain unicode user32 \ userenv version wininet winmm winspool ws2help ws2_32 wsock32 wshirda \ dnsapi \ diff --git a/reactos/baseaddress.cfg b/reactos/baseaddress.cfg index 28ae62af2cb..726cc29da54 100644 --- a/reactos/baseaddress.cfg +++ b/reactos/baseaddress.cfg @@ -1,4 +1,4 @@ -# $Id: baseaddress.cfg,v 1.25 2004/11/07 18:41:19 weiden Exp $ +# $Id: baseaddress.cfg,v 1.26 2004/11/09 15:02:34 ion Exp $ # # Please try to keep this up2date. Please clean up # after yourself. @@ -10,7 +10,6 @@ TARGET_BASE_LIB_SECURE32 =0x10000000 TARGET_BASE_LIB_DINPUT =0x50000000 TARGET_BASE_LIB_DSOUND =0x50000000 TARGET_BASE_LIB_GLU32 =0x50000000 -TARGET_BASE_LIB_MMDRV =0x50000000 TARGET_BASE_LIB_OPENGL32 =0x50000000 TARGET_BASE_LIB_EXT_SLAYER =0x5C7E0000 TARGET_BASE_LIB_CPL_TIMEDATE =0x64DA0000 @@ -49,6 +48,7 @@ TARGET_BASE_LIB_MSGINA =0x75970000 TARGET_BASE_LIB_COMMCTRL =0x75e60000 TARGET_BASE_LIB_IMM32 =0x75e60000 TARGET_BASE_LIB_RPCRT4 =0x76000000 +TARGET_BASE_LIB_MIDIMAP =0x76600000 TARGET_BASE_LIB_SHLWAPI =0x76120000 TARGET_BASE_LIB_COMCTL32 =0x76160000 TARGET_BASE_LIB_COMDLG32 =0x76200000 @@ -65,7 +65,8 @@ TARGET_BASE_LIB_IMAGEHLP =0x76c90000 TARGET_BASE_LIB_FMIFS =0x76df0000 TARGET_BASE_LIB_SHELL32 =0x77260000 TARGET_BASE_LIB_IPHLPAPI =0x77300000 -TARGET_BASE_LIB_MSACM =0x77300000 +TARGET_BASE_LIB_MSACM =0x77400000 +TARGET_BASE_LIB_MMDRV =0x77500000 TARGET_BASE_LIB_CRTDLL =0x77630000 TARGET_BASE_LIB_PACKET =0x77780000 TARGET_BASE_LIB_W2_32 =0x77780000 diff --git a/reactos/bootdata/hivedef.inf b/reactos/bootdata/hivedef.inf index d99d1e3ff3f..f3df7ea3fde 100644 --- a/reactos/bootdata/hivedef.inf +++ b/reactos/bootdata/hivedef.inf @@ -8,6 +8,7 @@ HKCU,"Control Panel\Appearance",,0x00000012 HKCU,"Control Panel\Desktop","AutoEndTasks",0x00000002,"0" HKCU,"Control Panel\Desktop","CursorBlinkRate",0x00000002,"530" HKCU,"Control Panel\Desktop","DragFullWindows",0x00000002,"0" +HKCU,"Control Panel\Desktop","PaintDesktopVersion",0x00010001,"0" HKCU,"Control Panel\Desktop","HungAppTimeout",0x00000002,"5000" HKCU,"Control Panel\Desktop","WaitToKillAppTimeout",0x00000002,"20000" HKCU,"Control Panel\Desktop","Wallpaper",0x00000000,"" diff --git a/reactos/lib/samlib/samlib.c b/reactos/lib/samlib/samlib.c index e163a0c33df..7d8529f582e 100644 --- a/reactos/lib/samlib/samlib.c +++ b/reactos/lib/samlib/samlib.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: samlib.c,v 1.3 2004/07/05 22:33:14 royce Exp $ +/* $Id: samlib.c,v 1.4 2004/11/09 15:02:35 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -76,7 +76,7 @@ SamInitializeSAM (VOID) HKEY hGroupsKey; HKEY hUsersKey; - DPRINT1("SamInitializeSAM() called\n"); + DPRINT("SamInitializeSAM() called\n"); if (RegCreateKeyExW (HKEY_LOCAL_MACHINE, L"SAM\\SAM", @@ -298,7 +298,7 @@ SamInitializeSAM (VOID) RegCloseKey (hDomainsKey); - DPRINT1 ("SamInitializeSAM() done\n"); + DPRINT ("SamInitializeSAM() done\n"); return TRUE; } @@ -307,7 +307,7 @@ SamInitializeSAM (VOID) BOOL STDCALL SamGetDomainSid (PSID *Sid) { - DPRINT1 ("SamGetDomainSid() called\n"); + DPRINT ("SamGetDomainSid() called\n"); return FALSE; } @@ -318,7 +318,7 @@ SamSetDomainSid (PSID Sid) { HKEY hAccountKey; - DPRINT1 ("SamSetDomainSid() called\n"); + DPRINT ("SamSetDomainSid() called\n"); if (RegOpenKeyExW (HKEY_LOCAL_MACHINE, L"SAM\\SAM\\Domains\\Account", @@ -344,7 +344,7 @@ SamSetDomainSid (PSID Sid) RegCloseKey (hAccountKey); - DPRINT1 ("SamSetDomainSid() called\n"); + DPRINT ("SamSetDomainSid() called\n"); return TRUE; } @@ -362,7 +362,7 @@ SamCreateUser (PWSTR UserName, HKEY hUsersKey; HKEY hUserKey; - DPRINT1 ("SamCreateUser() called\n"); + DPRINT ("SamCreateUser() called\n"); /* FIXME: Check whether the SID is a real user sid */ @@ -445,7 +445,7 @@ SamCreateUser (PWSTR UserName, RegCloseKey (hUserKey); - DPRINT1 ("SamCreateUser() done\n"); + DPRINT ("SamCreateUser() done\n"); return TRUE; } @@ -464,7 +464,7 @@ SamCheckUserPassword (PWSTR UserName, HKEY hUsersKey; HKEY hUserKey; - DPRINT1 ("SamCheckUserPassword() called\n"); + DPRINT ("SamCheckUserPassword() called\n"); /* Open the Users key */ if (RegOpenKeyExW (HKEY_LOCAL_MACHINE, @@ -525,7 +525,7 @@ SamCheckUserPassword (PWSTR UserName, return FALSE; } - DPRINT1 ("SamCheckUserPassword() done\n"); + DPRINT ("SamCheckUserPassword() done\n"); return TRUE; } @@ -540,7 +540,7 @@ SamGetUserSid (PWSTR UserName, HKEY hUsersKey; HKEY hUserKey; - DPRINT1 ("SamGetUserSid() called\n"); + DPRINT ("SamGetUserSid() called\n"); if (Sid != NULL) *Sid = NULL; @@ -594,7 +594,7 @@ SamGetUserSid (PWSTR UserName, } /* Allocate sid buffer */ - DPRINT1 ("Required SID buffer size: %lu\n", dwLength); + DPRINT ("Required SID buffer size: %lu\n", dwLength); lpSid = (PSID)RtlAllocateHeap (RtlGetProcessHeap (), 0, dwLength); @@ -625,7 +625,7 @@ SamGetUserSid (PWSTR UserName, *Sid = lpSid; - DPRINT1 ("SamGetUserSid() done\n"); + DPRINT ("SamGetUserSid() done\n"); return TRUE; } diff --git a/reactos/lib/setupapi/devinst.c b/reactos/lib/setupapi/devinst.c index 377393b1653..a571ea44b63 100644 --- a/reactos/lib/setupapi/devinst.c +++ b/reactos/lib/setupapi/devinst.c @@ -927,7 +927,7 @@ BOOL WINAPI SetupDiInstallClassW( HKEY hClassKey; - FIXME("\n"); + FIXME("Incomplete function.\n"); if ((Flags & DI_NOVCP) && (FileQueue == NULL || FileQueue == INVALID_HANDLE_VALUE)) { diff --git a/reactos/lib/syssetup/install.c b/reactos/lib/syssetup/install.c index 8c36857be58..62241b2fe29 100644 --- a/reactos/lib/syssetup/install.c +++ b/reactos/lib/syssetup/install.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: install.c,v 1.17 2004/10/19 14:33:07 ekohl Exp $ +/* $Id: install.c,v 1.18 2004/11/09 15:02:35 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -312,6 +312,7 @@ InstallReactOS (HINSTANCE hInstance) #if 0 UNICODE_STRING SidString; #endif + ULONG LastError; if (!InitializeProfiles ()) { @@ -361,10 +362,18 @@ InstallReactOS (HINSTANCE hInstance) /* Create the Administrator account */ if (!SamCreateUser(L"Administrator", L"", AdminSid)) { - DebugPrint("SamCreateUser() failed!\n"); - RtlFreeSid(AdminSid); - RtlFreeSid(DomainSid); - return 0; + /* Check what the error was. + * If the Admin Account already exists, then it means Setup + * wasn't allowed to finish properly. Instead of rebooting + * and not completing it, let it restart instead + */ + LastError = GetLastError(); + if (LastError != ERROR_USER_EXISTS) { + DebugPrint("SamCreateUser() failed!\n"); + RtlFreeSid(AdminSid); + RtlFreeSid(DomainSid); + return 0; + } } /* Create the Administrator profile */ diff --git a/reactos/lib/userenv/directory.c b/reactos/lib/userenv/directory.c index 9436974e6d7..631d90a01a0 100644 --- a/reactos/lib/userenv/directory.c +++ b/reactos/lib/userenv/directory.c @@ -16,7 +16,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* $Id: directory.c,v 1.6 2004/09/30 20:23:00 ekohl Exp $ +/* $Id: directory.c,v 1.7 2004/11/09 15:02:35 ion Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -94,7 +94,7 @@ CopyDirectory (LPCWSTR lpDestinationPath, } else { - DPRINT1 ("Copy file: %S -> %S\n", szFullSrcName, szFullDstName); + DPRINT ("Copy file: %S -> %S\n", szFullSrcName, szFullDstName); if (!CopyFileW (szFullSrcName, szFullDstName, FALSE)) { DPRINT1 ("Error: %lu\n", GetLastError()); @@ -284,7 +284,7 @@ RemoveDirectoryPath (LPCWSTR lpPathName) if (!RecursiveRemoveDir (lpPathName)) return FALSE; - DPRINT1 ("Delete directory: '%S'\n", lpPathName); + DPRINT ("Delete directory: '%S'\n", lpPathName); return RemoveDirectoryW (lpPathName); } diff --git a/reactos/lib/winmm/midimap/Makefile.ros-template b/reactos/lib/winmm/midimap/Makefile.ros-template index ff7f0a609b3..e20d10eb0bc 100644 --- a/reactos/lib/winmm/midimap/Makefile.ros-template +++ b/reactos/lib/winmm/midimap/Makefile.ros-template @@ -1,4 +1,4 @@ -# $Id: Makefile.ros-template,v 1.2 2004/08/02 14:58:59 navaraf Exp $ +# $Id: Makefile.ros-template,v 1.3 2004/11/09 15:02:35 ion Exp $ TARGET_NAME = midimap @@ -8,13 +8,13 @@ TARGET_CFLAGS = @EXTRADEFS@ -D__REACTOS__ TARGET_SDKLIBS = @IMPORTS@ winmm.a libwine.a wine_uuid.a ntdll.a -TARGET_BASE = 0x76160000 +TARGET_BASE = $(TARGET_LIB_BASE_MIDIMAP) TARGET_RC_SRCS = @RC_SRCS@ TARGET_RC_BINSRC = @RC_BINSRC@ TARGET_RC_BINARIES = @RC_BINARIES@ -TARGET_EXTENSION = .drv +TARGET_EXTENSION = .dll default: all