Jump to content

Completely updated, slipstreamed Win98 CD


wrayal
 Share

Recommended Posts

Ok, I have seen one or two others express an interest in this, and I hope setting up its own devoted topic may help, and also stop me littering other threads (sorry MDGx!).

The idea is to attempt to create a complete win98 CD so far as is possible, with everything slipstreamed as neatly as possible. There are several reasons for this:

1) Speed: The windows 98 setup is already slow - getting to the end and having a giant post-setup .bat to filter in all extra files is going to dramatically increase the time even on top of that.

2) Space: whilst windows 98 is not that large, after including all the updates as well, this is no longer quite so true! (Personally, I hope to add this to a multiboot DVD later on)

3) Aesthetics: This manner of installing is, I hope many will admit, cleaner than the alternatives.

This project is...naively ambitious. Ultimately I hope to slipstream in:

Gape's USP3 - http://www.msfn.org/board/index.php?showtopic=61749

Soporific's autopatcher updates - http://www.msfn.org/board/index.php?showtopic=80800

MDGx's 98SE2ME - http://www.msfn.org/board/index.php?showtopic=46349

MDGx's 98MP10 - http://www.msfn.org/board/98MP10_WMP10_XP_...lac_t89934.html

Tihiy's Revolutions - http://www.msfn.org/board/index.php?showtopic=58357

Xeno86's KernelEx - http://www.msfn.org/board/index.php?showtopic=71476

LLXX's Break 137GB - http://www.msfn.org/board/Enable48BitLBA-B...ier-t78592.html

LLXX's Copy2GB - http://www.msfn.org/board/Copy2Gb-t81200.html and...

Firefox

I believe the above order is that in which they must be integrated. Is there anything important I have left out? I believe the NUSB drivers are already incorporated in this configuration, but, being stupid, I may well have missed something very important. I must admit, I am *not* the most qualified person to do this - I have played a lot with this kind of thing, but this is (more than) a little beyond my usual depth, so please point out my numerous pieces of stupidity.

Of course, Glaurung's slipstreamer ( http://www.msfn.org/board/index.php?showtopic=81068 ) will be of key importance in this method! I think the first thing to do is to start with USP3, for which I am currently investigating the .inf install files. I believe there are many files that can simply be slipstreamed in - where files are simply replaced (as with much of 98SE2ME) I *think* we can directly use glaurung's slipstreamer. For new files, deleting files, registry entries and so forth, I suspect I shall have to use a batch file called from msbatch.inf. Is there anything immediately stupid with this approach?

Anyway, I thought I'd just give anyone who had a vague interest the heads up, and see whether anyone wished to help at all?

Many thanks go out to all the people who have made this something it's even possible to contemplate:

Glaurung, MDGx, Gape, Soporific, Tihiy, Xeno86, LLXX and so many others; I'm sorry to anyone I've missed!

Wrayal

Edited by wrayal
Link to comment
Share on other sites


I'd love for this to happen :thumbup

Ideally it would be developed so users can build there own slipstreamed version so they can decide which updates they want to integrate.

I wonder if it be possible to slipstream in Internet Explorer 6 and its updates as well?

Link to comment
Share on other sites

Well, a lot of the installers are in inf format, so I hacked together a little script - it'll take a .inf file and parse it (basically putting it into batch format, the intention being to figure out how many of the commands can be eliminated using glaurung's slipstreamer, then do the rest manually). At the moment, it sorts out custom directories, and figures out all the copy/delete sections. I know that still leaves rather a lot to do, but it's start. However, I need some help with a couple of things:

1) Does anyone have a complete list of CLSID directories? (e.g. 11 corresponds to "%windir\\system\\") I've put in those I can find, but it still leaves rather a few missing - hence some 'undefined' bits.

2) I'm not *that* familiar with batch scripting - is there any concise way to read/update reg entries? A few of the features rely on this.

Note: It uses a *lot* of nested loops for the parsing, so for long scripts, it may take a few seconds - if the browser complains, just hit continue and it'll eventually finish :P Anyway, it's here:

http://wraypa1.demon.co.uk/Parse.html

Wrayal

Link to comment
Share on other sites

1) Does anyone have a complete list of CLSID directories? (e.g. 11 corresponds to "%windir\\system\\") I've put in those I can find, but it still leaves rather a few missing - hence some 'undefined' bits.

