Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

HFSVCPACK and HDD based installation - bug & fix

- - - - -

  • Please log in to reply
8 replies to this topic

#1
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • Joined 27-November 10
  • OS:none specified
  • Country: Country Flag
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 ======================================================================================

Edited by tomasz86, 05 October 2012 - 01:37 PM.

post-47483-1123010975.png



How to remove advertisement from MSFN

#2
Acheron

Acheron

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 988 posts
  • Joined 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag
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.
Say no to bloatware. Download Nero Lite!

#3
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • Joined 27-November 10
  • OS:none specified
  • Country: Country Flag

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:

post-47483-1123010975.png


#4
Acheron

Acheron

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 988 posts
  • Joined 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag
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.
Say no to bloatware. Download Nero Lite!

#5
mukke

mukke

    Newbie

  • Member
  • 43 posts
  • Joined 25-January 08

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
Acheron

Acheron

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 988 posts
  • Joined 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag


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.
Say no to bloatware. Download Nero Lite!

#7
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • Joined 27-November 10
  • OS:none specified
  • Country: Country Flag

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.

post-47483-1123010975.png


#8
Mim0

Mim0

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 768 posts
  • Joined 23-September 08

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
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,528 posts
  • Joined 27-November 10
  • OS:none specified
  • Country: Country Flag
Thanks Mim0 :)

post-47483-1123010975.png





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users