MSFN Forum: HFSVCPACK and HDD based installation - bug & fix - MSFN Forum

Jump to content


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

HFSVCPACK and HDD based installation - bug & fix Rate Topic: -----

#1 User is offline   tomasz86 

  • http://www.windows2000.tk
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,220
  • Joined: 27-November 10
  • OS:Windows 2000 Professional
  • Country: Country Flag

Posted 05 October 2012 - 01:37 PM

As you know, it's possible to slipstream REG files from the HFSVCPACK folder. The problem is that this only works if the system is installed from a CD / other removable device.

HFSLIP creates a file called "HFSLIP.CMD" and this file is executed from SVCPACK.

This is the problematic part:

FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\I386\SVCPACK (
	SET HFSLIP=%%i:\I386\
	SET HFSLIPSVC=%%i:\I386\SVCPACK\
)

and the part responsible for adding REG files (example):

START/WAIT %SYSTEMROOT%\REGEDIT.EXE /S "%HFSLIPSVC%IE6.0sp1-KB834158-x86-ENU.reg"
START/WAIT %SYSTEMROOT%\REGEDIT.EXE /S "%HFSLIPSVC%IE6.0sp1-KB893627-Windows-2000-XP-x86-ENU.reg"

The script checks for presence of I386\SVCPACK in the root of all drives and when it finds it then the two variables are set, ex. if the CD-ROM is "D:" then HFSLIPSVC will be set to "D:\i386\SVCPACK\". The problem is that when you install the system from HDD the path is different. It's not just "I386" but rather "$WIN_NT$.~LS\I386".

I've modified the script like this:

FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
	IF EXIST %%i:\I386\SVCPACK (
		SET HFSLIP=%%i:\I386\
		SET HFSLIPSVC=%%i:\I386\SVCPACK\
	) ELSE (
		IF EXIST %%i:\$WIN_NT$.~LS\I386\SVCPACK (
			SET HFSLIP=%%i:\$WIN_NT$.~LS\I386\
			SET HFSLIPSVC=%%i:\$WIN_NT$.~LS\I386\SVCPACK\
		)
	)
)

Now it still checks for the presence of I386\SVCPACK but if it doesn't exist then it also checks for $WIN_NT$.~LS\I386\SVCPACK.

That was HFSLIP.CMD and below is the HFSLIP script itself.

Original:
REM ======================UPDATE_INIT=====================================================
:UPDATE_INIT
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFF
IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIP
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD FOR %%%%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%%%i:\%MBOOTPATH%I386\SVCPACK (
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIP=%%%%i:\%MBOOTPATH%I386\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIPSVC=%%%%i:\%MBOOTPATH%I386\SVCPACK\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD )
GOTO :EOF
REM ======================================================================================


Fixed:
REM ======================UPDATE_INIT=====================================================
:UPDATE_INIT
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFF
IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIP
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD FOR %%%%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD  IF EXIST %%%%i:\%MBOOTPATH%I386\SVCPACK (
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	 SET HFSLIP=%%%%i:\%MBOOTPATH%I386\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	 SET HFSLIPSVC=%%%%i:\%MBOOTPATH%I386\SVCPACK\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD  ) ELSE (
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD   IF EXIST %%%%i:\$WIN_NT$.~LS\I386\SVCPACK (
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD    SET HFSLIP=%%%%i:\$WIN_NT$.~LS\I386\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD    SET HFSLIPSVC=%%%%i:\$WIN_NT$.~LS\I386\SVCPACK\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD   )
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD  )
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD )
GOTO :EOF
REM ======================================================================================

This post has been edited by tomasz86: 05 October 2012 - 01:37 PM



#2 User is offline   Acheron 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 935
  • Joined: 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag

Posted 11 October 2012 - 03:51 AM

I replaced the code with the following:

:UPDATE_INIT
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFF
IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIP
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIP=%%~dp0..\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIPSVC=%%~dp0
GOTO :EOF


This works just as good.

#3 User is offline   tomasz86 

  • http://www.windows2000.tk
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,220
  • Joined: 27-November 10
  • OS:Windows 2000 Professional
  • Country: Country Flag

Posted 11 October 2012 - 03:58 AM

View PostAcheron, on 11 October 2012 - 03:51 AM, said:

I replaced the code with the following:

:UPDATE_INIT
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFF
IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIP
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIP=%%~dp0..\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIPSVC=%%~dp0
GOTO :EOF


This works just as good.

What if the source folder is located on a different partition? :unsure:

#4 User is offline   Acheron 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 935
  • Joined: 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag

Posted 11 October 2012 - 04:56 AM

The lines you modified are added to the HFSLIP.CMD batch file. When this batch file is executed you can get the location of the SVCPACK folder using the %~dp0 variable.

#5 User is offline   mukke 

  • Newbie
  • Group: Members
  • Posts: 30
  • Joined: 25-January 08

Posted 13 October 2012 - 07:43 PM

View PostAcheron, on 11 October 2012 - 03:51 AM, said:

I replaced the code with the following:

:UPDATE_INIT
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFF
IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIP
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIP=%%~dp0..\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIPSVC=%%~dp0
GOTO :EOF


This works just as good.


That could/should have been implemented into HFSLIP about 3½ years ago, but dont blame tommyp for not doing so..

#6 User is offline   Acheron 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 935
  • Joined: 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag

Posted 21 October 2012 - 04:58 AM

View Postmukke, on 13 October 2012 - 07:43 PM, said:

View PostAcheron, on 11 October 2012 - 03:51 AM, said:

I replaced the code with the following:

:UPDATE_INIT
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFF
IF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIP
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIP=%%~dp0..\
ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD 	SET HFSLIPSVC=%%~dp0
GOTO :EOF


This works just as good.


That could/should have been implemented into HFSLIP about 3½ years ago, but dont blame tommyp for not doing so..


I don't see why this method wouldn't work when installing from a network. Anyway there are lots of other improvements that never made it into an official HFSLIP release.

#7 User is offline   tomasz86 

  • http://www.windows2000.tk
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,220
  • Joined: 27-November 10
  • OS:Windows 2000 Professional
  • Country: Country Flag

Posted 11 November 2012 - 01:14 PM

View PostAcheron, on 11 October 2012 - 04:56 AM, said:

The lines you modified are added to the HFSLIP.CMD batch file. When this batch file is executed you can get the location of the SVCPACK folder using the %~dp0 variable.

I've tested your method and it works perfectly indeed. This fix SHOULD really be added to HFSLIP.

#8 User is offline   Mim0 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 703
  • Joined: 23-September 08

Posted 07 February 2013 - 03:09 AM

View Posttomasz86, on 11 November 2012 - 01:14 PM, said:

I've tested your method and it works perfectly indeed. This fix SHOULD really be added to HFSLIP.
Sorry guys for the late reaction...

It seems to work very well what Acheron has figured out already years ago. I would upload this today...

Feb 07, 2013 - Added support for HDD- and network-based installations. Thx to Acheron, Beta J v11


#9 User is offline   tomasz86 

  • http://www.windows2000.tk
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,220
  • Joined: 27-November 10
  • OS:Windows 2000 Professional
  • Country: Country Flag

Posted 07 February 2013 - 03:41 AM

Thanks Mim0 :)

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy