Hello dear guest!

Boot Land is a community driven pc software site established since 2006 and focused on recovery/backup boot disks, research of Microsoft Windows 2000/XP/2003/Vista/7 install/deployment/lease/antivirus/antispam tools, customizing Microsoft Windows PE administration systems and even learning how to recover computer data from disaster situations!

How about joining our boot disk community? So do it. Life's short!

  - You get free access to our newsletter with all the interesting buzz about boot disks
  - We share publicity revenue with everyone who wishes to participate at the forums
  - Publicity is never, never, never displayed to members (along with many other cool things)
http://boot-land.net/register


6 Pages V   1 2 3 > »   
Reply to this topic
 "Panther" XP/2003 (deployment system), WIM Based WinXP/2003 with realtime CPU detection
Rating 5 V
post May 22 2008, 06:05 AM
Post #1
thunn
Silver Member   ****
Group: .script developer

  Joined: 27-July 06 From: Brooklyn, New York

Posts: 579
Thank(s): 22


United States




CPU independent Windows XP using WDS Beta from Longhorn

http://pantherxp.net

wodoo.gifsmile.gif

Hello all...
For awhile now I've been working on a system to utilize the early (WIM based) Panther engine as a means of deploying WinXP and other NTLDR based Windows NT systems to hardware with different CPU types. After only a gahzillion test cycles... It's finally done. smile.gif

Discovering the system HAL type (when the wrong HAL is installed) was the main issue at hand. Most system builders have, to date, used data stored in the registry to determine the system HAL type for similar image based deployments. This is not always a reliable means of checking the number of physical CPU cores though. If the wrong HAL is installed or used in a preinstallation environment, the registry will reflect the incorrect HAL type when queried. For this reason a small 3rd party tool was was discovered for the task of checking the number of CPU cores reliably (A huge thanks to Galapo for pointing me to Crystal Dew World). With this task performed correctly, sysprep may install a new HAL on request if needed.
victory.gif

For those curious, scripted (autoit3) HAL swaps were also successfully tested, but sysprep works fine if the CPU type is reported accurately.

With the HAL detection issue overcome, I'm now updating some supporting web documents.

If this sounds like something interesting to you, a demo client image has been tested and uploaded. (please pm)

attached is a preliminary readme.

more details will follow.

--------------------
-edit-
attached readme is from an early release
the current client image readme is online here.
---------------------

-thuun
Attached File(s)
Attached File  readme.htm ( 15.17K ) Number of downloads: 362
 


--------------------
___________________Loading Panther XP...
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
______________________________________________________________
PantherXP.net WIM Based deployment for Legacy Windows
NativePE A customized NativeEx based preinstallation platform
BartPECore Winbuilder as a PE Builder wrapper and beyond
thuun PE Builder plugins and utilities at boot-land.net


1 user(s) said "Thank you!" to thunn for this fantastic post:
ollex
+Quote Post
post May 22 2008, 06:26 AM
Post #2
TheHive
Platinum Member   ******
Group: .script developer

  Joined: 14-July 06
Posts: 3,111
Thank(s): 84


Sounds like a great project.


--------------------
+Quote Post
post May 28 2008, 12:21 PM
Post #3
felix
Member   **
Group: Members

  Joined: 13-September 06 From: In the BOOT

Posts: 52
Thank(s): 3


Italy


Long time no see my friend.
So you did it..Nice
thumbsup.gif
+Quote Post
post May 29 2008, 10:01 AM
Post #4
thunn
Silver Member   ****
Group: .script developer

  Joined: 27-July 06 From: Brooklyn, New York

Posts: 579
Thank(s): 22


United States


these are the cpu detect and cmdlines scripts...

CODE
:: ..............................................................
::  ************************************************************
::   "Panther" XP/2003 Postrest.cmd
::   Copyright (C)2008 thuunderboy
::
::   CrystalCPUID (C)2008 hiyohiyo
::   SpDrvScn (C)2006 Joseph Dowden
::   7za (C)2007 Igor Pavlov
::  ............................................................
:: **************************************************************

