Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
webmedic

How to do raid drivers and hotfixes correctly.

Recommended Posts

yes you have to edit do.cmd the problem is that the hotfixes in the hotfixes2 and hotfixes3 folder have to have absolute path and will not work like so ./tmp then have to have f:/wxppro/hotfixes/tmp.

You need to edit the file by hand and place the correct paths in it. There should only be two of those one for the hotfixes in hotfixes2 folder and one in hotfixes3 folder. I'm working on a way to pass variables so that this can be a little easier but for now you will have to edit the file by hand. If you can not do that there is not much I can do to help you.

Share this post


Link to post
Share on other sites

ok it maybe that i have not slept in a few day i don't see where to put the path.

F:\wxppro\hotfixes\tmp\

? would be in my case

D:\wxppro\1

would that be right?

wow webmedic this is a lot different then the first one :)

Tbone2

Share this post


Link to post
Share on other sites

Ok obliged Webmedic for help.I already had decided the problem.

But the archives dosnet.inf, winnt.sif, txtsetup.sif that before they were in folder SYS now are in folder FILES.

Share this post


Link to post
Share on other sites

ah ok yes I changed things around a little. I'm trying to get it set up nice to be able to be used easily by others.

On side note I have added command line stuff so now you wont have to mess with the directory stuff any more. Let me test a little more and then I'll post it.

Share this post


Link to post
Share on other sites

ok new and improved come and get it. This one will well it wont slice and dice for you but it will automaticly figure out the directory it is being run from. No more need to edit the file also to note it will now clean up after itself better and there is more logic now to add missing directories and things if they are missing.

Enjpoy guys and let me know how it goes.

This is still for testing but should work ok and is much improved.

CLS
@echo off
:: setlocal enableextensions
echo. > log.txt

:: check if hotfix file exists
if not exist 1\*.exe echo No hotfixes present. 2>&1 | bin\mtee/+ log.txt
if not exist 1\*.exe echo Please add your hotfixes. 2>&1 | bin\mtee/+ log.txt
if not exist 1\*.exe goto _end

:: create folders Needed for setup
echo. 2>&1 | bin\mtee/+ log.txt
echo Creating directories and set up. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
SET PrepDir=
if "%1" == "/prep" set PrepDir=%2
IF DEFINED PrepDir goto :Make_Dir
echo using for to find dir
FOR /F "delims=" %%i IN ('cd') DO SET PrepDir=%%i

:Make_Dir
echo PrepDir = %PrepDir% 2>&1 | bin\mtee/+ log.txt
if not exist 4 md 4 2>&1 | bin\mtee/+ log.txt
if not exist 5 md 5 2>&1 | bin\mtee/+ log.txt
if not exist 5\svcpack md 5\SVCPACK 2>&1 | bin\mtee/+ log.txt
if not exist tmp md tmp 2>&1 | bin\mtee/+ log.txt

:: delete any files in extract and final folder
echo. 2>&1 | bin\mtee/+ log.txt
echo Deleteing stale files. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
if exist 4\* del /s /q 4\* 2>&1 | bin\mtee/+ log.txt
if exist 5\* del /s /q 5\* 2>&1 | bin\mtee/+ log.txt

:: extract hotfix to extract folder
echo. 2>&1 | bin\mtee/+ log.txt
echo Adding hotfixes from hotfix1 folder 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt

for /f "usebackq delims==" %%i in (`dir /b 1\*.exe`) do COPY /Y "1\%%~ni.EXE" "tmp\????????.EXE" >> log.txt
for /f "usebackq delims==" %%i in (`dir /b 1\*.exe`) do del /f /q 1\%%~ni.EXE >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do Move /Y tmp\%%~ni.exe 1 >> log.txt
for /f "usebackq delims==" %%i in (`dir /b 1\*.exe`) do 1\%%~ni.exe /q /x:4 >> log.txt

:: extract hotfix to extract folder thisis for newer style hot fixes
echo. 2>&1 | bin\mtee/+ log.txt
echo Adding hotfixes from hotfix2 folder 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt

for /f "usebackq delims==" %%i in (`dir /b 2\*.exe`) do COPY /Y "2\%%~ni.EXE" "tmp\????????.EXE" >> log.txt
for /f "usebackq delims==" %%i in (`dir /b 2\*.exe`) do del /f /q 2\%%~ni.EXE >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do MD tmp\%%~ni >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do tmp\%%~ni.exe /Q /T:%PrepDir%\tmp\%%~ni /C >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do xcopy /d /h /y tmp\%%~ni\*.* 4 >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do bin\rm.exe /fvn tmp\%%~ni >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do Move /Y tmp\%%~ni.exe 2 >> log.txt

attrib -R -A -S -H tmp\* /S
:: extract hotfix to extract folder thisis for newer style hot fixes
echo. 2>&1 | bin\mtee/+ log.txt
echo Adding hotfixes from hotfix3 folder 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt

