added preparations for installing .INF files (for class installers) during setup, added Reactos\Inf

svn path=/trunk/; revision=10219
This commit is contained in:
Gero Kuehn 2004-07-19 01:33:48 +00:00
parent 48316edcd9
commit 42d52c68a5
5 changed files with 90 additions and 4 deletions

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.235 2004/07/10 21:44:14 sedwards Exp $
# $Id: Makefile,v 1.236 2004/07/19 01:33:48 kuehng Exp $
#
# Global makefile
#
@ -809,6 +809,7 @@ install_clean:
$(RM) $(INSTALL_DIR)/symbols/*.*
$(RM) $(INSTALL_DIR)/media/fonts/*.*
$(RM) $(INSTALL_DIR)/media/*.*
$(RM) $(INSTALL_DIR)/inf/*.*
$(RM) $(INSTALL_DIR)/bin/*.*
$(RM) $(INSTALL_DIR)/*.com
$(RM) $(INSTALL_DIR)/*.bat
@ -818,12 +819,14 @@ install_clean:
$(RMDIR) $(INSTALL_DIR)/symbols
$(RMDIR) $(INSTALL_DIR)/media/fonts
$(RMDIR) $(INSTALL_DIR)/media
$(RMDIR) $(INSTALL_DIR)/inf
$(RMDIR) $(INSTALL_DIR)/bin
$(RMDIR) $(INSTALL_DIR)
install_dirs:
$(RMKDIR) $(INSTALL_DIR)
$(RMKDIR) $(INSTALL_DIR)/bin
$(RMKDIR) $(INSTALL_DIR)/inf
$(RMKDIR) $(INSTALL_DIR)/media
$(RMKDIR) $(INSTALL_DIR)/media/fonts
$(RMKDIR) $(INSTALL_DIR)/symbols
@ -836,6 +839,7 @@ install_before:
$(CP) bootc.lst $(INSTALL_DIR)/bootc.lst
$(CP) boot.bat $(INSTALL_DIR)/boot.bat
$(CP) aboot.bat $(INSTALL_DIR)/aboot.bat
$(CP) media/inf $(INSTALL_DIR)/inf
$(CP) media/fonts $(INSTALL_DIR)/media/fonts
$(CP) media/nls $(INSTALL_DIR)/system32
$(CP) media/nls/c_1252.nls $(INSTALL_DIR)/system32/ansi.nls

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.9 2004/05/29 21:24:47 hbirr Exp $
# $Id: Makefile,v 1.10 2004/07/19 01:33:14 kuehng Exp $
PATH_TO_TOP = ../..
@ -15,7 +15,7 @@ TARGET_CFLAGS = -Wall -Werror -fno-builtin
TARGET_CFLAGS += -D__USE_W32API -D_WIN32_IE=0x0500
TARGET_RCFLAGS += -D__USE_W32API -D_WIN32_IE=0x0500
TARGET_LFLAGS = -nostartfiles -nostdlib
TARGET_LFLAGS = -nostartfiles
TARGET_OBJECTS = dllmain.o install.o logfile.o wizard.o

View file

@ -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.13 2004/06/24 09:17:33 gvg Exp $
/* $Id: install.c,v 1.14 2004/07/19 01:33:14 kuehng Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries
@ -31,6 +31,8 @@
#include <windows.h>
#include <commctrl.h>
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include <samlib.h>
#include <syssetup.h>
@ -248,6 +250,41 @@ CreateTempDir(LPCWSTR VarName)
RegCloseKey (hKey);
}
BOOL ProcessSysSetupInf(void)
{
#define SECTIONBUF_SIZE 4096
TCHAR *pBuf2;
TCHAR pBuf[SECTIONBUF_SIZE];
SetLastError(0);
DWORD dwBufSize = GetPrivateProfileSection(_T("DeviceInfsToInstall"),pBuf,SECTIONBUF_SIZE,_T("Inf\\SYSSETUP.INF"));
// fix this first...
if(GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
return TRUE;
if(dwBufSize == SECTIONBUF_SIZE-2)
return FALSE;
if(!dwBufSize)
return FALSE;
pBuf2=pBuf;
while(*pBuf2)
{
OutputDebugString(_T("Calling Class Installer for "));
OutputDebugString(pBuf2);
OutputDebugString(_T("\r\n"));
// Currently unsupported
// if(!SetupDiInstallClass(NULL,pBuf2,DI_QUIETINSTALL,NULL))
// return FALSE;
pBuf2+=_tcslen(pBuf2)+1;
}
return TRUE;
}
DWORD STDCALL
InstallReactOS (HINSTANCE hInstance)
{
@ -343,6 +380,11 @@ InstallReactOS (HINSTANCE hInstance)
CreateTempDir(L"TEMP");
CreateTempDir(L"TMP");
if(!ProcessSysSetupInf())
{
DebugPrint("ProcessSysSetupInf() failed!\n");
return 0;
}
#if 1
InstallWizard ();
#endif

View file

@ -0,0 +1,24 @@
; Network.INF
;
; Installation file for the Net class
;
[version]
LayoutFile = layout.inf
signature = "$Reactos$"
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
provider = %Reactos%
DriverVer=10/19/1999,5.00.2157.1
[ClassInstall32.NT]
AddReg = NetClass.NT.AddReg
[NetClass.NT.AddReg]
HKR, , , 0, %DisplayClassName%
HKR, , EnumPropPages32, 0, "NetCfgx.dll,NetPropPageProvider"
HKR, , Icon, 0, "-5"
HKR, , Installer32, 0, "NetCfgx.dll,NetClassInstaller"
[Strings]
Reactos="Reactos Team"
ClassName="Network adapters"

View file

@ -0,0 +1,16 @@
;
; For Windows, this file controls various aspects of the Installation and
; Upgrade process. If you know a good documentation about this file,
; please add a link here.
;
;
[Version]
signature="$Reactos$"
ClassGUID={00000000-0000-0000-0000-000000000000}
; These .INFs install the device classes
[DeviceInfsToInstall]
; MS uses netnovel.inf as class-installer INF for NICs
; we use a separate one to keep things clean
NET_NIC.inf