@echo off
setlocal

for %%d 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 %%d:\SOURCES\sysprep.inf (
set dist_root=%%d:
)

set srcdir=%dist_root%\SOURCES\DIST
set oemdir=%srcdir%\$OEM$

cd %systemdrive%\sysprep || exit

::
:: Get sysprep.inf from Dvd\SOURCES and add InstallFilesPath entry
::
for %%a in (sysprep.inf unattend.txt) do if exist %dist_root%\SOURCES\%%a copy /y %dist_root%\SOURCES\%%a %~dp0
inimod.exe /F:"%systemdrive%\sysprep\sysprep.inf" /AC /S:"Unattended" /K:"InstallFilesPath" /V:"%srcdir%\"

::
:: Detect CPU type and update HAL if multi processor
::
start /wait CrystalCPUID.exe /s /e
if %errorlevel% neq 0 ver >nul
findstr /c:"Physical Core : 1" temp.txt
if %errorlevel% equ 0 (
start presetup.exe -splash_uni
) else if %errorlevel% equ 1 (
inimod.exe /F:"%systemdrive%\sysprep\sysprep.inf" /AC /S:"Unattended" /K:"UpdateHAL" /V:"ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf"
start presetup.exe -splash_multi
)
ren temp.txt CrystalCPUID_%PROCESSOR_ARCHITECTURE%.log
for %%l in (*.log) do xcopy /y %%l %systemroot%\debug\

::
:: Copy and expand OEM files to the install drive
::
if exist %oemdir%\$$ xcopy /y /e %oemdir%\$$ %systemroot%\
if exist %oemdir%\$1 xcopy /y /e %oemdir%\$1 %systemdrive%\
if exist %oemdir%\$docs xcopy /y /e %oemdir%\$docs %systemdrive%\DOCUME~1\
if exist %oemdir%\$progs xcopy /y /e %oemdir%\$progs %systemdrive%\PROGRA~1\

for %%A in (7z cab rar zip) do (
for %%F in (%oemdir%\$$.%%A) do 7za.exe x %%F -y -o%systemroot%
for %%F in (%oemdir%\$1.%%A) do 7za.exe x %%F -y -o%systemdrive%
for %%F in (%oemdir%\$docs.%%A) do 7za.exe x %%F -y -o%systemdrive%\DOCUME~1
for %%F in (%oemdir%\$progs.%%A) do 7za.exe x %%F -y -o%systemdrive%\PROGRA~1
)

::
:: Expand compressed drivers to the install drive
::
start presetup.exe -splash_instdrvs
for /r "%oemdir%\drivers\" %%C in (*.7z *.cab *.rar *.zip) do (
for %%D in (%systemdrive%\sysprep\drivers\%%~nC) do (
7za.exe x "%%C" -y -o"%%D"
)
)

::
:: Add driver folders to DevicePath key for Setup
::
for %%d in (
%oemdir%\drivers
%systemdrive%\sysprep\drivers
) do if exist %%d (
start /wait spdrvscn.exe /p %%~fd /e inf /i /f /a /s /q
)

endlocal
exit



CODE
:: ..............................................................
::  ************************************************************
::   "Panther" XP/2003 pxpinst.cmd
::   MiniSetup Cmdlines.txt script
::   Copyright (C)2008 thuunderboy
::  ............................................................
:: **************************************************************

@echo off
setlocal enableextensions

set srcdir=%~d0\SOURCES\DIST
set oemdir=%srcdir%\$oem$

set boot_text=XP Professional
set boot_args=/NOEXECUTE=ALWAYSOFF

set msi_args=/qn /norestart ALLUSERS=1
set type1_args=/q /n /o /z
set type2_args=/Q

set inst_drivers=no
set drivers_path=%oemdir%\drivers

set add_reboot=no
set add_shutdown=no