for /f "usebackq delims==" %%i in (`dir /b 3\*.exe`) do COPY /Y "3\%%~ni.EXE" "tmp\????????.EXE" >> log.txt
for /f "usebackq delims==" %%i in (`dir /b 3\*.exe`) do del /f /q 3\%%~ni.EXE >> log.txt
for /f "usebackq delims==" %%i in (`dir /b 3\*.cmd`) do del /f /q 3\%%~ni.cmd >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do MD tmp\%%~ni >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do tmp\%%~ni.exe /Q /T:%PrepDir%\tmp\%%~ni /C >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do xcopy /d /h /y tmp\%%~ni\*.* 4 >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do del /f /q tmp\%%~ni\*.* >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do bin\rm.exe /fvn tmp\%%~ni >> log.txt
for /f "usebackq delims==" %%i in (`dir /b tmp\*.exe`) do Move /Y tmp\%%~ni.exe 3 >> log.txt

echo. 2>&1 | bin\mtee/+ log.txt
echo Adding cmd files to hotfix3 folder 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt

for /f "usebackq delims==" %%i in (`dir /b 3\*.exe`) do echo CLS 2>&1 | bin\mtee /+ log.txt 3\%%~ni.cmd
for /f "usebackq delims==" %%i in (`dir /b 3\*.exe`) do echo @echo off 2>&1 | bin\mtee /+ log.txt /+ 3\%%~ni.cmd
for /f "usebackq delims==" %%i in (`dir /b 3\*.exe`) do echo start /wait %systemdrive%\install\system\hotfixes3\%%~ni.exe /T:%systemdrive%\install\tmp /C:"%systemdrive%\install\tmp\dahotfix.exe /q /n" /Q 2>&1 | bin\mtee /+ log.txt /+ 3\%%~ni.cmd
for /f "usebackq delims==" %%i in (`dir /b 3\*.exe`) do echo EXIT 2>&1 | bin\mtee /+ log.txt /+ 3\%%~ni.cmd

:: check extraction took place
echo. 2>&1 | bin\mtee/+ log.txt
echo Checking for extracted files 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
if not exist 4\* goto _end

:: move hotfix to svcpack folder
echo. 2>&1 | bin\mtee/+ log.txt
echo Moving hotfixes to svcpack folder. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
copy /y 1\*.exe 5\svcpack >> log.txt
copy /y 2\*.exe 5\svcpack >> log.txt
copy /y 3\*.cmd 5\svcpack >> log.txt
copy /y 3\*.exe 5\svcpack >> log.txt

:: delete unwanted files from extract folder
echo. 2>&1 | bin\mtee/+ log.txt
echo delete unwanted files from extract folder. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
for /f %%i in (files\hotkill.ini) do del /f /q /s 4\%%i 2>&1 | bin\mtee/+ log.txt
for /f %%i in (files\hotkill.ini) do del /f /q /s 4\sp2\%%i 2>&1 | bin\mtee/+ log.txt

:: move cat files to svcpack folder
echo. 2>&1 | bin\mtee/+ log.txt
echo move cat files to svcpack folder. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
for %%i in (4\*.cat 4\update\*.cat 4\sp2\update\*.cat) do move /y %%i 5\svcpack 2>&1 | bin\mtee/+ log.txt

::NEW BIT::
echo. 2>&1 | bin\mtee/+ log.txt
echo Updating sp1.cab. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
xcopy /d /h /u /y 4\*.* files\sp1 >> log.txt
xcopy /d /h /u /y 4\sp2\*.* files\sp1 >> log.txt
bin\cabarc.exe N 5\sp1.cab files\sp1\*.* >> log.txt
::END::

:COMPRESS
:: compress files and copy to output folder
echo. 2>&1 | bin\mtee/+ log.txt
echo compress files and copy to output folder. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
bin\compress.exe -d -r -zx21 4\* 5 >> log.txt
bin\compress.exe -d -r -zx21 4\sp2\* 5 >> log.txt

:: create svcpack.inf file
echo. 2>&1 | bin\mtee/+ log.txt
echo create svcpack.inf file. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
echo [Version] 2>&1 | bin\mtee /+ log.txt 5\svcpack.inf
echo Signature="$Windows NT$" 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo MajorVersion=5 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo MinorVersion=1 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo BuildNumber=2600 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo. 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo [SetupData] 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo CatalogSubDir="\i386\svcpack" 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo. 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo [SetupHotfixesToRun] 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf

for /f "usebackq delims==" %%i in (`dir /b 1\*.exe`) do echo %%~ni.exe /n /q /u /z 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
for /f "usebackq delims==" %%i in (`dir /b 2\*.exe`) do echo %%~ni.exe /Q:A /R:N 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
::for /f "usebackq delims==" %%i in (`dir /b 3\*.exe`) do echo %%~ni.exe /T:C:\\install\tmp /C:"c:\\install\tmp\dahotfix.exe /q /n" /Q >> 5\svcpack.inf
for /f "usebackq delims==" %%i in (`dir /b 3\*.cmd`) do echo %%~ni.cmd 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo. 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
echo [ProductCatalogsToInstall] 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf
for /f "usebackq delims==" %%i in (`dir /b 5\svcpack\*.cat`) do echo %%~ni.cat 2>&1 | bin\mtee /+ log.txt /+ 5\svcpack.inf

