Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

Hotfix Slipstreaming

- - - - -

  • This topic is locked This topic is locked
92 replies to this topic

#1
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
Here is my version of the RoyalBox HotFix SlipStreaming Method.
This is similar to the script posted by RoyalBox, both being offsprings of his original work posted here.

The XP distribution is prepared for installation by slipstreaming the latest service pack, slipstreaming hotfixes that are slipstreamable, and programming other installation processes and hotfixes to be executed during system installation.

The advantage to the hotfix slipstreaming as done using this method is that (almost) all versions of the files on the installations CD will be coherent and up to date, and there will be minimal need to re-apply a hot fix after windows asks you to insert the installation CD at a post setup point. I find this the most stable method, as the maximum of files have been updated to the latest versions, the only exception being the type 2 hotfixes that cannot be slipstreamed. (There are fewer type 2 hotfixes, and they are often more of an additional component than a hotfix). Files inside of cabinet archives are updated, and the master file list, DOSNET.INF, is also updated according to hotfix updates.

There is debate about how to handle type 2 hotfixes. I have decided not to attempt to slipstream the contents of these hotfixes. The code, however, is still in place, but "deactivated". I do program these hotfixes to be run, along with type 1 hotfixes, during the installation process.

The installation of hotfixes requires quite a bit of time, and you will find your installation "stalled" at the T-13 point for up to 30 minutes. This is due to each hotfix going through a long search for installed devices and software. (Windows update is quicker, as it does this only once per session, I think ...). I install the hotfixes in unattended mode, as opposed to quiet mode, so that you will notice some life in the installation at this point.

As I was developing and testing the process, it got a little out of hand, and I kept adding bits to the scripts. So now I have it rip the XP CD, slipstream, and burn the new CD. I have decided to include the whole script here ... as I am too lazy to only include the actual hotfix slipstreaming. The slipstreaming part is the majority of the script.

The basic operation is:

- Place all the hotfixes in predetermined directories.
- Place custom files in predetermined directories.
- Put your XP CD in the CD Drive
- Put a blank CD in a second CD burner (optional, or switch in the middle if only 1 drive)
- GO

Behind the scenes:

1) Initialize the environment
2) Copy CD contents to HDD
3) Slipstream Service pack
4) Slipstream Type 1 Hotfixes
5) Create the SVCPACK.INF installer file, and update corresponding DOSNET.INF file.
6) Create the CD structures, adding all additional and custom files
7) Create an ISO CD image
8) Burn the image to CD

I have written this to suit my needs and style. This may not be yours ... but the script is not too big, and I have tried to keep it simple and modular. If it does not work as you like it, you should be able to modify it with out too many headaches.

I have tested the burn process, but not extensively. Beware.

If you have constructive criticism, or interesting questions, I'm willing to listen and talk. If you think your method is better, it probably is. I have enough trouble understanding my own code, let alone someone else's ... and this does just what I need at the moment.

I know this post should in all rights be included in one of RoyalBox's two THREADS on the subject, but I have decided to make a new thread so I can be first! No, I have decided to make a new thread so that I can post the script as part of this message, and update it from there as opposed to using a download site. Hope that's alright by all. The latest version of this script will always be listed below. For the moment, the readme file is a little sparse.

To try it:
HERE

@RoyalBox: Thanks for your help and ideas.
@AaronXP: Fell free to use this however you see fit. I post it like this so I do not have to host it somewhere. I have not included any binaries, as software distibution is not my thing. However, if you want to package it with the binaries, that would be helpful. If not, there are links for all files needed. Here it will at least be easy to find.


How to remove advertisement from MSFN

#2
royalbox

royalbox

    Junior

  • Member
  • Pip
  • 97 posts
  • Joined 12-August 03