if "%1"=="-c" goto _clnup
if "%1"=="-r" goto _reboot
if "%1"=="-s" goto _shutdown

cd %oemdir% || goto _end

if %inst_drivers% equ yes (
for /r "%~d0\" %%i in (dpinst*.exe) do (
for %%d in (%drivers_path%) do if exist %%d start "%%~ni" /wait /min cmd /c %%i /Q /LM /SA /SE /SW /C /PATH %%d
)
)
for %%B 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 %%B:\boot.ini if exist %%B:\ntldr (
attrib -s -r -h %%B:\boot.ini
findstr /c:"Longhorn" %%B:\boot.ini && replace.vbs %%B:\boot.ini "Longhorn" "%boot_text%"
findstr /c:"/DETECTHAL" %%B:\boot.ini && replace.vbs %%B:\boot.ini "/DETECTHAL" "%boot_args%"
for %%V in (30 3 0) do (findstr /c:"timeout=%%V" %%B:\boot.ini && replace.vbs %%B:\boot.ini "timeout=%%V" "timeout=10")
attrib +r +s +h %%B:\boot.ini
if exist %%B:\boot.bak (
attrib -s -r -h %%B:\boot.bak
move /y %%B:\boot.bak %systemroot%\debug
)
)
move /y %systemdrive%\$WINDOWS.~BT\sources\Panther %systemroot%\debug
for %%D in (BT LS) do rd /s/q %systemdrive%\$WINDOWS.~%%D

start /wait %systemdrive%\sysprep\sysprep.exe -clean

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v z_spSrcPath /d "hidec /w reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup /v ServicePackSourcePath /d %srcdir%\ /f" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v z_srcPath /d "hidec /w reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup /v SourcePath /d %srcdir%\ /f" /f
for %%R in ("HKLM\Software\Microsoft\Windows NT\CurrentVersion" HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup) do reg add %%R /v SourcePath /d %srcdir%\ /f
for %%V in ("Installation Sources" ServicePackSourcePath) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup /v %%V /d %srcdir%\ /f

for %%D in (hotfixes updates) do if exist %oemdir%\%%D set udpdir=%%D
for %%D in (kbtype1 kb_type1 kb-type1 type1) do if exist %oemdir%\%udpdir%\%%D set kb1dir=%%D
for %%D in (kbtype2 kb_type2 kb-type2 type2) do if exist %oemdir%\%udpdir%\%%D set kb2dir=%%D

for /r "%oemdir%\%udpdir%\%kb1dir%\svcpack\" %%K in (*.exe) do start "%%~nK" /wait /min cmd /c "%%K" %type1_args%
for /r "%oemdir%\%udpdir%\%kb2dir%\svcpack\" %%K in (*.exe) do start "%%~nK" /wait /min cmd /c "%%K" %type2_args%

if exist %oemdir%\%udpdir%\%kb1dir%\runonceex (
for /r "%oemdir%\%udpdir%\%kb1dir%\runonceex\" %%K in (*.exe) do (
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\%%~nK" /ve /d "%%~nK" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\%%~nK" /v "%%~nK" /d """"%%K""" %type1_args%" /f
)
rundll32 iernonce.dll,RunOnceExProcess
)

if exist %oemdir%\%udpdir%\%kb2dir%\runonceex (
for /r "%oemdir%\%udpdir%\%kb2dir%\runonceex\" %%K in (*.exe) do (
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\%%~nK" /ve /d "%%~nK" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\%%~nK" /v "%%~nK" /d """"%%K""" %type2_args%" /f
)
rundll32 iernonce.dll,RunOnceExProcess
)

if exist %oemdir%\runonceex (
for /r "%oemdir%\runonceex\" %%I in (*.exe) do (
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\%%~nI" /ve /d "%%~nI" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\%%~nI" /v "%%~nI" /d """"%%I"""" /f
)
rundll32 iernonce.dll,RunOnceExProcess
)