AFAIK there is no no correspondance between CSIDL folders and the special folders seen as numbers in inf files.

2) I'm not *that* familiar with batch scripting - is there any concise way to read/update reg entries? A few of the features rely on this.

Export desired key from regedit with the batch file, edit it and reimport it I would say.

Maybe this could be of interest for you :

http://www.softpedia.com/get/Programming/F...eg-To-Bat.shtml

Link to comment
Share on other sites

Ok, my bad...I did mean CSIDL - I'm claiming early morning syndrome on that typo (It was before 2pm where I am...). You are correct - for the standard folders, there is no correspondence, but as explained here: http://msdn2.microsoft.com/en-us/library/ms790174.aspx there is for some numbers above 16384. However, for example, the table on that page doesnt list the folder corresponding to 13, which is used several times in one of the .inf files I was using for testing; what I was actually looking for was a more complete version of that list.

Thanks for the link; I don't have .NET on the computer I'm using at the moment, so will test it later on.

Edit: Also, what exactly does the process of installation and registration of an OCX/dll consist of? Is installation simply copying it into the correct place, and then registration running "regsvr32 *filename*"? Edit 2: Based on this assumption, have updated again to handle RegisterOCX section

Wrayal

Edited by wrayal
Link to comment
Share on other sites

a) LDID 13 is the Command folder if I am not mistaken.

b)Installing a COM server (OCX or DLL) only consist in registering it. There is no correct place, or rather the correct place is wherever it is registered.

Edited by eidenk
Link to comment
Share on other sites

eidenk: Thanks, exactly what I was looking for :)

Though I did have a thought - as glaurung's slipstreamer can only slipstream in existing files, I guess I need only parse the copy and perhaps delete sections? Then I can update the source files with the new files, and use an inf installer to do the remainder. It'll leave a lot of leftover files, but that was always going to be the case, and if I can integrate packages to avoid too many duplicate files, then compress the entire thing, and decompress to a temp folder during installation, it would still save quite a lot of space whilst minimizing mess.

