tomasz86 Posted October 5, 2012 Share Posted October 5, 2012 (edited) 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_INITECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFFIF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIPECHO>>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 :EOFREM ======================================================================================Fixed:REM ======================UPDATE_INIT=====================================================:UPDATE_INITECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFFIF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIPECHO>>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 :EOFREM ====================================================================================== Edited October 5, 2012 by tomasz86 Link to comment Share on other sites More sharing options...
Acheron Posted October 11, 2012 Share Posted October 11, 2012 I replaced the code with the following::UPDATE_INITECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFFIF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIPECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIP=%%~dp0..\ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIPSVC=%%~dp0GOTO :EOFThis works just as good. Link to comment Share on other sites More sharing options...
tomasz86 Posted October 11, 2012 Author Share Posted October 11, 2012 I replaced the code with the following::UPDATE_INITECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFFIF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIPECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIP=%%~dp0..\ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIPSVC=%%~dp0GOTO :EOFThis works just as good.What if the source folder is located on a different partition? Link to comment Share on other sites More sharing options...
Acheron Posted October 11, 2012 Share Posted October 11, 2012 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. Link to comment Share on other sites More sharing options...
mukke Posted October 14, 2012 Share Posted October 14, 2012 I replaced the code with the following::UPDATE_INITECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFFIF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIPECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIP=%%~dp0..\ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIPSVC=%%~dp0GOTO :EOFThis works just as good.That could/should have been implemented into HFSLIP about 3½ years ago, but dont blame tommyp for not doing so.. Link to comment Share on other sites More sharing options...
Acheron Posted October 21, 2012 Share Posted October 21, 2012 I replaced the code with the following::UPDATE_INITECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD @ECHO OFFIF DEFINED CMDHIDE ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD %CMDHIDE%ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD Title HFSLIPECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIP=%%~dp0..\ECHO>>SOURCESS\I386\SVCPACK\HFSLIP.CMD SET HFSLIPSVC=%%~dp0GOTO :EOFThis 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. Link to comment Share on other sites More sharing options...
tomasz86 Posted November 11, 2012 Author Share Posted November 11, 2012 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. Link to comment Share on other sites More sharing options...
Mim0 Posted February 7, 2013 Share Posted February 7, 2013 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 Link to comment Share on other sites More sharing options...
tomasz86 Posted February 7, 2013 Author Share Posted February 7, 2013 Thanks Mim0 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now