for /r "%oemdir%\svcpack\" %%R in (*.reg) do regedit /s "%%R"
for /r "%oemdir%\svcpack\" %%I in (*.inf) do rundll32 setupapi,InstallHinfSection DefaultInstall 132 "%%I"
for /r "%oemdir%\svcpack\" %%D in (*.dll *.ocx *.ax) do copy /y %%D %systemroot%\system32 && regsvr32 /s "%systemroot%\system32\%%~nxD"
for /r "%oemdir%\svcpack\" %%I in (*.msi) do start "%%~nI" /wait /min cmd /c msiexec /i "%%I" %msi_args%
for /r "%oemdir%\svcpack\" %%I in (*.exe *.vbs *.bat *.cmd) do start "%%~nI" /wait /min cmd /c "%%I"

for /r "%oemdir%\%udpdir%\%kb1dir%\runonce\" %%K in (*.exe) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "%%~nK" /d """"%%K""" %type1_args%" /f
for /r "%oemdir%\%udpdir%\%kb2dir%\runonce\" %%K in (*.exe) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "%%~nK" /d """"%%K""" %type2_args%" /f

for /r "%oemdir%\runonce\" %%R in (*.reg) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "z_%%~nR" /d "regedit /s """%%R"""" /f
for /r "%oemdir%\runonce\" %%I in (*.inf) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "z_%%~nI" /d "rundll32 setupapi,InstallHinfSection DefaultInstall 132 """%%I"""" /f
for /r "%oemdir%\runonce\" %%D in (*.dll *.ocx *.ax) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "z_%%~nD" /d "hidec /w cmd /c copy /y """%%D""" %systemroot%\system32 && regsvr32 /s """%systemroot%\system32\%%~nxD"""" /f
for /r "%oemdir%\runonce\" %%I in (*.msi) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "z_%%~nI" /d "hidec /w cmd /c start """%%~nI""" /wait /min msiexec /i """%%I""" %msi_args%" /f
for /r "%oemdir%\runonce\" %%I in (*.exe *.vbs *.bat *.cmd) do reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v "z_%%~nI" /d "hidec /w cmd /c start """%%~nI""" /wait /min """%%I"""" /f

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v _cfg_hkcu /d "rundll32 advpack.dll,LaunchINFSection %~d0\SOURCES\pxpinst.inf,PCL,PCU" /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v z_cleanup /d "hidec /w %~f0 -c" /f
rundll32 advpack.dll,LaunchINFSection %~d0\SOURCES\pxpinst.inf,DefaultInstall

if %add_shutdown% equ yes reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v zzz_shutdown /d "hidec /w %~f0 -s" /f &goto _end
if %add_reboot% equ yes reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v zzz_reboot /d "hidec /w %~f0 -r" /f
goto _end

:_clnup
for %%D in ("%tmp%" %systemroot%\Temp) do (
attrib -r -s -h /s /d %%D
rd /q/s %%D
if exist %%D (
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v [%%D_zap] /d "hidec /w cmd /c rd /q/s %%D && md %%D" /f
) else md %%D
)
for %%D in (%systemroot%\$hf_mig$) do rd /q/s %%D && md %%D && attrib +h /s /d %%D
for %%F in (*.old *.tmp) do del /q /s %systemroot%\%%F
move /y %systemroot%\*log.txt %systemroot%\debug
goto _end

:_reboot
hidec /w shutdown -r -f -t 90 -c "Rebooting momentarily, please wait..."
goto _end

:_shutdown
psshutdown -f -k -t 300

:_end
endlocal
goto :eof



......


--------------------
___________________Loading Panther XP...
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
______________________________________________________________
PantherXP.net WIM Based deployment for Legacy Windows
NativePE A customized NativeEx based preinstallation platform
BartPECore Winbuilder as a PE Builder wrapper and beyond
thuun PE Builder plugins and utilities at boot-land.net
+Quote Post
post Jun 13 2008, 05:26 PM
Post #5
kickarse
Member   **
Group: Members

  Joined: 26-September 06 From: USA