Nice work greenmachine! You've put a lot of effort and research into sorting out problems with various hotfixes. I wish microsoft could have had some sort of standard for all it's hotfixes so there wouldn't be any need for the workarounds but that's probably asking too much. Anyway, thanks for all the help you gave me with my version. I'm going to 'retire' it now to save any confusion and also, I'm at the limit of my batch scriting ability now anyway!
Thanks again,
Royalbox.

#3
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
Back by popular demand ...

The original posting of my code suffered from some cut and paste errors when posting. Thanks to space provided by our gracious Adminstrator, AaronXP, I have uploaded these files to the MSFN server.

#4
beppemito

beppemito

    Advanced Member

  • Member
  • PipPipPip
  • 422 posts
  • Joined 31-August 03
is there a great guide for using greenmachine's script?must i put XP cd in d: drive, or Xp with SP1 in d: drive?can you help me please?

#5
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
I agree: the instructions are lame.

Put your original XP in the CD drive, and the latest service pack (SP1) in the SPACKS directory. I have not tested a pre-slipstreamed CD. It should work ... but I prefer to start from the begining, with the original XP CD for each CD creation.

Hopefully, difficulties posted here will be clarified in the updated README.TXT file. I tried to keep it simple: put the CD in your CD drive, HotFixes in HFTYPE1 (blue and white icons) or HFTYPE2 (setup style icons), and service pack in SPACKS.

#6
beppemito

beppemito

    Advanced Member

  • Member
  • PipPipPip
  • 422 posts
  • Joined 31-August 03
ok but...how can i create an auto-install script of some programs?and where must i put they?

#7
Nologic

Nologic

    Advanced Member

  • Member
  • PipPipPip
  • 461 posts
  • Joined 07-October 03
Cool scripts, be sure to keep us up to date with any changes. :)

#8
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
Now that you mention it ... I have made some changes: create CMDLINES.TXT on the fly, generate RunOnceEx registry entries (Windows Update Method), and added more "hooks" where you may place your own files. Most importantly, I have written some documentation, which you will find HERE, along with the latest script.

@beppemito: You can create any install scripts you like, just as before. Run the script to slipstream the HotFixes, and then modify the resulting CDROOT, which you can burn to an ISO or CD when finished.

#9
visaversa

visaversa

    Face it...

  • Member
  • PipPipPip
  • 428 posts
  • Joined 14-October 03
does Q817287.EXE is not a type 2 hotfix?

#10
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
You caught me ...

Yes, it was a type II. I had problems with it before, so I unpacked it and found that it contained a type I fix, wrapped with a stop/start service command. I use the extracted type I version. The type II version will also work fine, with the same limitations of the other type II.

Thanks: I'll correct the documantation to avoid confusion.

#11
visaversa

visaversa

    Face it...

  • Member
  • PipPipPip
  • 428 posts
  • Joined 14-October 03
Just watching things...:-)
I just prepared a .htm wit your patches coupled with the links so it be easy to download from your list...

online tommorow...sleep need some sleep now

#12
Rancor

Rancor

    Junior Monster

  • Member
  • 45 posts
  • Joined 07-September 03
Great script - and great modifications too.
Thanks a bunch :)
- Rancor

#13
eversor

eversor
  • Member
  • 8 posts
  • Joined 09-September 03
Is there any way to install the Sun JRE along with SP1a? As im a newbie to this whole thing can somebody please explain me how to do this?

MfG.Eversor

#14
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
Look HERE

#15
eversor

eversor
  • Member
  • 8 posts
  • Joined 09-September 03
I did know that. But how can i add Sun's Java using your script? Which is really nice by the way!

#16
eversor

eversor
  • Member
  • 8 posts
  • Joined 09-September 03
Oh and some new udates came out today inlcufing SRP 1. So your list should look like this (i hope its correct):

HFTYPE1
----------------------------
KB282010.EXE
KB820291.EXE
KB821253.EXE
KB824105.EXE
Q322011.EXE
Q327979.EXE
Q329170.EXE
Q814995.EXE
Q817606.EXE
Q828026.EXE
KB826939.EXE
KB823182.EXE
KB828035.EXE
KB825119.EXE
KB824141.EXE


