Help - Search - Members - Calendar
Full Version: Completely updated, slipstreamed Win98 CD
MSFN Forums > Microsoft Software Products - Discussion & Support > Windows 95/98/98SE/ME > Windows 9x Member Projects

   
Google Internet Forums Unattended CD/DVD Guide
wrayal
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
galahs
I'd love for this to happen thumbup.gif


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?
wrayal
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 tongue.gif Anyway, it's here:

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

Wrayal
eidenk
QUOTE (wrayal @ Dec 18 2007, 11:41 AM) *
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.

QUOTE
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
wrayal
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
eidenk
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.
wrayal
eidenk: Thanks, exactly what I was looking for smile.gif

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
Tihiy
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 sad.gif 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
galahs
QUOTE (Tihiy @ Dec 20 2007, 03:11 AM) *
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 sad.gif 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 sad.gif
wrayal
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 tongue.gif 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
iWindoze
QUOTE (Tihiy @ Dec 19 2007, 10:11 AM) *
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 sad.gif 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. sad.gif

Any chance you could translate the HOWTO for us Tihiy?

--iWindoze
GreyPhound
QUOTE (iWindoze @ Dec 22 2007, 01:35 AM) *
QUOTE (Tihiy @ Dec 19 2007, 10:11 AM) *
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.
iWindoze
QUOTE (GreyPhound @ Dec 23 2007, 11:23 AM) *
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...

QUOTE (GreyPhound @ Dec 23 2007, 11:23 AM) *
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
Jaymo
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.

biggrin.gif 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 biggrin.gif INF + Iexpress guide
http://www.mdgx.com/INF_web/
submix8c
QUOTE (Jaymo @ Jan 4 2008, 12:02 PM) *
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!
Targaff
QUOTE (wrayal @ Dec 21 2007, 12:20 AM) *
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)

My impression was (and I trust he'll correct me if I'm wrong) that he was suggesting if you do this that you approach it from the point of view of also give people the option of removing components from the outset rather than having to go back and try to add this in later, hence suggesting that deinf might be useful in this respect. I imagine that this probably looks like a lot more work, but at the end of the day it'd be less work than trying to retrofit it.
Jaymo
not exactly sure where the mistatement was made, but i apologize for it.
i'm not disputing the chained cabs relationship. i was stating that i used additional cabs... but not that i replaced the originals.
if it was a mistatement that site made... biggrin.gif the web's a crapshoot; always best to cross-reference, and still doubt. i was just referencing that site to give a different view of the layouts pointing at the cabs.

but... seeing as i'm here and actually logged in.
i've seen some discussions on linked cabs before(twas a while ago tho') and understand why we're not to use only some linked. but if a person were to redo it so all cabs were different sizes depending on their contents, and not chained, would it work? smile.gif
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.