Posts: 69
Thank(s): 21


United States


Sounds great... but you still need to boot into PE after laying down an image in order to do this, no??


--------------------
http://www.boot-land.net/forum
+Quote Post
post Jun 13 2008, 09:09 PM
Post #6
Galapo
Platinum Member   ******
Group: .script developer

  Joined: 16-July 06
Posts: 3,641
Thank(s): 362


Australia


No need to boot into PE.

Regards,
Galapo.


--------------------
galapo.boot-land.net
------
Archive of LiveXP recommended project may be found here.
------
Recommended steps to build LiveXP:
1) Download suitable WinBuilder.exe from here and run it;
2) Update through the Download Center by clicking the 'Download' button; and
3) Then build LiveXP by pressing the 'Play' button.
+Quote Post
post Jun 13 2008, 09:16 PM
Post #7
kickarse
Member   **
Group: Members

  Joined: 26-September 06 From: USA

Posts: 69
Thank(s): 21


United States


Well if you need a beta tester just let me know. I've been doing the whole driverpacks/sysprep/hal thing for a while now. I'm also on the msfn.org forums (I wrote AutoWifi, UpdateHammer and DriverForge, USBeSafe).

Oh and do you think that it could be used for something like Acronis or Ghost imaging solutions?


--------------------
http://www.boot-land.net/forum
+Quote Post
post Jun 20 2008, 05:13 AM
Post #8
thunn
Silver Member   ****
Group: .script developer

  Joined: 27-July 06 From: Brooklyn, New York

Posts: 579
Thank(s): 22


United States


Galapo has seen the project image,

You might think of Panther XP as an alternative to 'universal restore' by Acronis.
It uses the longhornpe, but does not have to. (These deployment systems all use sysprep, *just updated by MS)

Panther XP requires 1 reboot to go from PE to WinXP MiniSetup plus one more to finish and load the desktop. Thats.. err, um, ... 2.

laugh.gif

Please PM me and I'll provide a link for the client image.
...

I'm now creating a set of support tools to mount the beta wim image(s) and inject new files... smile.gif

here's a peek ...

CODE
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::  "Panther" XP/2003 WinPE WIM Beta 1 Mount
::  Copyright (C)2008 thuunderboy
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@echo off
title %~0

set safety=on

set wim_image=WinPE

set wim_index=1

set build_root=..\..\..

cd %build_root%

set build_root=%cd%

set svc_dir=%build_root%\support\service\svcres

if not exist %svc_dir%\%~n0%~x0 goto :eof

call %svc_dir%\_set_env.cmd -def

set pthrxpdir=%workdrive%\PantherXP

set linkd_dir=%pthrxpdir%\%wim_image%

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 not exist %%i: (
set tmpdrv=%%i
)

echo.&echo.&echo  "Panther" XP/2003 %~n0%~x0 &echo.
echo _______________________________________________________ &echo.

if exist %build_root%\sources\%wim_image%.wim (
if %safety% neq off echo.&echo Ready to mount %wim_image%.WIM to Drive: [%tmpdrv%:] &echo.&echo. &pause &echo.
for %%L in (%linkd_dir%) do (
if exist %%L_bak rd /s/q %%L_bak
if exist %%L ren %%L %%~nL_bak
md %%L
)
echo.&echo VDCmd [Version 1.0.0.3] Copyright 2005 Kana Solution
%svc_dir%\vdcmd.exe -d=%tmpdrv% -p="%linkd_dir%"
) else echo.&echo %wim_image%.WIM file missing! &echo.