HFTYPE2
----------------------------
KB814078.EXE (js56nde.exe)
KB819639.EXE
Q327405.EXE
Q330994.EXE
Q828750.EXE

#17
visaversa

visaversa

    Face it...

  • Member
  • PipPipPip
  • 428 posts
  • Joined 14-October 03
GreenMachine

Could you explain more how you managed to repackage to allow for switchless executions. I have use IExpress to but run into troublewith the dotnet stuff. Maybe a small item (guide) on that would be nice
Thx
w

#18
visaversa

visaversa

    Face it...

  • Member
  • PipPipPip
  • 428 posts
  • Joined 14-October 03
Type1 exist twice in:
HFTYPE1
KB823182.EXE KB824105.EXE KB824141.EXE KB825119.EXE
KB821557.EXE KB823559.EXE KB824105.EXE KB824146.EXE
KB826939.EXE KB828035.EXE Q322011.EXE Q327979.EXE
Q810243.EXE Q814995.EXE Q828026.EXE

#19
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
Drunk again, I guess ... it seems there was more than one Cut & Paste error on the HotFix List section. I have corrected the list.

I will try to answer your request about IExpress this evening, as well as that about Sun Java.

I have made a few slight modifications, most notably I replaced CABARC.EXE with MAKECAB.EXE, which is used to re-create the SP1.CAB and the DRIVERS.CAB. Certainly not a time saver, but it does save over 50Mb on these two files.

Thanks for pointing out the typo. If you have other comments or suggestions ... please don't hesitate to post them.

#20
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
@EverSor: I have updated the documentation to answer your question about installing applications that require command line switches HERE, in the Switched Applications section.
@VisaVersa: You can find an example of using IExpress for DotNetFX HERE. I updated and checked the list of hotfixes, and it is now correct. [For the moment... and weren't you going to send me the href's for the hotfix downloads?]

#21
visaversa

visaversa

    Face it...

  • Member
  • PipPipPip
  • 428 posts
  • Joined 14-October 03

@VisaVersa: You can find an example of using IExpress for DotNetFX HERE. I updated and checked the list of hotfixes, and it is now correct. [For the moment... and weren't you going to send me the href's for the hotfix downloads?]

True, for the moment... I guess creating unattended install cd is a never ending story...Delay for my href's is ...o well the same problem of a never ending story...adding hotfixes. but here they are as of today.

btw, i have 300mb to store some more files...just ask
:rolleyes:

Here is the list

Enjoy
:)
W

edit:
btw, thank you for the example of using IExpress for DotNetFX HERE.
edit:

#22
visaversa

visaversa

    Face it...

  • Member
  • PipPipPip
  • 428 posts
  • Joined 14-October 03
GreenMachine,

First of all congratulations for the neat script. Well written and clear to understand. :)
I did a first run yesterday but run into a blue screen during gui mode.
Could be because I used a beta sp2 during compile.

Try tonight with a new build without sp2 beta to see if it installs.
Therefore I have a request to make¡KWould you like to include a conditional ¡¥original cd rip¡¦, infact the same as I ask to daveXP to split his script in several pieces.
No need to go true the whole process again over and over each time. Espacialy the things that already in place and not need to be ripped or extracted again.
I modified for myself your script to do this but I am not planned to share cause I would not interfere in your work, beside my coding is worse then... yours. :/
Question: is there a reason not to slipstream SR1 in this version?


Btw, is saw you changed a bit to the layout on the spacks page.

ROHF1
ROMSI
and both contained the same files.

Are you gone change the script or are you having other plans with these new directory names?
Greets to all
W

#23
GreenMachine

GreenMachine

    ineXPlicable

  • Developer
  • 3,062 posts
  • Joined 22-August 03
Good eye! I was in the middle of updating that page when I loaded it last night, and said to myself, "Nah, no-one will see it"

