Jump to content

How to do raid drivers and hotfixes correctly.


webmedic

Recommended Posts

yes I have even gone so far as to force mdac to extract into a specific directory and then run it form there but it does not as I would like. I think it has to do with the virtual file system used durring setup and so for some reason the commands are not passed correctly. You know that gives me an idea.

I have been using inf files to spruce up the installing of apps and all kinds of things so far I have been able to even install msi based installers which microsoft says you cant even do. I even moved all my installers to the graphical mode but I had these same problems of not finding things correctly. For some reason the inf file bypasses it though. I'm wondering now if I could install this hotfix through an inf file and therefor bypass the virtual file system that is being used.

Hey thanks for the idea I'll get right on it and see if that works. I've tried about everything else. Something has to work. If microsft can break it we can at least fix some of it right.

Oh on a side note I found a way to get around file protection. I'm trying to get it to work like I want now but I should have something for you all soon on this also. Well that is so that themes are used correctly on first boot due to file protection being bypassed kind of. Not shut off but bypassed.

Link to comment
Share on other sites


well there are three directories that have hot fixes in them.

The first one has all the hot fixes that use the old style icons on them.

Then second folder holds the new style icon ones and the third is only for the mdac patch. However i have not got that working yet.

It sounds like you have placed some hot fixes in the wrong directories.

Also of note I finished up a new version last night that does renaming of the hotfixes so you no longer have to do it yourself. Another new feature is that it extracts the hotfixes in folders 2 and 3 to thier own directoiries now so that you dont get any command prompts. Once they are extracted only the newest files are copied into place so you are sure to have the newest files. It also adds logging so we can debug easier and last but not least I'm testing it right now and hopefully I will have the mdac patch finaly working.

I still have not found a way around hard codeing the paths for the extraction for the hotfixes in 2 and 3. When i get it figured out I'll have it set so you can simply set your path at the top of the file and run it.

In the futer Iwill add back some of hte features that were in the origianl. Most noteable after done with the testing phase I will make it so that the 5th directory (the compiled directory) will not be wiped but rather hot fixes will just apply on top of what you already have. At that point you will simply place any new hotfixes into the proper directory and then run do again and it will just add the newest stuff to your coimpiled directory. In this way you will not have ot compile from scratch each time.

Link to comment
Share on other sites

Alright, I've finally got around to testing this method of doing the hotfixes and I'm sad to say that I'm having many problems. Text Mode setup works fine and doesn't give me a single error, but once I'm in GUI mode problems start happening. I eventually get the three following error messages before setup aborts:

winlogon.exe - Entry Point Not Found
The procedure entry point AssocIsDangerous could not be located in the dynamic link library SHLWAPI.DLL

RUNDLL
Error loading shell32
The specified procedure could not be found.

Fatal Error

An error has been encountered that prevents Setup from continuing.

Setup was unable to initialize Network installation components.
The specific error code is 2.

What could I be doing wrong? I've followed your directions exactly.

Link to comment
Share on other sites

well there are three directories that have hot fixes in them.

The first one has all the hot fixes that use the old style icons on them.

Then second folder holds the new style icon ones and the third is only for the mdac patch.  However i have not got that working yet.

It sounds like you have placed some hot fixes in the wrong directories.

Also of note I finished up a new version last night that does renaming of the hotfixes so you no longer have to do it yourself. Another new feature is that it extracts the hotfixes in folders 2 and 3 to thier own directoiries now so that you dont get any command prompts. Once they are extracted only the newest files are copied into place so you are sure to have the newest files. It also adds logging so we can debug easier and last but not least I'm testing it right now and hopefully I will have the mdac patch finaly working.

I still have not found a way around hard codeing the paths for the extraction for the hotfixes in 2 and 3.  When i get it figured out I'll have it set so you can simply set your path at the top of the file and run it.

In the futer  Iwill add back some of hte features that were in the origianl. Most noteable after done with the testing phase I will make it so that the 5th directory (the compiled directory)  will not be wiped but rather hot fixes will just apply on top of what you already have.  At that point you will simply place any new hotfixes into the proper directory and then run do again and it will just add the newest stuff to your coimpiled directory. In this way you will not have ot compile from scratch each time.

Be sure to post that new version when you're done :)

Link to comment
Share on other sites

Yes I will

@bachus Ok I jsut got back let me look at thinga a bit and see the problem is that i have never even once had this sissue..

To note i use this patch with xp pro and you have to have sp1 slipstreamed into it first. Or else bad things could happen.

I have not tested this at all on xp home. I'm still unsure as to why you get those error's at this time though.

Link to comment
Share on other sites

ok ok I wanted to add more to it first just keep in mind this works for me and it is much enhanced over the last versions. But there are still a few places that will need paths changed depending on were you put it on your system other than that it should all work well.

As for the mdac no I even tried making a cmd file for it and loading it that way. If you have any ides on that beast let me know as I've done about everything I can to get it to work.

Please test it like it is as I made a few small changes if it works then great but if not I would sure like any input. The problem is that under the graphic install paths are much different and so forcing it to go silent is not working properly. I would almost say that it may be impossible or at the least I may need to add it to cmdlines.txt and fiddle with it there. At the very least I can say the the catalog and all the files have been put into the installer but it will jsut not register as being there if it does not run through the installer routine.

Here goes:

CLS
@echo off
setlocal enableextensions
SET PrepDir = F:\wxppro\hotfixes

echo. > log.txt

:: check if hotfix file exists
if not exist 1\*.exe goto _end

:: delete any files in extract and final folder
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 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 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:F:\wxppro\hotfixes\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 Move /Y tmp\%%~ni.exe 2 >> log.txt


:: extract hotfix to extract folder thisis for newer style hot fixes
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:F:\wxppro\hotfixes\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 Move /Y tmp\%%~ni.exe 3 >> 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\Q823718.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 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

:: create svcpack folder in output folder
if not exist 5\svcpack md 5\SVCPACK 2>&1 | bin\mtee/+ log.txt

:: move hotfix to svcpack folder
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 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 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 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 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 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 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 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\*

goto _end

:_end

this also needs mtee the link is here:

http://www.commandline.co.uk/mtee/

extract that file into the directory were do is. then you will be able to log your stuff so that we can better debug it will log everything. This version will aslo autorename the files if they are not 8.3 already then they will be when this script gets done with them.

I have also set it up with a tmp directory so you will need a tmp directory were some of the hotfixes are extracted to.

One more thing deltree is not on xp does anybody know of a way to delete direcories? This will dreat directories in the tmp directory but the del command will not delete directories one files. I would like to leave tmp completely clean when it is done.,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...