if exist %tmpdrv%: (
echo.&echo Virtual Drive: [%tmpdrv%:] mapped to: [%linkd_dir%] &echo.
echo.&echo xImage [Version 6.0.4059.0] Copyright 2003 Microsoft Corporation
echo.&echo Applying: [%build_root%\sources\%wim_image%.wim {Index %wim_index%}]
echo.&echo To Drive: [%tmpdrv%:]
%svc_dir%\ximage.exe /apply %build_root%\sources\%wim_image%.wim %tmpdrv%: %wim_index%
) else if exist %build_root%\sources\%wim_image%.wim (
echo.&echo A drive letter must be made available to continue.
echo.&echo Ready to exit. &echo.
)

if "%1" neq "-q" pause
exit


--and no. 2 ...

CODE
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::  "Panther" XP/2003 WinPE Mass Storage Driver Injector
::  Copyright (C)2008 thuunderboy
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@echo off
title %~0

set build_root=..\..\..

cd %build_root%

set build_root=%cd%

set svc_dir=%build_root%\support\service\svcres

if not exist %svc_dir%\%~n0%~x0 goto :eof

call %svc_dir%\_set_env.cmd -def

set pthrxpdir=%workdrive%\PantherXP

set drvrep=%build_root%\sources\dist\$oem$\drivers\boot

set drvarc=%build_root%\support\service\driver_arc

set sys32_rep=%build_root%\sources\dist\$oem$\$$\system32

set pebld_tag=boot\system32\drivers\wimfsf.sys

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:\%pebld_tag% (
set pebld_root=%%I:
)

echo.&echo.&echo  "Panther" XP/2003 %~n0%~x0 &echo.
echo _______________________________________________________ &echo.

if exist %pebld_root%\%bld_tag% (
echo.&echo Install target located at Drive: [%pebld_root%]
) else echo.&echo Install target not found. &echo.&pause &exit

for /r "%drvarc%\" %%C in (*.7z *.cab *.rar *.zip) do (
for %%D in (%drvrep%\%%~nC) do (
%sys32_rep%\7za.exe x "%%C" -y -o"%%D" >nul
echo.&echo Extracting %%~nC%%~xC to:
echo %%D
)
)

echo.&echo Preparing to install driver packages . . .&echo.
for /r "%drvrep%\" /d %%D in (*) do (
if exist %%D\*.inf cd %%D && for %%B in (*.inf) do (
echo %%~nB
set drvsfound=true
)
)
if "%drvsfound%" neq "true" (
echo.
echo No drivers found. &echo.
echo Please place drivers into subfolders of: &echo.&echo [%drvrep%]
echo.
pause
goto :eof
)
echo.
pause

ren "%pebld_root%\boot" "Windows"
ren %pebld_root%\Windows\system32\setupreg.hiv SYSTEM
move %pebld_root%\Windows\system32\SYSTEM %pebld_root%\Windows\system32\config\
md %pebld_root%\Users "%pebld_root%\Program Files"

for /r "%drvrep%\" %%M IN (*.inf) do (
%svc_dir%\peimg.exe %pebld_root%\Windows /inf="%%M"
echo.
)

ren "%pebld_root%\Windows" "boot"
ren %pebld_root%\boot\system32\config\SYSTEM setupreg.hiv
move %pebld_root%\boot\system32\config\setupreg.hiv %pebld_root%\boot\system32\
rd /s/q %pebld_root%\Users "%pebld_root%\Program Files"
rd /s/q %pebld_root%\boot\system32\DriverStore

set winpeoem_sif=%pebld_root%\boot\system32\winpeoem.sif
echo.&echo.&echo Updating "%winpeoem_sif%". . . &echo.

if not exist %winpeoem_sif% (
echo [Version]> %winpeoem_sif%
echo signature="$Windows NT$">> %winpeoem_sif% &echo.>> %winpeoem_sif%
) else echo.>> %winpeoem_sif%

for /r "%drvrep%\" /d %%D in (*) do (
if exist %%D\*.sys (
cd %%D
for %%B in (*.sys) do %svc_dir%\inimod.exe /F:"%winpeoem_sif%" /AC /S:"massstoragedrivers.append" /K:"MassStorageDriver_%%~nB" /V:"%%B" >nul
)
)
type %winpeoem_sif% &echo.