Edit: Based on this, I have produced another ver. This one will provide a batch script to copy the files that may be slipstreamed/deleted into the correct place, and provide updated copy/delete sections for the .inf. This *should* therefore integrate properly all that is possible (with the help of Glaurung's slipstreamer), and provide corrected source files + the corrections for the .inf files to ensure they are integrated properly, if linked from MSBatch.inf.

Wrayal

Edited by wrayal
Link to comment
Share on other sites

If you're serious with this project, consider this solution:

DEInf - deintegrate things from 98 SE distro

It's forgotten now, and i have no source anymore :( But it can help you with some things.

If i'll ever start creating my custom Windows, i'll use 'imaging' solution - minimal archived windows installation + apps separately. Consider visiting Reinstalling hardware after Windows installation

Also, i should repeat, this project is already done (integrated/removed componets, updated files, IE6, included apps, etc). Unfortunately, only with Russian version: http://bust.narod.ru/98if.html

Link to comment
Share on other sites

If you're serious with this project, consider this solution:

DEInf - deintegrate things from 98 SE distro

It's forgotten now, and i have no source anymore :( But it can help you with some things.

If i'll ever start creating my custom Windows, i'll use 'imaging' solution - minimal archived windows installation + apps separately. Consider visiting Reinstalling hardware after Windows installation

Also, i should repeat, this project is already done (integrated/removed componets, updated files, IE6, included apps, etc). Unfortunately, only with Russian version: http://bust.narod.ru/98if.html

I wish I could read russian :(

Link to comment
Share on other sites

Tihiy: thanks for the links. I'm not sure I'll need de-inf; I'm not planning to remove any components, but only to replace and add (at the moment), although the source code would have been useful to make sure I was absolutely certain on the mechanism...oh well :P The hardware re-install should be very useful though - it will add a couple of extra restarts, but if this is the price of better support and more recent features, it may be a necessary evil. The 98IF page is very interesting - I've not come across it before, and though my Russian is a "little" shaky, it'd be very interesting to see how it works (with the help of online translators and a Russian speaking father ^_^). I'm actually most interested in his modularization process - it seems to be possible to add cabs at will. It seems he is using .infs in Precopy1.cab. I guess he makes one for each conceivable module, so each gets installed if possible. I guess this is the mechanism I'm looking for to install files which I cannot directly slipstream.

But isn't precopy1.cab amongst those files glaurung's slipstreamer extracts and re-compresses...but which can only have files replaced in it, and not files added? So I take it, when Glaurung says "New files could be slipstreamed, but it would take editing by hand of the makecab script files.", this is exactly what the author must have done, i.e. edit precopy.ddf? Is the hand editing as simple as it would seem, or would the standard naive attempt fail for some obvious reason?

Thanks again,

Wrayal

Edited by wrayal
Link to comment
Share on other sites

If you're serious with this project, consider this solution:

DEInf - deintegrate things from 98 SE distro

It's forgotten now, and i have no source anymore :( But it can help you with some things.

If i'll ever start creating my custom Windows, i'll use 'imaging' solution - minimal archived windows installation + apps separately. Consider visiting Reinstalling hardware after Windows installation

Also, i should repeat, this project is already done (integrated/removed componets, updated files, IE6, included apps, etc). Unfortunately, only with Russian version: http://bust.narod.ru/98if.html

I think I remember trying to hunt this (or an earlier version of it) about a year or two ago only to find it had disappeared and gone underground. :(

Any chance you could translate the HOWTO for us Tihiy?

--iWindoze

Link to comment
Share on other sites

If you're serious with this project, consider this solution:

DEInf - deintegrate things from 98 SE distro

It's forgotten now, and i have no source anymore :( But it can help you with some things.

If i'll ever start creating my custom Windows, i'll use 'imaging' solution - minimal archived windows installation + apps separately. Consider visiting Reinstalling hardware after Windows installation

Also, i should repeat, this project is already done (integrated/removed componets, updated files, IE6, included apps, etc). Unfortunately, only with Russian version: http://bust.narod.ru/98if.html

I think I remember trying to hunt this (or an earlier version of it) about a year or two ago only to find it had disappeared and gone underground. :(

Any chance you could translate the HOWTO for us Tihiy?

--iWindoze

To commission Tihiy to do this roughneck job would be a waste of his coding talent.

Attached is a quick translation, which I have done in a daring attempt on language barriers.

Enjoy.

HowToEn.txt

Link to comment
Share on other sites

To commission Tihiy to do this roughneck job would be a waste of his coding talent.

Oh I agree! but I was hoping he'd get inspired and put together something that would combine parts of this process, his addons from the RP7 and the other inf installer on this board...

Attached is a quick translation, which I have done in a daring attempt on language barriers.

Enjoy.

Thanks I appreciate it! I'm grabbing it now and will try to give it a gander once I'm not quite as tired as I am now--it's a bit late where I am at the moment. I'll try to read it over more in the morning...

--iWindoze

Link to comment
Share on other sites

Not sure if this'll help; but in my messing around, i've used altered layout.inf's to point to my own (unlinked)cabs containing updated files. I've tried the sp2 cab from 98sesp before, along with some files from se2me. I remember having install issues with some of the se2me "included updated files" (not the ME files, the 2000 one i think)

As you can see this was a good 2 1\2 - 3 years ago; it wasn't too hard but i did do it by hand. find-cut-paste. there probably was an easier way, but i didn't think to use it.

;Updated 6-01-05 11:19 am

;LAYOUT.INF

;Disk Layout file for Windows 98 Setup

*** ADDED MY PERSONAL NOTES ***

;SESP201EN REDIRECT winboot.sys, pcimp.pci, 1394bus.sys, acpi.sys, apmbatt.sys, battc.sys, hidclass.sys, ohci1394.sys, openhci.sys, uhcd.sys, usbd.sys, usbhub.sys, cbss.vxd, kbdhid.vxd, mouhid.vxd, pci.vxd, vpowerd.vxd, vdhcp.386, vip.386, vnbt.386, vtcp.386, msab32.dll, msafd.dll, msnet32.dll, msnp32.dll, mswsosp.dll, nwpp32.dll, irenum.vxd, pppmac.vxd, vnetsup.vxd, vredir.vxd, vserver.vxd, vfwwdm32.dll, kmixer.sys, nabtsfec.sys, portcls.sys, sbemul.sys, sysaudio.sys, usbaudio.sys, wdmaud.sys, crypt32.dll, ctl3dv2.dll, dispex.dll, jscript.dll, mprserv.dll, msadcs.dll, mscat32.dll, oleaut32.dll, rpcltccm.dll, rpcltscm.dll, schannel.dll, softpub.dll, vbscript.dll, wintrust.dll, xenroll.dll, dllhost.exe, esdi_506.pdr, hsflop.pdr, scsiport.pdr, stdole2.tlb, cdfs.vxd, cdvsd.vxd, configmg.vxd, disktsd.vxd, ifsmgr.vxd, ios.vxd, ntkern.vxd, udf.vxd, vcomm.vxd, vfat.vxd, vmcpd.vxd, vmouse.vxd, vpicd.vxd, tshoot98.chm, mfc42.dll, msasn1.dll, msvcrt.dll, olepro32.dll, scrrun.dll, wldap32.dll, cscript.exe, wscript.exe, wshom.ocx, grouppol.dll, hlink.dll

;REDIRECT win95bb.ini, pidgen.dll, sulogo.sys, USER.EXE, START.EXE, EXTRAC32.EXE, webvw.dll(hacked ME)

;ADDED spider.hlp, spider.exe, (&pinball files)

;REDIRECT 867282 files(supports ME Explorer):inseng.dll, mshtml.dll, shlwapi.dll, url.dll, urlmon.dll, wininet.dll

;REDIRECT SESP201EN:comctl32.dll(supports ME Explorer)copied to xtra.cab

;REDIRECT extract.exe(IE 6.0 SP1)

;REDIRECT msconfig.exe(Tihiy ME patch)

[version]

signature="$CHICAGO$"

SetupClass=BASE

[sourceDisksNames]

; Cabinet file names and associated disks

; <cab#> = <disk#>,<cabinet filename>, ID (Unused, must be 0)

*** 1 - 74 of "98 SE CD-ROM" *** OBVIOUSLY I DIDN'T WANT TO USE UP TOO MUCH SPACE IN THIS POST

75="Windows 98 Second Edition CD-ROM","SP2.CAB",0

76="Windows 98 Second Edition CD-ROM","XTRA.CAB",0

*** DIFFERENT LAYOUT.INF ***

[sourceDisksFiles]

;<file> = <cabinet number>,<subdir>,<filename>,<size>,<checksum>

;Note: File is not in a cabinet if cab# is 0

tarsier.exe=76,,32768

mfc71.dll=76,,1060864

msvcp71.dll=76,,499712

msvcr71.dll=76,,348160

I don't see why we would really be shorted files. i just add them and their size to the layout.inf to point the way.

Alter the install infs to ask for them, and tell them where to go.

:D hope this helps somehow (oh - this is so much fun)

here's a link on the layout.inf to cab relation. it may help.

http://www.easydesksoftware.com/news/news8.htm

and working with infs some (although i didn't really use these, but still have the files none the less)

Custom Win98SE setup scripts (infs)

LDID Information (at the bottom) be sure it's "Appendix C"

http://www.microsoft.com/resources/documen...t7/wrkappc.mspx

just to keep the info close :D INF + Iexpress guide

http://www.mdgx.com/INF_web/

Edited by Jaymo
Link to comment
Share on other sites

here's a link on the layout.inf to cab relation. it may help.

http://www.easydesksoftware.com/news/news8.htm

Warning! This applies to most of the CAB's; some of them do indeed run "one-to-the-other", i.e. "link" (for want of a better term)!

example -

double-click on driver13.cab - opens fine, but notice the 3gb file

double-click on driver14.cab - won't "open"... continued from driver13.cab!

mini.cab - self-contained

precopy1.cab chains to precopy2.cab

catalog3.cab chains through to win98_74.cab

win98_ol.cab - self-contained

many/most of the chained cabs are "self-contained", but some (see above) must chain. this subject has been brought up before. there ar many INF's that point to files within the CABS for specific filenames. to fully "slipstrteam", you would have to rebuild all cabs, modify all inf's accordingly, then modify layout1/2/3.inf accordingly, pointing also to the modified (other).inf's.

determination of the "continued" modules (via chaining) can be determined by looking in the MAKECAB documentation for the specific internal format and using a hex editor to see if, indeed. a given module is chained/continued from/to any previous/next cabinet.

alternative - make variable-sized cabs one-by-one with correct module names according to the various INF's specifications without chaining.

@Jaymo - not saying your method won't work... just clarifying the mis-statement made by the aforementioned link.

HTH; happy slipstreaming!

Edited by submix8c
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.


×
×
  • Create New...