Jump to content

new hotfixes.cmd


Recommended Posts


That's a very nice script. Could you modify to update files inside sp1.cab too? One more thing what does swith -zx21 do? I usually use compress -r -z filename.ext.
EDIT:

See my post later on.

The zx21 is full compression. It is used in compress.exe.

cant find compress anyplace but I do know that xp comes with make cab. What is the difference? Wont make cab do the same thing?

I don't know! I do know that compress.exe compresses each file in it's own cab and changes the extention to filename.ex_ automatically, which is why I used that. You could try something else and let us know how you got on.

So what is the big advantage of the new method? I mean, the end result counts...?
This is the method I came across first. I was responding to this:
I noticed that hotfixes for applications that can be added/removed from control panel will revert back to Windows XP SP1 version if you install/uninstall the appropriate application.
If it wasn't for this, I'd use the other way.
Ive tried on this latest scvpack stuff and it works fine for teh older service packs but not th newer ones.
I found it worked on all hotfixes with the white icon. Which one's doesn't it work on?
On a last note

the notes on adding the dlls and such from the hotfixes to the i386 are best practice scenarios. Not requisite.

It does mean the cd has the updated files if you uninstall and reinstall something later on though. I did this becuase it was in the microsoft guide I was following.

Anyway, it's just something I use and thought I'd pass on.

Link to comment
Share on other sites

@amirali_esh: i've tried it the way, you suggested... it actually doesn't work. windows doesn't report any error, but also won't update any files. it's easy to figure it out, if you check whether the IE cumulative patch has been installed, see whether "ntdll.dll" got a new version number (>1106), etc...

it only works, if you also add the altered files to "dosnet.inf" as suggested in that microsoft guide.

It is working for me. I haved check all the files one by one after windows setup by searching for the file and comparing the version numbers with the version numbers from the appropriate hotfix. My method is :

1) Extract all hotfixes to a temporary directory omitting unnecessary files like spmsg.dll or spuninst.exe and so on. If a file exists in several hotfixes only keep the highest version.

2) Compare the contents of sp1.cab and this temporary directory and copy all files that exists in both sp1.cab and temporary directory to a directory name FORSP1.

3) Extract sp1.cab to a directory names SP1 (I use winrar for this task).

4) Copy contents of FORSP1 directory to SP1 directory overwriting old files.

5) Rebuild sp1.cab by going into SP1 and issue the command C:\cabarc -r -p N C:\SP1.CAB *.* (use google to find cabarc.exe).

6) Copy new sp1.cab to I386 folder.

7) Now compare contents of temporary directory and i386 folder and delete any files that does not exist in i386 from your temporary folder.

8) compress all files in your temporary folder by using makecab.

9) Now copy compressed files to i386 folder and replace older versions.

10) add this line to dosnet.inf :

[OptionalSrcDirs]

svcpack

11) make a directory in i386 named SVCPACK and copy hotfixes and catalogues to this folder and don't forget to rename hotfixes so it is in 8.3 format.

12) make a svcpack.inf using this format :

[Version]
Signature="$Windows NT$"
BuildNumber=2600
MajorVersion=5
MinorVersion=1

[SetupData]
CatalogSubDir="I386\SVCPACK"

[ProductCatalogsToInstall]
Q######.cat

[SetupHotfixesToRun]
Q######.exe /Q /U /Z /N

put your catalog names in [ProductCatalogsToInstall] section and your hotfix names in [setupHotfixesToRun] section.

delete svcpack.in_ from i386 folder and copy this new svcpack.inf to i386.

One exception: when dealing with ntdll.dll don't compress it, just copy it to i386 and also SYSTEM32 folder.

That's all. This method is working perfect for one.

You can also this method for js56nen.exe and cumulative patches with the exception that you don't need to put the catalogue file for these update in svcpack.inf. Just add them to [setupHotfixesToRun] and use swith /q:a /r:n

Advanced Networking Pack and hu1002_pro doesn't work using these method. You have to install these after setup.

Link to comment
Share on other sites