if %errorlevel% neq 0 echo Exit code %errorlevel%.

echo.&echo Done.&echo.
if "%1" neq "-q" pause
exit


and unmount ...

CODE
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::  "Panther" XP/2003 WIM Beta 1 Unmount
::  Copyright (C)2008 thuunderboy
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@echo off
title %~0

call %~dp0\_set_env.cmd -def

set pthrxpdir=%workdrive%\PantherXP

set tagfile_1=boot\system32\drivers\wimfsf.sys

set tagfile_2=sysprep\setact.exe

set unmount=all

set tmpdrv=

echo.&echo.&echo  "Panther" XP/2003 %~n0%~x0 &echo.
echo _______________________________________________________ &echo.

if not exist %pthrxpdir% md %pthrxpdir% &set pxpdir=removed
if not exist %pthrxpdir%\winpe md %pthrxpdir%\winpe &set pedir=removed
if not exist %pthrxpdir%\install md %pthrxpdir%\install &set instdir=removed

:_unmount
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:\%tagfile_1% set tmpdrv=%%I
if exist %%I:\%tagfile_2% set tmpdrv=%%I
)

if not exist %tmpdrv%: set tmpdrv=Z
if not exist %tmpdrv%: set tmpdrv=Y
if not exist %tmpdrv%: set tmpdrv=X
if not exist %tmpdrv%: set tmpdrv=W
if not exist %tmpdrv%: set tmpdrv=V
if not exist %tmpdrv%: set tmpdrv=U
if not exist %tmpdrv%: set tmpdrv=T
if not exist %tmpdrv%: set tmpdrv=S
if not exist %tmpdrv%: set tmpdrv=R
if not exist %tmpdrv%: set tmpdrv=Q
if not exist %tmpdrv%: set tmpdrv=P
if not exist %tmpdrv%: set tmpdrv=O
if not exist %tmpdrv%: set tmpdrv=N
if not exist %tmpdrv%: set tmpdrv=M
if not exist %tmpdrv%: set tmpdrv=L
if not exist %tmpdrv%: set tmpdrv=K
if not exist %tmpdrv%: set tmpdrv=J
if not exist %tmpdrv%: set tmpdrv=I
if not exist %tmpdrv%: set tmpdrv=H
if not exist %tmpdrv%: set tmpdrv=G
if not exist %tmpdrv%: set tmpdrv=F
if not exist %tmpdrv%: set tmpdrv=E
if not exist %tmpdrv%: set tmpdrv=D
if not exist %tmpdrv%: set tmpdrv=C

start /wait /min subst /d %tmpdrv%:

if not exist %tmpdrv%: (
goto _result
) else set tmpdrv=Z
if not exist %tmpdrv%: set tmpdrv=Y
if not exist %tmpdrv%: set tmpdrv=X
if not exist %tmpdrv%: set tmpdrv=W
if not exist %tmpdrv%: set tmpdrv=V
if not exist %tmpdrv%: set tmpdrv=U
if not exist %tmpdrv%: set tmpdrv=T
if not exist %tmpdrv%: set tmpdrv=S
if not exist %tmpdrv%: set tmpdrv=R
if not exist %tmpdrv%: set tmpdrv=Q
if not exist %tmpdrv%: set tmpdrv=P
if not exist %tmpdrv%: set tmpdrv=O
if not exist %tmpdrv%: set tmpdrv=N
if not exist %tmpdrv%: set tmpdrv=M
if not exist %tmpdrv%: set tmpdrv=L
if not exist %tmpdrv%: set tmpdrv=K
if not exist %tmpdrv%: set tmpdrv=J
if not exist %tmpdrv%: set tmpdrv=I
if not exist %tmpdrv%: set tmpdrv=H
if not exist %tmpdrv%: set tmpdrv=G
if not exist %tmpdrv%: set tmpdrv=F
if not exist %tmpdrv%: set tmpdrv=E
if not exist %tmpdrv%: set tmpdrv=D
if not exist %tmpdrv%: set tmpdrv=C