:: compress svcpack.inf
echo. 2>&1 | bin\mtee/+ log.txt
echo compress svcpack.inf file. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
bin\compress.exe -d -r -zx21 5\svcpack.inf >> log.txt
:: comment out the next line if you want to examing svcpack.inf afterwards.
:: del /q 5\svcpack.inf

:: copy winnt.sif to output folder
echo. 2>&1 | bin\mtee/+ log.txt
echo copy extra files. 2>&1 | bin\mtee/+ log.txt
echo __________________________________________________________________________ 2>&1 | bin\mtee/+ log.txt
echo. 2>&1 | bin\mtee/+ log.txt
if exist files\winnt.sif xcopy /y files\winnt.sif 5 >> log.txt

:: copy dosnet.inf to output folder
if exist files\dosnet.inf xcopy /y files\dosnet.inf 5 >> log.txt

:: copy TXTSETUP.SIF to output folder
if exist files\TXTSETUP.SIF xcopy /y files\TXTSETUP.SIF 5 >> log.txt
if exist files\sys\*.sys xcopy /y files\sys\*.sys 5 >> log.txt

:: clean up
:: if exist 1\* del /s /q 1\*
:: if exist 2\* del /s /q 2\*
:: if exist 3\* del /s /q 3\*
:: attrib -R -A -S -H tmp\* /S
:: rd /s /q tmp

goto _end

:_end

man this is turning into a much larger project than at first I thought it would be.

Share this post


Link to post
Share on other sites

Well, I'm thinking my earlier problem had to do with me slipstreaming the wrong hotfix version into the setup. Silly me. :)

Share this post


Link to post
Share on other sites

That could be. I know it's hard to keep track of them all. Have you tried the new script yet. It would be nice to have some feedback on it.

Share this post


Link to post
Share on other sites

I just used your new script made my new iso image and am in the process of installing in Virtual PC as i type this. Right now its in the GUI portion of setup (on the Installing Windows)

Share this post


Link to post
Share on other sites

if you get an error about not finding a directory correcty it's the stupid mdac hotfix. I have yet to find a way to impliment it this way. I may have to do some things a little differently. I will most likely have to laod it through cmdlines.txt or at some other palce but at lest the files are still slipstreamed into the installer.

Share this post


Link to post
Share on other sites

ok this is what i get after removing KB822964 the install works ...but i have no IE or networking :) anyone have any ideas on this?

with KB822964 i get a kernal32 error when gui starts.

Tbone2

Share this post


Link to post
Share on other sites

I'm not sure about this exactly here is a list of the hotfixes that I use.

KB820291.exe /n /q /u /z

KB821253.exe /n /q /u /z

KB821557.exe /n /q /u /z

KB823559.exe /n /q /u /z

KB823980.exe /n /q /u /z

Q322011.exe /n /q /u /z

Q323255.exe /n /q /u /z

Q327979.exe /n /q /u /z

Q328310.exe /n /q /u /z

Q329048.exe /n /q /u /z

Q329115.exe /n /q /u /z

Q329170.exe /n /q /u /z

Q329390.exe /n /q /u /z

Q329834.exe /n /q /u /z

Q810565.exe /n /q /u /z

Q810833.exe /n /q /u /z

Q811493.exe /n /q /u /z

Q814033.exe /n /q /u /z

Q814995.exe /n /q /u /z

Q815021.exe /n /q /u /z

Q815485.exe /n /q /u /z

Q817606.exe /n /q /u /z

js56nen.exe /Q:A /R:N

KB822964.exe /Q:A /R:N

q330994.exe /Q:A /R:N

Q810577.exe /Q:A /R:N

q818529.exe /Q:A /R:N

q822925.exe /Q:A /R:N

Q823718_.cmd

right of fhand the hot fix belongs in the second directory because it was the ie fix and requires different switches than the others but it works fine here.

On another note make sure you dont aply the hot fix for windows media player 9.0 as it will not be installed at this point in the install.

also send me a copy of your log.txt which is created by the new do.cmd. It dumps much info out which is very usable for me to figure things out with.

bah at webmedic dot net

Share this post


Link to post
Share on other sites

wow...so if i read that correctly, instead of using one command line for each of the 36 hotfixes that i downloaded, I can just one line and it will install all the exe's in that particular folder, waiting for each one to finish and starting the next one.

if so, pretty good! :)

Share this post


Link to post
Share on other sites

@ceez well no it modifyies the installer and slipstreems the hotfixes into the installer. So you will never see this stuff.

@tbone2 jsut email it to me at the address bah at webmedic dot net

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...