I added a bit to my script to update sp1.cab. I've added the bit before and after so you can see where it goes. You now need carbarc in the bin folder as well. I couldn't get either compression files to do all I needed. You have to extract the sp1.cab contents to files\sp1

rem move cat files to svcpack folder
for %%i in (2\update\*.cat 2\sp2\update\*.cat) do move /y %%i 3\svcpack

::NEW BIT::
xcopy /d /h /u /y 2\*.* files\sp1
xcopy /d /h /u /y 2\sp2\*.* files\sp1
bin\cabarc.exe N 3\sp1.cab files\sp1\*.*
::END::

rem compress files and copy to output folder
bin\compress.exe -d -r -zx21 2\* 3
bin\compress.exe -d -r -zx21 2\sp2\* 3

I've tested it and it will only add files that are already in the files\sp1 folder, and it will only add them if they are newer. The drawbacks are that the files will also be copied to the 3 folder and end up in i386, and it has to rebuild the cab when adding each new hotfix. Please improve it for me!

Link to comment
Share on other sites

Ive tried on this latest scvpack stuff and it works fine for teh older service packs but not th newer ones.
I found it worked on all hotfixes with the white icon. Which one's doesn't it work on?

Well it does not work on the ones that have a colorfull icon.

Link to comment
Share on other sites

I noticed that hotfixes for applications that can be added/removed from control panel will revert back to Windows XP SP1 version if you install/uninstall the appropriate application.
If it wasn't for this, I'd use the other way.

Well, the hotfixes can't be uninstalled from control panel -> software, and what other apps is this referring to?

Link to comment
Share on other sites

Well, the hotfixes can't be uninstalled from control panel -> software, and what other apps is this referring to?
Here's a quote from the microsoft guide I used:
Important

Hotfixes are applied only to software that is already installed when you apply the hotfixes. For example, if you remove a component and later reinstall it, you must reinstall any hotfixes that apply for that component. In addition, if you add further components to your computer that require this hotfix, you must install the hotfix again. Fixes included in a service pack do not work the same way. After you install a service pack, fixes are applied to all components you add or reinstall without you having to reinstall the service pack.

You're not realistically likely to know what hotfixes would need to be re-installed -- at least I wouldn't anyway. Still, everyone has a choice how they install the hotfixes or even whether they want to install them at all. I just wanted to post something I use that others may find useful or not.

Link to comment
Share on other sites

Here's a quote from the microsoft guide I used:

[...]

Hm i understand, but isn't it as simple as checking WindowsUpdate, after you installed something that reverts to SP1? Then you download and install the missing fix again and that's it. But i see why your method is superior, if done right...

Link to comment
Share on other sites

Hm i understand, but isn't it as simple as checking WindowsUpdate, after you installed something that reverts to SP1?
Yes! Please understand I don't think my idea is superior and I'm not trying to get people to do it that way. It's the way microsoft suggest and I found it before I found this site and spent some time making it simple to do and I thought I'd share it for anyone else who wants to do it that way too. I also wanted those who were better at batch files etc. to improve it and make it easier if possible.
Link to comment
Share on other sites

to answer the reversion to sp1 components

not possible if done right

best practice is to automate a sfc /cachesize=1536 command

then followed with sfc /scannow to be carried out at first boot

that takes care of the question and future possibility of overwrite by elder components

Link to comment
Share on other sites

Ok I have al lthe patches installing mostly this way now. Even the ones wiht different command line options. I only ran across 8 that are not installed. I went to windows update right after a fresh install and it only listed 8 but I have not had time to check out if they are ones I have included or if I have jsut missed them. One was for windows media player 9 and since I dont have it instlled it would make sence that the patch was not installed.

Thanks for this method I like it very much It should be much better than the manual patch method.

Link to comment
Share on other sites

well although you had the idea I am actually using the batch scripts from the other guy and his methods as they work. I actaully did not even try it the way you at first propsed. Now I have something I can tweak though and work on to get the install just right without having to do that all by hand. Soonish I hope to have it working completely as the only patch the does not take right now is that last mdac patch. I'll get it though.

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...