start /wait /min subst /d %tmpdrv%:

:_result
if not exist %tmpdrv%: (
echo.&echo Virtual Drive [%tmpdrv%:] unmounted.
if %unmount% equ all goto _unmount
) else if %unmount% equ all (
echo.&echo All Virtual Drives unmounted.
) else echo.&echo Done.
echo.&echo.

if "%pedir%"=="removed" rd /q/s %pthrxpdir%\winpe
if "%instdir%"=="removed" rd /q/s %pthrxpdir%\install
if "%pxpdir%"=="removed" rd /q/s %pthrxpdir%

if "%1" neq "-q" pause
exit


--there are now over a dozen servicing commands in all, plus new docs.

Once everything is finalized it will be made available for widespread use.
So far it's going good and is quite fun to work on, so it'll be done soon and something posted here.

...
btw...

* The new xp.5512 sp3 opk update is now out
It has a new sysprep (v 5512) which adds an update cycle to my project.
what the hell.

smile.gif

-t


--------------------
___________________Loading Panther XP...
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
______________________________________________________________
PantherXP.net WIM Based deployment for Legacy Windows
NativePE A customized NativeEx based preinstallation platform
BartPECore Winbuilder as a PE Builder wrapper and beyond
thuun PE Builder plugins and utilities at boot-land.net
2 user(s) said "Thank you!" to thunn for this fantastic post:
kickarse, TheHive
+Quote Post
post Jun 20 2008, 06:14 AM
Post #9
Galapo
Platinum Member   ******
Group: .script developer

  Joined: 16-July 06
Posts: 3,641
Thank(s): 362


Australia


Your project continues to impress me! Seems a good idea to me to automate mounting and injection so as to prevent mistakes people might make. A side effect is that such automated commands help to document the process and what is carried out without actually writing a help file per se (I personally hate writing documentation!).

Regards,
Galapo.


--------------------
galapo.boot-land.net
------
Archive of LiveXP recommended project may be found here.
------
Recommended steps to build LiveXP:
1) Download suitable WinBuilder.exe from here and run it;
2) Update through the Download Center by clicking the 'Download' button; and
3) Then build LiveXP by pressing the 'Play' button.
+Quote Post
post Jul 17 2008, 12:12 AM
Post #10
kickarse
Member   **
Group: Members

  Joined: 26-September 06 From: USA

Posts: 69
Thank(s): 21


United States


Any updates??

I'm looking forward to trying this, but I'm not familiar with deploying WIM images. Could this work with ghost or acronis??


--------------------
http://www.boot-land.net/forum
+Quote Post

6 Pages V   1 2 3 > » 
Reply to this topic
2 User(s) are reading this topic ()



Collapse

  Topic Replies Topic Starter Views Last Action
No New Posts Deployment guide for Office 2010 | Why buy SQL Server 2008 now | Virtualization market accelerates | Microsoft SEO Toolkit
0 Michael Pietroforte 99 7th May 2010 - 10:21 PM
Last post by: Michael Pietroforte
No New Posts System Restore Problem
8 Technotika 514 15th March 2010 - 10:48 PM
Last post by: Technotika
No New Posts System,RefreshInterface Question w/ Show/Hide?
3 Flyboarder 734 5th September 2009 - 07:29 PM
Last post by: Flyboarder
No New Posts System,RescanScripts in 076?
1 JonF 842 13th July 2009 - 06:56 AM
Last post by: Lancelot
No New Posts Topic has attachmentsSystem,REFRESHINTERFACE
how correctly to use this script command ?
11 olegpov 2,614 2nd May 2009 - 02:05 PM
Last post by: Lancelot





    

Display Mode: Standard · Switch to: Linear+ · Switch to: Outline

Track this topic · Email this topic · Print this topic · Subscribe to this forum