iWindoze Posted August 31, 2005 Share Posted August 31, 2005 I've been watching allthe efforts to learn and understand the9x series of Windows (actually my favorite version, minus afew features I really enjoy from XP such as cleartype) and Iwas wonder what is to stop someone from creating our ownsetup.exe for Windows 9x? Instead of using Win3.x to installwe could build an installer based on the work being done tobuild a 5mb windows. Then it would be just a matter of copyingfiles to their proper locations and telling the registry where tofind everything.I'm curious if this would be a better way to make a Windows 9xsystem that is fully updated at install time? I've tried using thevarious updates and MS's cab tool to create updated cabs forinstall and those seemed to work right up to the point wherethe system screamed for IE ...I actually managed to work myway around that issue by changing the shell to taskman.exeand installing IE6SP1 and the continuing the install after rebootby switching shells again.When I tried to do something simuliar with Gape's service packand IE or maybe it was some WinME files? Setup complainedabout invailid beta needing an EULA or something. It occursto me that we'd get around a lot of restrictions if someone wereable to build a custom Win9x installer that were capable of usingthe best parts to build the system.Any ideas here anyone or have I just been awake too long? Link to comment Share on other sites More sharing options...
Rhelic Posted August 31, 2005 Share Posted August 31, 2005 I think you've been awake too long, here's my take on it all. Please take note there's no sugar coating in this post, this is rough love.Gape's work of getting all the hard to find updates for Win98 together in 1 big SP is awesome, we have a way to make 98 a more stable & secure platform than it ever was. I hope he continues his work until it's physically impossible to apply any more 1st party updates to 98.Also I appluad everybody else that does 3rd party work to fix major faults in 98 such as support for large HDs, USB support, etc etc.What you are doing is re-inventing the wheel by bastardizing the Win98 install and repackaging it. IMHO, this is out of the scope of this forum. While I admit a Win98SE install with integrated SP2.x would be nice, I think re-inventing the 98 install is just going too far.But hey, if you can pull it off, good luck, I think this is 100x more complicated than you realize. Link to comment Share on other sites More sharing options...
jimmsta Posted September 1, 2005 Share Posted September 1, 2005 Essentially, you can integrate Gape's SP2 into a Win98SE cd. Just dump the CAB file "SP2.CAB" into the Win98 directory, then go ahead and install Win98SE. It'll automatically find the SP2 file, and copy all files in there to the install.... it's documented in v2.0.2's post.If you wanted to re-write the setup.exe file, you wouldn't be doing much... setup.exe is basically just a dummy launcher - it detects when DOS is in use, and runs a separate DOS installer binary (DOSSETUP.BIN)... the .BIN files are the installers for Windows 9x. Check them out, if you wish, but there's never going to be a new installer for a 7-year old Operating System, of which, we do not have the source to. Don't give too many people false hopes. T'is a dream. (sorry). Link to comment Share on other sites More sharing options...
the_guy Posted September 1, 2005 Share Posted September 1, 2005 From what I understood of that post, it meant that you had to copy the files in the sp2.cab into the WIN98 dir, not the cab file. I'm not really sure if the cab file would be the same or not, but it might not copy those files.the_guy Link to comment Share on other sites More sharing options...
iWindoze Posted September 2, 2005 Author Share Posted September 2, 2005 I think you've been awake too long, here's my take on it all. Please take note there's no sugar coating in this post, this is rough love.Gape's work of getting all the hard to find updates for Win98 together in 1 big SP is awesome, we have a way to make 98 a more stable & secure platform than it ever was. I hope he continues his work until it's physically impossible to apply any more 1st party updates to 98.Also I appluad everybody else that does 3rd party work to fix major faults in 98 such as support for large HDs, USB support, etc etc.What you are doing is re-inventing the wheel by bastardizing the Win98 install and repackaging it. IMHO, this is out of the scope of this forum. While I admit a Win98SE install with integrated SP2.x would be nice, I think re-inventing the 98 install is just going too far.But hey, if you can pull it off, good luck, I think this is 100x more complicated than you realize.<{POST_SNAPBACK}>Thanks for the tough love.I want to clear up one misconception though. I wouldn'tbe the one to try and do this. I'm simply not a programmer.I wish I were, it'd allow me to make some serious cash withsome of the ideas I have floating around in my head.About Gape's service pack, I'm not actually focussing in so muchon what Gape does (much as I am greatful beyond words for hiswork) I'm thinking more of on the level of stuff that Tihiy doesor the kinds of things that are done by MGX's 98SE2ME app. Iactually based things on MGX's list when I tried my earlier experimentin slipstreaming ME files in to 98SE. This was before the 982MEapp was released and we all had to hack into things ourselves.What I'm focusing in on is doing things like adding and upgradingthe actual OS. Things that 98lite did on the inf level can only goso far before they run into limitations in microsoft's setup.exe.Things like adding IE6SP1 at install time simply can't happen becausesetup.exe says so. You can't change around system file locationsuntil after the system is installed because certain things are hardcoded simular to the way Windows 2000 Service Packs could onlybe slipstreamed form a certian locations.I'd like to be able to install IE6 at install...ditto on Direct X. I'dlike to do a lot of things that are required to improve systembehavior semi-automatically. Link to comment Share on other sites More sharing options...
PeteK27 Posted September 3, 2005 Share Posted September 3, 2005 Having spent far too much time exploring the Win9x setup process, I would like to clarify a number of misconceptions about setup.exe. Jimmsta is mostly correct when he says “setup.exe is basically just a dummy launcher”. However even the *.bin files don’t really do much. They mostly just provide the pretty GUI front end. The real work is done by a handful of key DLL’s of which setupx.dll performs the bulk of the work.Setupx.dll is mostly just a text file parsing engine. Its job is simply to open, read and process inf files. Contrary to what you are thinking, it is the content of the setup files (infs) that determines what gets installed, not setup.exe or the related files. If you change the infs, you can radically change what gets installed. Overall there is really no point in rewriting setup.exe (and/or its related files) since a rewritten version won’t do anything that couldn’t be done much easier with a few custom inf files.>Things like adding IE6SP1 at install time simply can't happen because setup.exe says so.Unless MS recently changed things, most of the IE packages use an inf driven setup engine that for the most part is modeled on setupx.dll. If you download the IE setup files (mostly various cab files) you will find that they contain a number of inf files. With some relatively minor modifications, I am not aware of any reason why you could not slipstream IE6SP1 into the Win9x setup process. After all this is exactly what MS did with IE4 in Win98, IE5 in Win98SE and IE5.5 in WinMe. I haven’t done it simply because I am not a big fan of IE.>I'd like to be able to install IE6 at installThen learn all you can about how the win9x setup process works, download the IE setup files, fire up notepad, and start editing.>ditto on Direct XDifferent program, same process. I can’t think of a program (assuming that it was designed to run under Win9x) that couldn’t be made a part of the normal setup process. It is simply a matter of figuring out what files need to be copied and what registry entries need to be made, and then writing an inf file that will do that. All most of the various setup programs (Installshield, etc.) do is put a pretty face on the job of copying files and making registry entries. I’m not saying this is a 5 minute process. However the bulk of the work involves mostly testing, testing and more testing of your custom inf file until you get it right.My only advice is that you may want to consider starting with a slightly smaller project and working your way up to IE6SP1. IE is a rather tangled, complicated mess (this is part of the reason I don’t like it). If you don’t get everything just right, things just stop working. Even changing something minor often breaks some part of IE that you would think should not even be related. This is not a problem with the Win9x setup files, it is a problem with the inherent design of IE. >Things that 98lite did on the inf level can only go so far before they run into limitations in microsoft's setup.exe.98lite and my package (pcss) only scratch the surface of what could be done simply with inf files. I have a number of ideas for creating what could be a whole new version of Win9x. I simply don’t have the time to execute them. Link to comment Share on other sites More sharing options...
iWindoze Posted September 3, 2005 Author Share Posted September 3, 2005 Having spent far too much time exploring the Win9x setup process, I would like to clarify a number of misconceptions about setup.exe. Jimmsta is mostly correct when he says “setup.exe is basically just a dummy launcher”. However even the *.bin files don’t really do much. They mostly just provide the pretty GUI front end. The real work is done by a handful of key DLL’s of which setupx.dll performs the bulk of the work.Setupx.dll is mostly just a text file parsing engine. Its job is simply to open, read and process inf files. Contrary to what you are thinking, it is the content of the setup files (infs) that determines what gets installed, not setup.exe or the related files. If you change the infs, you can radically change what gets installed. Overall there is really no point in rewriting setup.exe (and/or its related files) since a rewritten version won’t do anything that couldn’t be done much easier with a few custom inf files.<{POST_SNAPBACK}>Okay thanks for clarifying my misconceptions there on Setup.exe.I had read that all setup.exe does is launch a mini win3.x enviromentto copy files and provide a temporary gui for installation. I see thatwhat I read is only half the situation. From my misconceptions I hadthe thought that the way to go would be to bootstrap a mini W9xenviroment and go from there, that no being the case then .infsare where I want to go. Hmmm....>Things like adding IE6SP1 at install time simply can't happen because setup.exe says so.Unless MS recently changed things, most of the IE packages use an inf driven setup engine that for the most part is modeled on setupx.dll. If you download the IE setup files (mostly various cab files) you will find that they contain a number of inf files. With some relatively minor modifications, I am not aware of any reason why you could not slipstream IE6SP1 into the Win9x setup process. After all this is exactly what MS did with IE4 in Win98, IE5 in Win98SE and IE5.5 in WinMe. I haven’t done it simply because I am not a big fan of IE.>I'd like to be able to install IE6 at installThen learn all you can about how the win9x setup process works, download the IE setup files, fire up notepad, and start editing.<{POST_SNAPBACK}>Alright, then but please understand I'm not the fan of IE you seemto think I am...I only want IE for its updated files and then to makethe rest of it go away as quickly as possible. I was hoping that onceIE was installed (or at least the essensial files needed for updates) itcould be modified ala Fred Vork's Win2000 RegInstall tips in step 19(I think it was) of his project. I want\need the GUI shell enhancementsof IE but don't want to pay for them by accpeting the rest of it. Ifthere were a way to just add the files needed and reshack the ####out of them so they don't make all those directories in /Windows I'dbe the happiest man on Earth.>ditto on Direct XDifferent program, same process. I can’t think of a program (assuming that it was designed to run under Win9x) that couldn’t be made a part of the normal setup process. It is simply a matter of figuring out what files need to be copied and what registry entries need to be made, and then writing an inf file that will do that. All most of the various setup programs (Installshield, etc.) do is put a pretty face on the job of copying files and making registry entries. I’m not saying this is a 5 minute process. However the bulk of the work involves mostly testing, testing and more testing of your custom inf file until you get it right.<{POST_SNAPBACK}>Well that's basically where I'm going...I'd like to do 'strange' thingswith the system though, like provide for installing the '/program files'folder at a different directory ala the way setup.exe currently asksfor the /Windows location. Also I'd like to make the default installinstall certain files in a different location, either at /Windows/Commandor if I can do it without breaking too much I'd like to make the setupput everything in '/Windows/system' ... and of course not install certainitems at all! Like the whole 'Welcome to Windows' or the old RealAudiofiles..not to mention the WebTV stuff which seems to be inhereintlybroken...unless someone knows of a way to fix it up ala Windows MCE?98lite and my package (pcss) only scratch the surface of what could be done simply with inf files. I have a number of ideas for creating what could be a whole new version of Win9x. I simply don’t have the time to execute them.<{POST_SNAPBACK}>Ahh...well THIS is it exactly. I'd like to see about creating a whole newversion of Windows 9x. I've tried before (I mentioned my first foolhardyattempt in my first post) some time ago and got some (limited) goodresults as long as I installed IE 6SP1 before allowing setup to continue.I'd like to try again with a little more enlightenment at my side. I'd evenlike to see what could be done about creating some kind of front end tothis ala 98Lite (which to all extents and purposes seems dead) and makeit freely available to the world. The trick (IMHO) is to get something thatcan be run on a proposed 98Setup directory and make all the changesfrom there with the user typing 'y' ala MGX's 98SE2ME which does just that. The difference would be that once finished the program\batwould exit out leaving a completely patched directory with everythingready to be used. You could burn the directory to disk with some extratools (although that shouldn't be necessary) and when you installed thewhole thing would run from start to finished and exit out with an updated(in all senses of the word) desktop. Drivers ect allready installed.Something that would be soporific's work on steriods....Something that would use Tihiy's 98Revolutions Pack from the get go.Something...I think you get the picture... Link to comment Share on other sites More sharing options...
PeteK27 Posted September 4, 2005 Share Posted September 4, 2005 >I want\need the GUI shell enhancements of IE but don't want to pay for them by accpeting the rest of it.Keep in mind that, as of Win98, iexplorer.exe and explorer.exe are two sides of the same coin. It is difficult to change one without breaking the other since they both use the same DLL’s. However if all you want is the shell enhancements and don’t plan to browse the web with IE there are significant chunks that can be removed.I would suggest that you take a look at iefiles.inf in PCSS for some background on the parts of IE that you will probably need. Even though I used the Win95 shell in PCSS, it isn’t too complicated to modify it to use the Win98/IE shell instead. I left several notes about how to do this. [see this post for PCSS http://www.msfn.org/board/index.php?showtopic=53927. BTW, PCSS.exe is just a big DOS based zip file. If you want to see what is going on (without reinstalling Windows) simply run it in a temporary directory. It will just extract a bunch of files and you can then read through them to see what is happening]Once you get the Win98 shell running you can then go through IE6SP1 and pull out the updated files that you would need and begin experimenting. In most cases you probably won’t even have to modify iefiles.inf. Just copy the updated DLL’s into the windows setup directory and install as normal. Setup will grab the updated DLL’s first rather then the ones in the cabs. However I am sure you will run into at least a few problems. A few of the updated files will probably depend on a few new DLL’s, require some new registry entries, etc. But if you take your time and proceed carefully I don’t see any problem making this work.<SOAPBOX>That said I still consider the integration of IE into the shell a bad design decision on MS’s part. No matter how many “critical updates” MS releases it will always be an inherent security problem. What parts of the shell enhancements do you consider important? Are you sure that there aren’t other solutions to these problems? I’ve been able to solve most of my own problems with the Win95 shell. However I do realize it has a few warts that could be a major problem for someone else.</SOAPBOX>>it could be modified ala Fred Vork's Win2000 RegInstall tipsI’m not familiar with this. I think you are referring to modifying the inf files embedded in the various IE DLL’s but I am not sure. Please provide a link to more background.>like provide for installing the '/program files' folder at a different directoryI think this is determined by the following registry entry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ProgramFilesDirCheck the winbase.reg section in subase.inf in PCSS and modify as you see fit. You will also need to modify some DestinationDirs sections and change a few registry entries in other infs to point to your new path. Keep in mind that some lazy programmers may hard code the normal path into their third-party programs. You will have to experiment to see what works.>I'd like to make the default install certain files in a different locationA few changes to the DestinationDirs section in the various relevant infs should do this. Keep in mind though that Win9x by default searches only a few key directories if it can’t find a file. Therefore if you move a DLL out of the Windows\system directory, for example, you will have to add the new path into autoexec.bat so Windows will find it. The exception to this is COM/OLE based DLL’s that are able to self-register (Most of IE, MediaPlayer and parts of DirectX falls into this catagory).>or if I can do it without breaking too much I'd like to make the setup put everything in '/Windows/systemI’m of the reverse mindset here. I hate it when everything gets dumped in one directory. It makes it hard to keep track of what is going on. However in most cases I don’t see this as being a problem if you want to do it.>I'd even like to see what could be done about creating some kind of front end to this ala 98LiteIf you are looking to create a “new” version of Win9x there are a couple of different ways to approach this. The first (mainly bottom up) approach is to modify the infs that come with a stock version of Windows to install the various components that you want and then just use the normal Windows setup routine (setup.exe) to install your modified version of Windows. This is what I have done with PCSS.A second (mainly top down) approach would be to create a package that would install over an existing Win9x installation. This is the approach used by the unofficial service pack. This is easier for the end user (since they don’t have to reinstall) but limits your flexibility since you have to be very careful not to trash someone’s system. There are multiple install programs out there to help you do this.I wanted maximum control and flexibility so I opted for the first approach. However the average user typically sets up their hard drive as one big partition which makes reinstalling Windows a difficult and risky process. As a result this approach is likely to be considerably less popular.>The trick (IMHO) is to get something that can be run on a proposed 98Setup directory and make all the changes from there with the user typing 'y'This is more or less how PCSS.exe works.>The difference would be that once finished the program\bat would exit out leaving a completely patched directory with everything ready to be used.Ditto>The whole thing would run from start to finished and exit out with an updated (in all senses of the word) desktop.This is the part that my package doesn’t do. In my case it wasn’t a big priority. However from what you have described, I think my package would be a good starting point/learning tool to help you get there. Link to comment Share on other sites More sharing options...
iWindoze Posted September 4, 2005 Author Share Posted September 4, 2005 >I want\need the GUI shell enhancements of IE but don't want to pay for them by accpeting the rest of it.Keep in mind that, as of Win98, iexplorer.exe and explorer.exe are two sides of the same coin. It is difficult to change one without breaking the other since they both use the same DLL’s. However if all you want is the shell enhancements and don’t plan to browse the web with IE there are significant chunks that can be removed.<{POST_SNAPBACK}>Well like I said Fred Vorck (Can't believe I spelled his name wrong!Has a few ideas as to where exactly the IE parts of the shell in 2000might be and how to murder IE without sacrificing the shell updates.<SOAPBOX>That said I still consider the integration of IE into the shell a bad design decision on MS’s part. No matter how many “critical updates” MS releases it will always be an inherent security problem. What parts of the shell enhancements do you consider important? Are you sure that there aren’t other solutions to these problems? I’ve been able to solve most of my own problems with the Win95 shell. However I do realize it has a few warts that could be a major problem for someone else.</SOAPBOX>>it could be modified ala Fred Vork's Win2000 RegInstall tipsI’m not familiar with this. I think you are referring to modifying the inf files embedded in the various IE DLL’s but I am not sure. Please provide a link to more background.<{POST_SNAPBACK}>Here's the links you asked for:[ http://www.vorck.com/2ksp4.html ] Step 20[ http://www.vorck.com/2ksp5.html ] Step 25>like provide for installing the '/program files' folder at a different directoryI think this is determined by the following registry entry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ProgramFilesDirCheck the winbase.reg section in subase.inf in PCSS and modify as you see fit. You will also need to modify some DestinationDirs sections and change a few registry entries in other infs to point to your new path. Keep in mind that some lazy programmers may hard code the normal path into their third-party programs. You will have to experiment to see what works.>I'd like to make the default install certain files in a different locationA few changes to the DestinationDirs section in the various relevant infs should do this. Keep in mind though that Win9x by default searches only a few key directories if it can’t find a file. Therefore if you move a DLL out of the Windows\system directory, for example, you will have to add the new path into autoexec.bat so Windows will find it. The exception to this is COM/OLE based DLL’s that are able to self-register (Most of IE, MediaPlayer and parts of DirectX falls into this catagory).>or if I can do it without breaking too much I'd like to make the setup put everything in '/Windows/systemI’m of the reverse mindset here. I hate it when everything gets dumped in one directory. It makes it hard to keep track of what is going on. However in most cases I don’t see this as being a problem if you want to do it.<{POST_SNAPBACK}>Well I was actually talking about *.exes not *.dlls>I'd even like to see what could be done about creating some kind of front end to this ala 98LiteIf you are looking to create a “new” version of Win9x there are a couple of different ways to approach this. The first (mainly bottom up) approach is to modify the infs that come with a stock version of Windows to install the various components that you want and then just use the normal Windows setup routine (setup.exe) to install your modified version of Windows. This is what I have done with PCSS.A second (mainly top down) approach would be to create a package that would install over an existing Win9x installation. This is the approach used by the unofficial service pack. This is easier for the end user (since they don’t have to reinstall) but limits your flexibility since you have to be very careful not to trash someone’s system. There are multiple install programs out there to help you do this.I wanted maximum control and flexibility so I opted for the first approach. However the average user typically sets up their hard drive as one big partition which makes reinstalling Windows a difficult and risky process. As a result this approach is likely to be considerably less popular.>The trick (IMHO) is to get something that can be run on a proposed 98Setup directory and make all the changes from there with the user typing 'y'This is more or less how PCSS.exe works.>The difference would be that once finished the program\bat would exit out leaving a completely patched directory with everything ready to be used.Ditto>The whole thing would run from start to finished and exit out with an updated (in all senses of the word) desktop.This is the part that my package doesn’t do. In my case it wasn’t a big priority. However from what you have described, I think my package would be a good starting point/learning tool to help you get there.<{POST_SNAPBACK}>I'd like to see a bottom up approach definately!Thansk for replying. Link to comment Share on other sites More sharing options...
eidenk Posted September 4, 2005 Share Posted September 4, 2005 Well like I said Fred Vorck (Can't believe I spelled his name wrong!Has a few ideas as to where exactly the IE parts of the shell in 2000might be and how to murder IE without sacrificing the shell updates.Doesn't Ieradicator already do what you want here ? IEradicator2001 leaves the "enhanced" shell features in place and just takes out the browser.http://www.litepc.com/ieradicator.html Link to comment Share on other sites More sharing options...
iWindoze Posted September 4, 2005 Author Share Posted September 4, 2005 Well like I said Fred Vorck (Can't believe I spelled his name wrong!Has a few ideas as to where exactly the IE parts of the shell in 2000might be and how to murder IE without sacrificing the shell updates.Doesn't Ieradicator already do what you want here ? IEradicator2001 leaves the "enhanced" shell features in place and just takes out the browser.http://www.litepc.com/ieradicator.html<{POST_SNAPBACK}>Some of what I want, yes...but not at install time and note from thetop of the page you yourself just linked:Not for use with Windows 2000sr2 or Windows XPWhereas Fred Vorck's method WILL work with Win2000 SP2-5u*and its worked for me in Windows XPSP2 (minus a few breakagepoints in the 'enhanced' start menu). Also a big sticking point withIERadicator (IIRC, its been a few years since I last used it) ShaneBrooks doesn't eliminate the ability of Explorer to convert to IE ifa url is typed directly into the addressbar. The method referencedby Vorck is a direct modification to the DLLs themselves via Reshackerand 9x has the big advantage of using this method over 2000 andXP by virtute of its age: Its no longer being updated as frequentlyso files can be changed with a bit more impunity.Which is one of the bigger reasons why I favor a top up approach--Starting fresh is simply less headache than trying to cajole the OSinto behaving afterwards...surely anyone who has used ROMII knowsthat...especially as compared to the now defunct 98Lite!-iWindoze Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now