Yes, I am in the middle of changing it, but I will not post it until it is where I like it. I will use the same HF1 & HF2 directory structure for including hotfixes that are to be run from the RunOnce section (i.e. 817778, which works no where else). Other additions include a directoy to add users: any file there will result in a user with password=username, both normal and administrator, MSI silient installation directories, etc. It is about 95% now, but testing is slow - start VPC at night, check in the morning.

I thought about splitting into sections, and decided not to. I want to start from known conditions every time. I do not like the idea of re-slipstreaming, so I want to start with the CD files each time. This is not the killer: the time consumer is the MakeCab re-packaging of DRIVER.CAB. 26 minutes on my PIII. Furthermore, I see no need to re-run the script after the hotfixes are in place, unless a new hotfix comes out, and then, as I said, I want to start clean. That said, I use the resulting CD layout, in the CDROOT directory, to make any modifications I desire, and then simply run the MAKEISO.CMD file to create the new ISO in a few minutes. I don't really see the conditions where this solution is not sufficient, but you may. Perhaps when I get really motivated I will allow for a few parameters to be passed, that will jump to certain entry points.

I'm glad that you modified the code to make it work as you like. I tried to keep the code clean for just that reason. True, I do prefer not to have it public if I am going to have to answer for it, but it is no big deal.

No reason not to use SR1. I insist on the fact that this is just a large hotfix, nothing more nothing less, given a fancy name to sooth the masses.

You must have also noticed, see-er of all, that the hotfix numbers where hot linked... Thanks for the research and coding: I just cut and pasted your list.

I will update the documentation later tonight.

Last note: I have no idea about the BSOD. I have not seen one for weeks. Nor have I tested SP2.

#24
visaversa

visaversa

    Face it...

  • Member
  • PipPipPip
  • 428 posts
  • Joined 14-October 03
GreenMachine,

WindowsXP-KB817778-x86-ENU.exe package is placed in the runonce dir and receive processed by the script to be scheduled to deploy with the runonce.reg but this update package supports only the following setup switches:
/? Show the list of installation switches.
/u Use Unattended mode.
/f Force other programs to quit when the computer shuts down.
/n Do not back up files for removal.
/o Overwrite OEM files without prompting.
/z Do not restart when installation is complete.
/q Use Quiet mode (no user interaction).
/l List installed hotfixes.
/x Extract the files without running Setup.
For example, to install the package without any user intervention, use the following command:
windowsxp-kb817778-x86-enu.exe /u /q

So it fails to install Quiet and should be left out the runonce folder.
The same for Knowledge Base Article - 822603
Thought you should now.
Besides the error (http://www.MSFN.org/...showtopic=10021) I received from iis 5 the unattended finished this time the install and continued to reboot. Great stuff…

One more feature request, somewhere in the script should be a routine to cleanup the files that are written in to the temporary directories just to make sure that you start with a real clean run over and over again. I have to do this manually now. Cabtemp, cabs,cdroot ect…

Total time to create iso was 23 minutes on my machine :) with spec below of course, not so long ...

Have fun
W

#25
XtremeMaC

XtremeMaC

    MSFN SuperB

  • Member
  • PipPipPipPipPipPipPipPipPipPip
  • 5,070 posts
  • Joined 13-October 03
  • OS:Windows 7 x64
  • Country: Country Flag
@GreenMachine
okay the batch file is great
but I've a question, I've tried it but I've doubts about it
I couldn't be sure so here it is
in which directory should I be placing the rollup?
in the Service Packs or type 1?
because I'm afraid if I put in on type 1 they will be overwritten?
actually same goes for service packs folder

So where shall I put it and should I be running it as the last update instead of running it first??

Thanks


I wish Microsoft released their SP2 asap before I go completely crazy!
and that sp2 better be a good sp2 with all whatever's neccerssay hot fixes, recommended installs, driver updates!!! grrr....






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users