Jump to content

soporific

Member
  • Posts

    725
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Australia

Everything posted by soporific

  1. While we're on the topic of hotfixes, I need some help with two hotfixes in particular: KB811630 and q323255 The yet-to-be-released next version of the Windows 98 SYL ed. has an upgrade function which means you can use it without having to wait to re-install your operating system. THis meant I had to come up with a system that was able to check to see if a hotfix was able to be installed, or had it already been installed. I've managed to do this. Except for the above two hotfixes. Every other hotfix either adds a new file somewhere on the hard drive, or updates a system file to a newer version. Checking to see if a new file has been added is dead easy, and checking the date of a file is also relatively easy when you use the FIND function in combination with DIR. But KB811630 and q323255 don't give out any useful files to use. Well, I'm pretty sure one of them updates shell32.dll but so does lots of other hotfixes so that's no help and the other hotfix doesn't appear to change anything at all !! That means the check for q313829 is also a bit dodgy - it probably won't work for all situations. Does anyone know of a method (apart from using a directory compare utility) of checking to see if these hotfixes have been applied? No they don't add an INF to the INF folder (remember they don't seem to add any files to the hard drive) which most of the others do which makes this very easy to check. Here's my full list of checks for the currently needed hotfixes (and they haven't been tested extensively): SECTION 4 - these are the checks for each hotfix - if the line contains just a path, then if that path exists, the hotfix has been installed. - for lines starting with dir, the "/" character represents a new line of code. KB811630: unknown KB814078: dir %winbootdir%\system\jscript.dll | find "-03 " / If errorlevel 1 [its not installed] KB816093: %winbootdir%\INF\java.inf KB817787: dir %winbootdir%\INF\wmqfe.inf | find "-03 " / If errorlevel 1 [its not installed] KB823559: %winbootdir%\INF\QFE\W98.SE\823559UN.INF KB837009: %winbootdir%\INF\Q837009.INF KB840315: %winbootdir%\INF\QFE\W98\840315UN.INF KB870669: %winbootdir%\INF\KB870669.INF KB888113: %winbootdir%\INF\QFE\W98\888113UN.INF KB891711: %winbootdir%\INF\QFE\W98\891711UN.INF KB891781: %winbootdir%\INF\Q891781.INF KB896358: %winbootdir%\INF\QFE\W98\KB896358.INF KB896727: %winbootdir%\System\CatRoot\{F750E~1\Q89672~1.Cat mdac281: %winbootdir%\System\mdaccore.rsp q238453: %winbootdir%\INF\QFE\WIN98.SE\238453UN.INF q239887: %winbootdir%\INF\QFE\WIN98.SE\239887UN.INF q242975: %winbootdir%\INF\QFE\W98.SE\242975UN.INF q245729: %winbootdir%\INF\QFE\W98\245729UN.INF q256015: %winbootdir%\INF\QFE\W98.SE\256015UN.INF q259728: %winbootdir%\INF\QFE\W98.SE\259728UN.INF q260067: %winbootdir%\INF\QFE\W98.SE\260067UN.INF q273017: %winbootdir%\INF\QFE\W98.SE\273017UN.INF q273727: %winbootdir%\INF\QFE\W98.SE\273727UN.INF q273991: %winbootdir%\INF\QFE\W98.SE\273991UN.INF q311561: %winbootdir%\INF\QFE\W98.SE\311561UN.INF q313829: dir %winbootdir%\System\Shell32.dll | find "-99 " / If errorlevel 1 [its installed] q320920: dir %winbootdir%\INF\wmqfe.inf | find "-02 " / If errorlevel 1 [its not installed] q323172: %winbootdir%\INF\QFE\W98\323172UN.INF q323255: unknown q329115: %winbootdir%\Options\Cabs\Crypt32.dll EDIT: eidenk, thanks for the link
  2. I used to have this problem when I was a fan of using Norton products - I now don't use Norton products, for a variety of reasons. Your problem may be something to do with one of the installed apps 'remembering' a recent file save location in the a: drive - if you searched the registry for any instances of a:\ (or even a:) - the entry should be either a MRU setting which should be safe to delete, or something entirely different.
  3. if you searched thru all the posts in this thread, whichever app was recommended the most of all as people's *2nd* choice is the overall winner. (Unless there was a clear winner, which there isn't) - its emule by far.
  4. nah dude, how do you know in advance what drivers to use the infinst.exe on? the question isn't how do you include drivers, that question was answered in another thread, it was really asking if anyone knew more about this inkling I have that there is a way to do this ...
  5. Cornfused asked a good question in the Unattended and Updated ... thread about ways to let Windows setup know where to find the drivers for all the new fangled hardware that didn't exist 7 years ago ... what was actually said was: "So, is there a way to slip in all the drivers needed for a custom setup of win98SE (mb, vid, lan, ect)?" I would take this to mean how would you do it if, say, you already have your boot CD made and you buy a new computer, you're not going to be able to install the drivers until after the setup finishes and this would then prohibit installing any applications unattended that require evidence of particular hardware (eg audio). But if you knew a way to ask Windows to check a particular location for extra drivers during setup, all you then would need to do is make sure you copy all needed drivers to this location before setup starts. Your boot CD would then be fool-proof against future hardware changes. SO is there? A way I mean ... Does anyone know more about this issue? I would love to include it in the just-about-to-be-released version 2.1 of the Unattended and Updated Boot Cd for Windows 98 project. Oh I could just do the research myself I suppose ... nah, surely someone's already done it ... go'arn! give us a look!
  6. no, it hasn't come up yet so you can safely take off your flame-proof clothing There's two ways as I understand it: 1) using the batch98 utiility to take a snapshot of the system the operating system is intended for. This will create the msbatch.inf file, but there's still the question of including the driver files and how this is accomplished. I would imagine you would use the infinst.exe (inf installer) utility on your driver files, but i'm not sure as i've never done it. maybe someone who has can say something. - infinst.exe and the batch98 utility are both contained in the Win98 resource kit (v. easy to find) 2) manually adding a link in your msbatch.inf to a folder that contains all the extra driver files. I think. I have only vague memories of this method from my research into this project so if anyone can help, you know what to do.
  7. cdshell.ini: I was wondering about all the weird code - I only adjusted an example that was either already provided or one I got from the net. I'd suggest starting from scratch. EMULE: I don't know of a silent switch for emule, but I didn't use one. Don't use the installer version of emule, get the zipped archive and make a RAR self-extracting file. You can setup the SFX options to automatically copy the files to the directory of your choice, add an icon to the desktop, shortcut to the Start menu, whatever - there are lots of options. I recommend combining the official release with the MorphXT 7.1 mod. DX9.0c: no, DX9 still needs the dxsetup.exe from the redistributable 8.1 version If you do the following exactly, it should work: 1) grab the full version of DX9.0c (33.5MB) and extract it to its own directory 3) overwrite the dxsetup.exe (462 Kb) with the one from v8.1 (46.5 Kb) 4) use this command switch for your code to install it silent and unattendedly: dxsetup.exe /opk (EDIT: or the switch is /silent I can't remember what I put in my SFX file !!! - I'm going to check which one it is but until then here's both switches - sorry!) 5) ideally, to save space you would use WinRAR to make an SFX file that extracts to a temporary directory, then runs dxsetup with the /opk switch. I guess without the switch you would have been stuck. Version 2.1 coming soon --- got other projects that need immediate attention ... but won't be long now.
  8. Thanks jaclaz, you've pointed to one of the posts I remember reading - jimmsta, try adding this to the OPKInstall section: [OPKInstall] ; The following line changes the product type after the first part of ; setup is complete to activate OEM install features. HKLM,Software\Microsoft\Windows\CurrentVersion,"ProductType",,"115"
  9. Hey everyone, thanks to all for keeping this thread growing ... especially you, MDGx. I'll be posting the full, final version of this project (version 2.1) in a few days but there aren't any major changes just a mega clean up of the code. My version IS an OEM version so that's probably significant in this case. One way around it, definitely, it to do a clean install with the retail version, and then use the batch98 utility to make a msbatch.inf file, and use THAT msbatch.inf as your base and add the extra sections to it then to make it unattended and updated. I think I know what the problem is, though. As my intro to version 1 was saying about being able to skip the EULA stage even though its an OEM version, this hack IS FOR an oem version, so maybe its not going to work for the retail version. Maybe try this: take out the OPKInstall section from my msbatch.inf, and just click thru the EULA step and see if that at least works because it should and we would then have narrowed down the problem I really didn't say so in my previous posts, but 99% of my initial work in this project was just surfing around for a few days, bringing all my google skills into practice searching for the answers to particular problems. What I'm saying is that I remember in my travels coming across a post (on msfn I think) that talked about this issue and is where I got my info from about the Retail vs the OEM. I'll have another look for it, but you might want to do the same. I'll post the info if I find it.
  10. excellent, thanks for that ... I was hoping to do it at the stage when msbatch.inf executes, which is way before the windows GUI loads but its not important when it occurs ... this is for the purpose of setting the vcache in system.ini ... so, is there a way to us that VB script to update the system.ini based upon how much RAM is present after setup reaches the first boot to the desktop? (by the way I have never used VB scripts before - can get give some links on how to learn, or give me more info, please!) B)
  11. Welcome to version 2 of this project. I've only just finished it and I would normally take my time to compile a post due to the complexity of providing a lot of information, but it seems there's a few people hanging out for the solution, so here you go ... this post is a bit over the place, I'll fix it up tomorrow after some sleep - its the middle of the morning and quite freezing ---- most of you are going 'huh?' What's different (briefly for now, more detail after some sleep): * The installation files now get copied to the hard drive and are then used to perform the installation. The 2 reasons are: * to allow for unlimited choices of installation components and applications, * the bug in Windows 98 where the CD drive is unaccessible while a hardware installation is occurring thus preventing access to Windows setup files. This only happens rarely but it p***es me off when it happens and the way around it is to have the setup files on the hard disk. - the downside of this is that for some reason, windows setup can't see the CD drive when MSBATCH.INF is running the application installs that are listed in the RUNONCESETUP section. So the workaround is to copy those files to the hard disk first as well. Does anyone know about this issue? * I've included the core of the 98 to Me update. The files updated are: USER32.DLL, USER.EXE, and Explorer.exe * My CD boot menu now offers the choice to install the updated Lite version with only the very basic extra apps (like the must must must have Firefox browser) or the full super duper version with all the apps. To achieve this easily, during the execution of AUTOEXEC.BAT I change the version I want to select (in my case @batch-a.inf or @batch-u.inf) and rename it to MSBATCH.INF. I have only provided the link for one of the boot images so you'll need to make your own 98ue.ima. You do this by duplicating 98ae.ima, extracting the autoexec.bat, and editing it at all instances of @batch-a.inf (change it to @batch-u.inf). If you don't want to do this, change your cdshell.ini file accordingly. The rest of the differences are minor (I think, things are getting a bit hazY) instructions: 1) Make sure you have or do all of the following: * Windows 98 second edition operating system files with a product key that works. I don't know if this will work for the original edition. * All the windows updates from Microsoft's Downloads page. * These (A & B) downloads courtesy of mdgx which are the core of the 98 2 Me update * SUFFICIENT drive space (2+ GB to be safe) * Enable "Show Hidden Files & Folders", Disable "Hide extensions for known file types", Disable "Hide protected operating system files (Recommended)" * WinImage 6.10 * Hex Workshop 4.23 * CDIMAGE 2.47 * CD Shell 2.0.16 * My boot image file * My directory structure * Highly recommended (but optional): - Daemon Tools 3.47 (virtual cd/dvd-rom emulator) * Highly recommended (but optional): - VMware Workstation 4.0.5 or Virtual PC 2004 * A CD burning program like Nero. 2) Create the following directory structure starting at 98BootCD (the root folder): 3) * Install WinImage and your hex editor. * Extract the CD Shell files into your structure as thus: This is my cdshell.ini boot: cls print "\n" print "\n" print "Press Enter to boot from CD ... \n" getkey 5 boot 0x80 if $lastKey == key[enter]; then goto menu if $lastKey == key[esc]; then boot 0x80 # When no key found... goto boot # Printing the Interface menu: set textColor= color[grey on black] set boldColor= color[cyan on black] cls print c "\ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ \n" print c "\ Windows 98 Fully Updated & Unattended Installation Boot CD v1.0\n\n" print c "\ by soporific <a_good_soporific@hotmail.com> \n" print c "\ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ \n" set textColor= color[cyan on black] print "1) Basic version of Windows 98 Fully Updated Edition \n" print "2) Lite version of Windows 98 Fully Updated Edition \n" print "3) Full version of Windows 98 Fully Updated Edition \n" print "\n" print "P) Partition Magic 8 \n" set textColor= color[grey on black] print "Q) Quit to Command Prompt \n" print "R) Reboot \n" print "ESC) Boot 1st Harddisk \n" print c "\n" set textColor= color[cyan on black] print "The hard disk will automatically boot in 30 seconds ... \n" MainKey: getkey 30 boot 0x80 if $lastKey == key[1]; then memdisk /98se.IMA if $lastKey == key[2]; then memdisk /98ue.IMA if $lastKey == key[3]; then memdisk /98ae.IMA if $lastKey == key[p]; then memdisk /pmagic8.IMA if $lastKey == key[q]; then end if $lastKey == key[r]; then reboot if $lastKey == key[F1]; then goto Help if $lastKey == key[esc]; then boot 0x80 end As for where the rest of the stuff goes, the code is actually VERY explicit about this. Really, is a simple method of deductive reasoning to match up where to put which file into what directory. But, because I know its hard enough keeping sane from all the lies on TV ... here's a break from extra thinking: and 4) Explanations for all the new code and method and everything else under the sun will be added when I've had some sleep. I'll write a short bit now, but more in depth reasoning in about 6 hours. 5) Here's some of the code ... I can't finish it all tonight, so here's what I've done so far, just grab this zip file for all the code files I use. Config.sys [menu] menucolor=7,0 menuitem=G_DISK,Enter the GDISK Menu to partition your drives menuitem=FOR_MAT,Auto format drive C: then Auto install Windows 98 second edition menuitem=SETUP_CD,Auto Install Windows 98 superduper fully updated edition menudefault=SETUP_CD,37 [CD_ONLY] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [G_DISK] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [SETUP_CD] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [FOR_MAT] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [COMMON] switches=/F break=on files=40 buffers=20 dos=high,umb stacks=9,256 lastdrive=z autoexec.bat @ECHO OFF set EXPAND=YES SET DIRCMD=/O:N cls set temp=c:\ set tmp=c:\ path=%CDROM%:\;a:\ IF "%config%"=="G_DISK" goto GDISKMENU IF "%config%"=="SETUP_CD" goto AUTOSETUP IF "%config%"=="FOR_MAT" goto AUTOFORMAT echo. Well that was weird. You shouldn't see this ... (error 1) goto QUIT :AUTOFORMAT LH MSCDEX.EXE /D:mscd001 /L:%CDROM% set CDROM=FOO23 FINDCD.EXE if "%CDROM%"=="FOO23" goto NOCDROM %CDROM%: echo. echo (Q)uick format, (F)ull format, or (S)top everything echo. echo Quick format will default in 5 seconds ... echo. choice /c:qfs /n /t:q,5 > NUL if errorlevel 4 goto ERROR if errorlevel 3 goto QUITDOS if errorlevel 2 goto FFORMAT if errorlevel 1 goto QFORMAT echo. Well that was weird. You shouldn't see this ... (error 2) :QFORMAT echo QUICK formating drive C: ... echo. %CDROM%: choice /c:d /n /t:d,1 > NUL format c: /q /autotest /u goto CFORMAT :FFORMAT echo FULL formating drive C: ... echo. %CDROM%: choice /c:d /n /t:d,1 > NUL format c: /autotest /u :CFORMAT echo. echo format complete. goto STARTSETUP :AUTOSETUP LH MSCDEX.EXE /D:mscd001 /L:%CDROM% set CDROM=FOO23 FINDCD.EXE if "%CDROM%"=="FOO23" goto NOCDROM %CDROM%: IF EXIST c:\setuptip.txt goto NODRIVE >NUL IF NOT ERRORLEVEL 0 goto ERROR :STARTSETUP IF EXIST c:\Win98 goto KOPYFILES choice /c:d /n /t:d,2 > NUL echo. echo Now creating setup files directory ... echo. choice /c:d /n /t:d,3 > NUL IF NOT EXIST C:\Win98\nul MD C:\Win98 echo C:\Win98 has been created choice /c:d /n /t:d,1 > NUL IF NOT EXIST C:\TempFile\nul MD C:\TempFile echo. echo C:\TempFile has been created choice /c:d /n /t:d,1 > NUL echo. echo ... All done. choice /c:d /n /t:d,3 > NUL :KOPYFILES echo. IF EXIST C:\TempFile\ACROBAT\ACROBAT5.EXE goto KGOING echo.Now copying installation files to the hard drive ... echo. IF EXIST D:\setuptip.txt XCOPY32 D:\files c:\TempFile /E /Y IF EXIST E:\setuptip.txt XCOPY32 E:\files c:\TempFile /E /Y IF EXIST F:\setuptip.txt XCOPY32 F:\files c:\TempFile /E /Y IF EXIST G:\setuptip.txt XCOPY32 G:\files c:\TempFile /E /Y IF EXIST H:\setuptip.txt XCOPY32 H:\files c:\TempFile /E /Y IF NOT EXIST C:\TempFile\ACROBAT\ACROBAT5.EXE goto NOFILES echo. echo All files under C:\TempFile will be automatically deleted at the very end of setup. echo. echo They can all be easily found on the CD if needed. choice /c:d /n /t:d,3 > NUL :KGOING IF EXIST C:\Win98\Setup.exe goto RSTART echo Now copying installation files to the hard drive ... echo. choice /c:d /n /t:d,3 > NUL IF EXIST D:\setuptip.txt COPY D:\win98\*.* c:\Win98 IF EXIST E:\setuptip.txt COPY E:\win98\*.* c:\Win98 IF EXIST F:\setuptip.txt COPY F:\win98\*.* c:\Win98 IF EXIST G:\setuptip.txt COPY G:\win98\*.* c:\Win98 IF EXIST H:\setuptip.txt COPY H:\win98\*.* c:\Win98 IF EXIST C:\Win98\Setup.exe goto RSTART echo. echo uh oh, something went wrong again ... can't find the setup files. This means ... echo. choice /c:d /n /t:d,3 > NUL echo Sorry, can't continue ... quitting to DOS. Good luck!! GOTO QUIT :RSTART echo Setup files now exist on the hard drive in C:\Win98 choice /c:d /n /t:d,1 > NUL echo. echo Please keep them there for future application installations choice /c:d /n /t:d,3 > NUL echo. echo Renaming @batch-u.inf to msbatch.inf choice /c:d /n /t:d,3 > NUL REN C:\Win98\@batch-u.inf msbatch.inf echo. echo ...Done. choice /c:d /n /t:d,3 > NUL IF NOT EXIST C:\Win98\msbatch.inf goto NOINF echo. echo.Now installing Windows 98 fully updated edition ... echo. C:\Win98\SETUP.EXE /ie /is /nf /nm /nr goto QUIT :NOINF echo The rename didn't work goto QUIT :NOFILES echo The extra application setup files didn't seem to copy ... wanna continue with Windows setup anyway? echo. echo. Y or N? (No will default in 10 seconds) choice /c:ny /n /t:n,10 > NUL if errorlevel 3 goto ERROR if errorlevel 2 goto KGOING if errorlevel 1 goto QUITDOS echo. Well that was weird. You shouldn't see this ... (error 2) goto QUIT :NOCDROM echo. echo The Windows 98 Setup files were not found. echo The CD or CD Drive may be damaged or an unforseen issue has occurred - try rebooting at least once echo You may be able to access the CD drive ... echo If so, run setup.exe X:\msbatch.inf (where 'X' is the letter of your cd drive) GOTO QUIT :NODRIVE echo. echo No disk partitions were found. echo. echo Either your hard drive(s) are not connected properly, or not yet partitioned. echo. goto MENUONLY :GDISKMENU LH MSCDEX.EXE /D:mscd001 /L:%CDROM% set CDROM=FOO23 FINDCD.EXE if "%CDROM%"=="FOO23" goto NOCDROM %CDROM%: :MENUONLY echo. echo Please choose one of the following: echo. echo. ©reate & activate a primary partition using the entire 1st hard drive ... C echo. - this will reboot the computer afterwards echo. echo. (D)isplay the computer's current physical hard drive(s) status .............D echo. - only the first disk information will display. Use FDISK for others echo. echo. (Q)uit to DOS with CD-ROM support ......................................... Q echo. echo. ®eboot the computer ..................................................... R echo. choice /c:qrdc /n " Please choose: " >NUL if errorlevel 4 goto CREATE if errorlevel 3 goto DISPLAY if errorlevel 2 goto REEBOOT if errorlevel 1 goto QUITDOS echo. Well that was weird. You shouldn't see this ... (error 3) goto QUIT :CREATE echo. Choice /c:yn " Are you sure you want to continue? " if errorlevel 2 goto MENUONLY gdisk 1 /cre /pri /for /y echo. echo ... partition created and set active. choice /c:delay /n /t:d,5 > NUL goto REEBOOT :DISPLAY %CDROM%: echo. gdisk 1 echo. PAUSE cls goto MENUONLY :REEBOOT reboot.com goto QUIT :QUITDOS %CDROM%: :QUIT Set CDROM= ** UPDATE **** UPDATE **** UPDATE **** UPDATE **** UPDATE **** UPDATE ** The @Update1.bat file included in the zip file is wrong - here is the correct code: @echo off :INITIALISE SET SC=Update Pack 1 SET SN=Update Pack 2 SET SD=@DoUpd2.reg SET SE=@Update2.bat SET TA=30 SET TC=10 SET WD=c:\win98 FOR %%Z IN (D E F G H I J) DO IF EXIST %%Z:\setuptip.txt SET CDROM=%%Z: :PRESETUP echo. echo. %SC% will automatically start in %TA% seconds REM | choice /c:delay /n /s /T:c,2 >NUL echo. echo. As as July 24 2005 there are 26 critical and security updates to install ... echo. echo. These will be installed in 3 stages with the computer echo. rebooting after each one has finished. Please be patient ... REM | choice /c:delay /n /s /t:d,2 >NUL echo. echo. echo. C to Continue now and start %SC% echo. Q to stop everything echo. Choice /c:qc /n /t:c,%TC% >NUL echo. IF ERRORLEVEL 3 GOTO ERROR IF ERRORLEVEL 2 GOTO SETUP IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :SETUP echo. Now installing %SC% ... REM | Choice /c:c /n /t:c,2 >NUL echo. for %%P in (KB811630 KB896358 KB888113 KB891711 KB891781 KB823559 q329115 q323172 q323255 q259728 q245729 q313829 q256015 q238453) DO START /W %WD%\@Install.bat %%P IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... all done. REM | Choice /c:c /n /t:c,2 >NUL echo. :QUITMENU echo. %SC% has ended. The system will automatically reboot in %TC% seconds echo. echo. C to Continue now echo. Q to Quit rebooting and stop everything echo. Choice /c:qcb /n /t:c,%TC% >NUL IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO RBOOT IF ERRORLEVEL 2 GOTO CONTINUE IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :CONTINUE echo. echo. Now adding %SD% to the registry ... REGEDIT /S %WD%\%SD% IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... done. REM | Choice /c:c /n /t:c,2 >NUL echo. echo. %SE% will run on next boot ... echo. REM | Choice /c:c /n /t:c,2 >NUL goto RBOOT :BYPASS echo. echo. Now starting %SE% ... echo. SET SC= SET SN= SET SD= SET TA= SET TC= SET CDROM= START %WD%\%SE% SET SE= SET WD= cls exit goto END :ERROR echo. An unexpected error has occurred ... aborting automatic installation. PAUSE :CLEANUP SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET WD= SET CDROM= :QUIT cls exit goto END :RBOOT SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET CDROM= START %WD%\@Reboot.bat SET WD= cls exit :END
  12. I was wondering ... for the Windows 98 environment, ie before Win2K which has this feature built in, has anyone heard of or seen any sign of a way to tell how much RAM your system has, using code? I want to run a batch file that allows a variable to be set according to how much RAM is present. I could cheat and ask for user input, but that's way inelegant and thus not sufficient for this project - only the best will do!! Who will rise up to the challenge? Come on you legend you ...
  13. Yep OK give me a day to write some more detail - I do agree that the link to the site I posted doesn't totally help you out - I'll make sure I fill in all the gaps ... Probably the most trouble I had was getting the boot image to work. The best solution would be for me to upload a package containing all the legally distributable files that I use. I have no idea if this board has a provision for that, or maybe someone can kindly host it for everyone ... I'll check for myself after I post, but if there's anyone that can host a file that's probably going to be under 5 MB can they speak up now (or forever hold their peace). At the very least, I'll post more info on CD structure and application switches very soon, so stay tuned !!
  14. Hey prathapml, thanks for thanking us - we try our best ... Thanks for redoing the first post, codeboxes rock! There's ONE thing, however: There's an issue when using CODEBOX instead of CODE when posting code. In my autoexec.bat I've got some code that puts a bracket around C and also around R ie ( C ) and ( R ) (but without the spaces) but it gets changed to a copyright symbol (a symbol I find offensive) and the Registered (?) symbol. Is this a known issue? I would think not, as it doesn't happen when using CODE I'll recreate the issue here to save you looking - Both code boxes should be identical, the only difference is the first code uses CODE and the second uses CODEBOX ©reate something or other ®eview the code for codebox
  15. When thinking about and discussing the question of one of the best developments that have ever happened to the world, ie P2P filesharing, please widen the scope of your thinking to include the question of the legitimacy of the 'Law'. Here are some generic points to consider: 1) "The law locks up the man or woman Who steals a goose from off the common, But leaves the greater villain loose Who steals the common from under the goose". (15th century, English, Anonymous) 2) Everything the Nazis did in WW2 was legal. Everything. 3) With regard to drug laws in every nation on the planet that are members of the United Nations, these were, in general, decided by the United States in 1961 when it presented the UN with the list of banned substances it wanted every other country to adopt for their own countries. How legitimate are these laws when not one person in each of these countries had a say in them? 3) Copyright restricts how you are legally allowed to use a product - if this was applied to motor cars - who would buy a car that you weren't allowed to pick up any passengers, or drive it on a particular day, or drive it so far, etc? No one of course, and the car makers would be vilified all over the world. For some reason, record companies got away with it. So, if I was debating someone about P2P filesharing and the point was brought up that it is against the law, my reply is simply 'when injustice becomes law, resistance becomes duty.' The point to make is: Laws aren't universal truths, they are created within particular circumstances - which is why two countries could have exactly opposite laws on the same issue. If you really couldn't be bothered to argue, the best snappy reply to " ... but its against the law!" is to retort "the law is an arse then" (or you could also say 'property is theft' but that one is a bit abstract and not as satisfying to say)
  16. OK, lots of info still coming in ... re: deleting the MSN icon: Thanks for all the suggestions - I only got it to work after setup finishes. I tried adding it to run after Internet Explorer 6 sp1 finishes (which is the last piece of setup before the first boot to the desktop) but I'm guessing it gets added back as a configuration process as the first desktop is loading up. So I've added it to the start of @media71.bat which is the first app that installs after setup. The 1st post has been adjusted. re: system.ini Thanks heaps for those [386Enh] settings, Kukris, but it seems ack-hh has taken issue with them. Could you either post a link to somewhere that explains the settings you've suggested, or could you provide a short explanation of each one? kukris: the only problem I can see is that you can't include a setting for MaxFileCache if you don't know in advance the amount of RAM that is going to be present. For the same reason I'm ignoring any suggestions regarding custom monitor infs, or solutions for a particular monitor (I want it to work for whichever monitor is present), the suggestion for the MaxFileCache is not helpful unless we can somehow determine how much RAM is present. I searched quite a bit for a solution and it appears that its only easily possible in NT or higher. Someone please tell me I'm wrong. Well, I'd really like to know why for nearly all your points, ack-hh (because I'm curious not because I disagree!) The only point I can sort of agree with is the one about MaxFileCache but only because of the point I made above, in that we need to know the amount of RAM before automatically setting it. Actually, the setting of 32768 is the perfect setting for 128MB of RAM. Typically, the main reason to install Windows 98 (over Win XP) is because the intended machine has less than 96MB of RAM - so basically what you are saying is that the value for MaxFileCache is too low for machines with more than 128MB RAM. I seriously doubt you would notice the difference if you had 32768 for MaxFileCache with a machine with, say, 512MB RAM. You'd have to be pushing it to the very limit in some way that I can't even think of to need it. What makes you say what you wrote? And I think everyone would benefit if you elaborated further with reasons for why you said what did. Don't take this the wrong way, I think all your comments have been very useful so far! One question I do have now regards the ConservativeSwapfileUsage=1 setting. Everywhere I've read suggests this is an excellent setting to use for machines with more than 64MB RAM. And you wrote: 'when would you ever NEED to?' - I can't think of a situation where the computer woudldn't work if you didn't include it ... I thought the purpose of including it was to improve performance. I've noticed much less swap file activity with it turned on. Also, why is naming the page file 'pagefile.sys' a problem? In an ideal world, an assertion would be followed by a reason and even better, an example. Do you have a reason and/or an example why we shouldn't give the page file a name?? And, lastly, thanks for the post re: shrinking office - it worked perfectly - my office archive file is only 65Mb! [The code for deleting the MSN icon has been moved to the first post]
  17. Hey y'all I've nearly reached the end of this project and so I thought I'd add all the interesting info I've come across to this post for others to benefit ... * The autologon hack posted by ack-hh works so its only the monitor drivers stage that could interrupt the unattended install. I'll adjust the first post to reflect this. * EDIT: The Following SHOULD NOT BE ATTEMPTED, IT WILL STUFF THINGS UP - it works in under virtual conditions but not very many real world tests. To improve the chances of Windows finding my monitor, I tried substituting all the monitor infs from Windows ME - and it appears to work (ie it doesn't stuff things up like trying to use the ones from Windows XP does) - you'll need to use the INF installer for each of the 13 monitor infs. Just in case you missed the first message, only do the above suggestion if you don't want your monitors to work when entering the GUI stage [END EDIT]. Just worked it out: there is a way to bypass the monitor drivers stage regardless - when you've started the install process, just switch the monitor off. When Setup gets to the first proper boot up, it doesn't ask for extra monitor drivers cause it can't tell which one you have. It will still ask you for them when you finally boot with the monitor turned on, but at least you can get thru the whole setup process instead of having the process interrupted half way. So, yay, a fully updated and unattended setup is possible!!! Still, in a perfect world we'd all like to have the monitor on so we can see the magic happen - I'm sure there's a way to direct the system to not search for extra drivers. Can anyone shed some more light on this part of Windows setup? * Once you have tasted the joys of hex editing, You can customize all the boot menu text in IO.SYS and JO.SYS (these files should be in the boot image) to give your Boot CD extra spice (and to show off to your friends that you can modify all instances of 'Windows' and 'Microsoft' to rather funnier versions) * It would be quite good to also be able to delete the MSN icon from the desktop automatically. Its annoying that if you forget to delete it before trying to get on the net, a completely unwanted invitation to connect to MSN appears. Apparently the Batch98 utility was designed to achieve this but it doesn't work (even if you just try it without ANY updates at all), and there was also a Dec 2004 KB article that showed how to do it, but that doesn't work either. (Actually it may work but the code was posted without any context - its unclear which other settings need to appear in tandem.) I've also tried RegShot (paraglider version - thanks eidenk) but not extensively, to no avail. [Edit: This problem has been solved] * I've managed to include Microsoft Office 2000 service pack 3 on my unattended boot CD but its a shame that the process needs to unpack the entire admin installation to install probably only a quarter of it. And the 287MB WinRar archive means that lots of other things I'd hope to include on the CD can't fit (I'd prefer to use a CD rather than a DVD). I was quite overjoyed to find a posting on how to shrink an office installation but the posted suggestions don't seem to work for Office 2K. is there anyway to at least get rid of the obselete IE 5.5 files? Or other suggestions to making the shrink work? (it hangs when I try it.) [Edit: This problem has been solved] * AND FOR EXTRA SPECIAL BONUS POINTS: I'd also like to automatically set the vcache parameter in Win.ini to the appropriate value based upon the available RAM, does anyone know how to programatically test for the size of RAM, and anyone know how to do the wini.ini adjustment? (my next request will be to ask how to get Windows to do the washing up ...) [edit: d'oh, I meant system.ini] That's all folks ...
  18. Hi Andreas, Thankx for the feedback * yes, e6sp1.bat is identical to ie6_98.bat, sorry about that. I've changed the original post. * the identified missing bat files have been added to original post (i added 3 more) * @Update3.bat is referred to in @Update2.bat - I didn't post the entire @update2.bat because its identical to @update1.bat except for the posted section. So in the same way @Update1.bat runs @Update2.bat on next reboot, so to for number 3. * @DX9.bat has now been posted in full so you can see for yourself. * thanks for those suggestions - I thought I'd already tried the auto logon hack, but I'll give it another go. [this works and code in 1st post has been adjusted] Cheers.
  19. here's the answer: http://www.msfn.org/board/index.php?showtopic=49892
  20. The Unattended and Updated Boot CD for Windows 98 has evolved into the Windows 98 Seven Years Later ed. Boot CD project: Change Log: version 2.5 released on August 14, 2005: - major modification to boot image file: now skips unnecessary stage (that contains a duplicate "boot from CD or Hard drive" choice), EBD.CAB and EBD.SYS have been removed to save space, Symantec's GDISK added, Config.sys code cleaned up, autoexec.bat code vastly improved (again) - it now handles unpartitioned hard drives, as well as more error trapping. - added the Ultimate Boot Disk v3.3 to the project - its useful to have hardware diagnostic tools handy in case of problems. I totally recommend it but it will take up about 110 Mb of space. - Cdshell.ini corrupted code now fixed. - system updates now run in only two stages and some more not-new updates were included (q311561, q273727 & q242975) - the guide text was, ahem, slightly improved. version 2.0 released on July 28, 2005: - multiple choice of installation configuration at the very start of setup. - Boot image now contains choice.com, XCopy32.exe, format.com, reboot.com & edit.exe so was able to remove these files from the Boot CD root directory. - vastly improved autoexec.bat code - installation files are now copied to the hard drive and are used to install Windows. - tweaked the order of critical and security updates - they weren't working properly. - all bat file code improved to be more standard across the board and to include more install operation options. - the core of the 98-2-Me update now included (thanks to MDGx) version 1.0 released on July 2, 2005: - it worked. ... what else can I say ... - oh yeah, it was my first ever post on msfn.org The original post follows: Hey there, Some of us, for whatever reason, still have the need to re-install Windows 98. And we absolutely hate having to go through all the prompts, enter in the product keys, get the updates, etc. Wouldn't it be good to just stick the CD in and at the very end, have everything up-to-date? For Win98se this means: 1) a full upgrade of Internet Explorer to version 6 sp1 2) 26 'critical' system updates (some of them for IE6 sp1 which makes things tricky) 3) a DirectX update to 9.0c (but Microsoft doesn't officially allow silent installs for DX9) 4) install the basic programs you know you were going to install anyway, eg Office, etc. Well, here's how you do it ... [EDIT: version 2 appears further down this thread - when its totally finished, it'll move here until then go to page 3] This method does the following (in order of install): * skips the scandisk. This means one less OK to press. See the autoexec.bat code for all the switches ... * skips the EULA screen. And my version is an OEM version so rumours that OEM versions couldn't do this are wrong. See the code ... * installs as many applications as you want before the first boot (excepting 'integrational' apps like your typical anti-virus app) * installs Internet Explorer 6 sp1 at the 'less than one minute to go" stage * skips past the password (login) stage with a nice bit of code at the same location as the EULA screen hack. * DOES NOT GET PAST THE 'Default Monitor' STAGE - this is when Windows asks where to look for updated drivers for whatever monitor is plugged into your machine. This problem doesn't occur when you use Virtual PC to test the CD, but in a real test, the system still asks for a location for more drivers. The trick around this is to turn your monitor off during install (or at least when the first boot to the desktop occurs), but it would still be nice to be able to leave the monitor on. If there's anyone out there with suggestions about how to solve this problem, pls post. * after the desktop groans into appearance (because IE6 contains lots of new stuff it takes about 5 minutes on a slow machine instead of 30 seconds), after a wait of a minute a Current_User RunOnce command runs which starts silently installing MS Media Player 7.1, kills the MSN icon and then auto reboots * then it does DirectX 9.0c and reboots. In order to do it unattended, use the dxsetup.exe from the Direct X 8.1 admin install pack. * then it starts the updates - does all the critical and security updates then reboots * then all the 'media' and other updates (IE 6, Outlook Express, Media player, and all the weird ones) * then Microsoft VM and MDAC 2.8 * Then MS Office 2000 sp3 and a reboot. * Then a cleanup process occurs that deletes all the bat and reg files. What to do: 1) Download all the windows updates available from Windows downloads page. There are a few that are tricky to get (eg Microsoft VM) but all is possible without resorting to anything that is naughty. Rename them to fit the code of your bat files. See my examples below. 1)a) To get DirectX 9.0c to install silently, you'll have to grab a copy of the dxsetup.exe that comes with DX 8.1 2) If you are not yet at the stage of having ever done a Boot CD before, go to this site: http://flyakite.msfnhosting.com/ and get to the point where you are able to construct your own Boot CD. There are many postings on this site to help you. 3) Modify the files I've included below for your own purposes. ie change all the references to file locations to yours. 4) I recommend using a virtual machine application (along with a virtual drive app) to test your CD creation. It would have taken me months to go through the number of tests I did to come up with the code you see below. Or just try to marry the code below with your circumstances as closely as you can. 5) I use some DOS apps that you'll need if you want to use my code exactly as it is (with your product keys inserted where it says XXXX-XXX) - to make your own reboot.com go here: http://blog.jwiz.org/archives/2004_07.html (scroll down to the section) - you don't have to use gdisk if you can't find it on the web, just use fdisk and change the code accordingly. - i include an external version of choice.com in my CD root directory (as well as fidsk.exe and format.com) which can be found on the net, as the autoexec.bat seems to have trouble calling the standard command.com version. If choice.com is not included in your Boot CD boot image file (which will be the case if you constructed it from the normal Windows 98 Boot Disk) then simply add it and you won't need to then include it again on the CD. 6) Windows 98 setup doesn't have an inbuilt CDROM variable and so the tried and true method for getting around this is to use a neat bit of code at the start of each bat file that needs to refer to the CD for setup files. My method searches for setuptip.txt in the root directory of the CD. Just make sure you use a file that exists on your CD in your code. Here's the code ... have fun. Sorry for the length of the post but I'm only including the code necessary for people to understand, I've left out as much as I thought I could. The [optional components] section has been snipped to save space and I've snipped the list of apps I install during setup but kept a few for examples. More info at the location of the snips. msbatch.inf ; MSBATCH.INF ; Windows 98 fully updated edition ; By soporific ~ June 2005 ; ; NB: This edition for MSFN has been heavily edited to save space ; at the locations indicated by: (snip - [notes]) ; ; if you put msbatch.inf in the same directory as the setup cabs, ; setup.exe will find it and you don't have to use the switch to do it ; thus avoiding having to provide an absolute location for it. [BatchSetup] Version=3.0 (32-bit) SaveDate=06/14/05 [Version] Signature = "$CHICAGO$" AdvancedINF=2.5 LayoutFile=layout.inf [Setup] Express=1 InstallDir="c:\windows" InstallType=3 ProductKey="XXXXX-XXXXX-XXXXX-XXXXX" EBD=0 ShowEula=0 ChangeDir=0 OptionalComponents=1 Network=1 System=0 CCP=0 CleanBoot=0 Display=0 DevicePath=0 NoDirWarn=1 TimeZone="E. Australia" Uninstall=0 NoPrompt2Boot=1 [System] Locale=L0C09 SelectedKeyboard=KEYBOARD_00000409 DisplChar=16,800,600 [NameAndOrg] Name="User" Org="none" Display=0 [Network] ComputerName="Win98" Workgroup="Work" Description="Windows 98se" Display=0 PrimaryLogon=Windows Clients=VREDIR Protocols=MSTCP Services=VSERVER Security=SHARE [MSTCP] LMHOSTS=0 DHCP=1 DNS=0 WINS=D [VREDIR] LogonDomain="Work" ValidatedLogon=0 [VSERVER] LMAnnounce=0 MaintainServerList=2 [OptionalComponents] "Accessibility Options"=0 "Briefcase"=0 ; (snip) ; (snip -- here was a long list of Optional Components - they be gone now. ; (snip -- there be plenty of msbacth.inf examples on the net: google 'msbatch.inf') ; (snip -- or you could make your own msbatch.inf based upon the machine its intended ; (snip -- for by using the Batch98 utility available from the Win98 resource kit ; (snip -- and then modify it in the appropriate places ; (snip) [Printers] [InstallLocationsMRU] "D:\win98\" "C:\Windows\System\" "E:\win98\" "F:\win98\" "G:\win98\" [Install] AddReg=OPKInstall,RunOnce.BatchDelay,Run.Installed.Components,Skip.PCMCIA.Wizard,Registry.WinUpdate, ExtraApps,IE6 CopyFiles=Newfiles.Copy [RunOnce.BatchDelay] HKLM,%KEY_RUNONCE%,BatchRun2,,"%25%\rundll.exe setupx.dll,InstallHinfSection Delete.Welcome 4 %10%\msbatch.inf" HKLM,%KEY_RUNONCE%,BatchRun3,,"%25%\rundll.exe setupx.dll,InstallHinfSection Delete.Regwiz 4 %10%\msbatch.inf" [Run.Installed.Components] HKLM,%KEY_INSTCOMP%\>BatchSetupx,,,">Batch 98 - General Settings" HKLM,%KEY_INSTCOMP%\>BatchSetupx,IsInstalled,1,01,00,00,00 HKLM,%KEY_INSTCOMP%\>BatchSetupx,Version,,"3,0,0,0" HKLM,%KEY_INSTCOMP%\>BatchSetupx,StubPath,,"%25%\rundll.exe setupx.dll,InstallHinfSection Installed.Components.General 4 %10%\msbatch.inf" HKLM,%KEY_INSTCOMP%\BatchSetupx,,,"ICW" HKLM,%KEY_INSTCOMP%\BatchSetupx,IsInstalled,1,01,00,00,00 HKLM,%KEY_INSTCOMP%\BatchSetupx,Version,,"3,0,0,0" HKLM,%KEY_INSTCOMP%\BatchSetupx,StubPath,,"%24%\progra~1\intern~1\connec~1\icwconn1 /restoredesktop HKLM,%KEY_INSTCOMP%\>BatchAdvpack,,,">Batch 98 - Advanced Settings" HKLM,%KEY_INSTCOMP%\>BatchAdvpack,IsInstalled,1,01,00,00,00 HKLM,%KEY_INSTCOMP%\>BatchAdvpack,Version,,"3,0,0,0" HKLM,%KEY_INSTCOMP%\>BatchAdvpack,StubPath,,"%25%\rundll32.exe advpack.dll,LaunchINFSection %10%\msbatch.inf,Installed.Components.Advanced" HKLM,%KEY_INSTCOMP%\>Batchwu,,,">Batch 98 - Windows Update" HKLM,%KEY_INSTCOMP%\>Batchwu,IsInstalled,1,01,00,00,00 HKLM,%KEY_INSTCOMP%\>Batchwu,Version,,"3,0,0,0" HKLM,%KEY_INSTCOMP%\>Batchwu,StubPath,,"wupdmgr.exe -shortcut" [Installed.Components.General] AddReg=Browser.Settings, Shell.Prep BitReg=Shell.Settings [DelOEdesktop] setup.ini, progman.groups,, "groupOE=..\..\desktop" setup.ini, groupOE,, """Outlook Express""" ;deletes icon [Installed.Components.Advanced] DelFiles=OLS.Icons, QuickLaunch.Icons CustomDestination=Custom.Dest RunPostSetupCommands=DirCleanup [Custom.Dest] 49070=DesktopLDIDSection,5 49050=QuickLinksLDIDSection,5 [DesktopLDIDSection] HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",Desktop,OLSFolder,"%25%\Desktop" [OLS.Icons] americ~1.lnk at&two~1.lnk compus~1.lnk prodig~1.lnk themic~1.lnk aboutt~1.lnk abouto~1.txt services.txt [DirCleanup] rundll32.exe advpack.dll,DelNodeRunDLL32 %49070%\%OnlineLong% [Delete.Welcome] DelReg=Registry.Welcome [Registry.Welcome] HKLM,Software\Microsoft\Windows\CurrentVersion\Run,Welcome,, [Delete.Regwiz] AddReg=Registry.Regwiz [Registry.Regwiz] HKLM,Software\Microsoft\Windows\CurrentVersion\Welcome\Regwiz,@,1,01,00,00,00 HKLM,Software\Microsoft\Windows\CurrentVersion,RegDone,1,01,00,00,00 [Registry.WinUpdate] HKLM,Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,NoDevMgrUpdate,0x10001,0 HKLM,Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,NoWindowsUpdate,0x10001,0 [Browser.Settings] HKCU,%KEY_IE_MAIN%,"Start Page",,"about:blank" HKCU,%KEY_IE_MAIN%,"First Home Page",,"about:blank" HKCU,%KEY_IE_MAIN%,"Search Page",,"http://www.google.com.au/ie/" HKCU,%KEY_IE_MAIN%,"Search Bar",,"http://www.google.com.au/ie/" HKCU,%KEY_IE_HELP%,,"Online_Support",,"http://support.microsoft.com/support" [Shell.Prep] HKCU,Software\Microsoft\Windows\CurrentVersion\Explorer,ShellState,1,1C,00,00,00,20,08,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,0 A,00,00,00 HKCU,"Software\Microsoft\Internet Explorer\Desktop\Components\0",Flags,01,00,00,00 HKCU,"Software\Microsoft\Internet Explorer\main",Show_ChannelBand,0,"no" [Shell.Settings] HKCU,"Software\Microsoft\Internet Explorer\Desktop\Components\0",Flags,0,20,1 HKCU,Software\Microsoft\Windows\CurrentVersion\Explorer,ShellState,1,40,4 [QuickLinksLDIDSection] HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",AppData,QuickLaunch,"%25%\Application Data" [QuickLaunch.Icons] viewch~1.scf [Skip.PCMCIA.Wizard] HKLM,System\CurrentControlSet\Services\Class\PCMCIA,SkipWizardForBatchSetup,,1 [DestinationDirs] OLS.Icons=49070,Online~1 QuickLaunch.Icons=49050,Micros~1\Intern~1\QuickL~1 [Strings] Key_RUN="SOFTWARE\Microsoft\Windows\CurrentVersion\Run" KEY_RUNONCE="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" KEY_RUNONCESETUP="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup" KEY_INSTCOMP="SOFTWARE\Microsoft\Active Setup\Installed Components" KEY_IE_MAIN="SOFTWARE\Microsoft\Internet Explorer\Main" KEY_IE_HELP="SOFTWARE\Microsoft\Internet Explorer\Help_Menu_URLs" KEY_CURR_VER="SOFTWARE\Microsoft\Windows\CurrentVersion" KEY_EXPLORE="SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" OnlineLong="Online Services" [OPKInstall] ; This gets you past the EULA stage HKLM,%KEY_CURR_VER%,"ProductId",,"XXXXX-OEM-00XXXXX-XXXXX" HKLM,%KEY_CURR_VER%,"ProductKey",,"XXXXX-XXXXX-XXXXX-XXXXX" HKLM,%KEY_CURR_VER%,"RegisteredOwner",,"User" HKLM,%KEY_CURR_VER%,"RegisteredOrganization",,"none" ; this gets you past the first logon screen HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Network\Real Mode Net","autologon",1,00000000 [Newfiles.Copy] ; the list of files that get copied to the windows directory before any of the setup stages. @Launch.bat; 1 @Firefox.bat; 2 ; (snip - I won't bore you with what I install in particular, there are many places on the web listing application switches) @DoAVG7.reg; 37 @AVG7.bat; 38 this is currently the last bat file before cleanup @cleanup.bat; 39 copies wininit.ini from CD listing all the files to delete on reboot. [ExtraApps] ; 1) HKLM,%KEY_RUNONCESETUP%,"Mozilla Firefox 1.04",,"C:\windows\@Launch.bat @Firefox.bat" ; (snip - there are 11 in total for my version) ; i use a launcher bat file to get around Microsoft deliberately shifting the DOS ; windows so they don't block the list of apps that are going to install at the ; RunOnce\Setup stage. I chose to let the bat files do the talking ... so the launcher ; window gets shifted, then it launches another window to start the next app install. [IE6] ; Installs IE 6 sp1 at the end of saving config settings. ; There's no other stage you can install IE6 unless you wait until setup finishes. HKLM,%KEY_RUNONCE%,"Internet Explorer 6.0 SP1",,"C:\windows\@Launch.bat @ie6sp1.bat" ; Always make sure your .inf, .bat and .reg files have at least one carriage return ; at the end or the file may just not work at all. For Reg files, none of it will work. ; No wonder NASA space missions fail with just one wrong hyphen. config.sys: [menu] menucolor=7,0 menuitem=G_DISK,Enter the GDISK Menu to partition your drives menuitem=FOR_MAT,Auto format drive C: then Auto install Windows 98 updated edition menuitem=SETUP_CD,Auto Install Windows 98 superduper fully updated edition menudefault=SETUP_CD,37 [CD_ONLY] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [G_DISK] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [SETUP_CD] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [FOR_MAT] device=himem.sys /testmem:off device=oakcdrom.sys /D:mscd001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:mscd001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:mscd001 [COMMON] switches=/F break=on files=40 buffers=20 dos=high,umb stacks=9,256 lastdrive=z Autoexec.bat @echo off :INITIALISE SET SC=Windows Media Player 7.1 SET SN=DirectX 9.0c SET SD=@DoDX9.reg SET SE=@DX9.bat SET TA=50 SET TC=5 SET WD=c:\windows FOR %%Z IN (D E F G H I J) DO IF EXIST %%Z:\setuptip.txt SET CDROM=%%Z: :PRESETUP echo. echo. %SC% will automatically start in %TA% seconds echo. echo. C to Continue now echo. B to Bypass %SC% and start %SN% echo. Q to Quit automatic install ... echo. Choice /c:qcb /n /t:c,%TA% >NUL echo. IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO BYPASS IF ERRORLEVEL 2 GOTO SETUP IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :SETUP echo. Now installing %SC% ... echo. START /W %CDROM%\UPDATES\mplayer\mplay71.exe /Q:A /R:N /C:"setup_wm.exe /Q:A /R:N" START /W %CDROM%\UPDATES\mplayer\Codecs.exe /Q IF NOT ERRORLEVEL 0 GOTO ERROR :QUITMENU echo. echo. Now lets kill the MSN icon from the desktop ... echo. REGEDIT /S %WD%\@KillMSN.reg echo. Done ... take that MSN icon !!! It won't be there next time you boot ... echo. REM | Choice /c:c /n /t:c,2 >NUL echo. %SC% has ended. The system will automatically reboot in %TC% seconds echo. echo. C to Continue now and add %SD% to registry ... echo. B to Bypass setting %SD% (and thus break the auto install chain). echo. - reboot will still occur echo. - manually restart with %WD%\%SE% echo. Q to Quit rebooting and stop everything echo. Choice /c:qcb /n /t:c,%TC% >NUL IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO CLEANBOT IF ERRORLEVEL 2 GOTO CONTINUE IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :CONTINUE echo. echo. Now adding %SD% to the registry ... REGEDIT /S %WD%\%SD% IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... done. REM | Choice /c:c /n /t:c,2 >NUL echo. echo. %SE% will run on next boot ... echo. REM | Choice /c:c /n /t:c,2 >NUL goto CLEANBOT :BYPASS echo. echo. Now starting %SE% ... echo. SET SC= SET SN= SET SD= SET TA= SET TC= SET CDROM= START %WD%\%SE% SET SE= SET WD= cls exit goto END :ERROR echo. An unexpected error has occurred ... aborting automatic installation. PAUSE :CLEANUP SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET WD= SET CDROM= :QUIT cls exit goto END :CLEANBOT SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET CDROM= START %WD%\@Reboot.bat SET WD= cls exit :END @reboot.bat @echo off :INITIALISE SET SC=Update Pack 1 SET SN=Update Pack 2 SET SD=@DoUpd2.reg SET SE=@Update2.bat SET TA=45 SET TC=10 SET WD=c:\windows FOR %%Z IN (D E F G H I J) DO IF EXIST %%Z:\setuptip.txt SET CDROM=%%Z: :PRESETUP echo. %SC% will automatically start in %TA% seconds echo. echo. C to Continue now echo. B to Bypass %SC% and start %SN% echo. Q to Quit automatic install ... echo. Choice /c:qcb /n /t:c,%TA% >NUL echo. IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO BYPASS IF ERRORLEVEL 2 GOTO SETUP IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :SETUP echo. Now installing %SC% ... REM | Choice /c:c /n /t:c,2 >NUL echo. for %%P in (KB811630 KB896358 KB888113 KB891711 KB891781 KB823559 q329115 q323172 q323255 q259728 q245729 q313829 q256015 q238453) DO START /W %WD%\@Install.bat %%P IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... all done. REM | Choice /c:c /n /t:c,2 >NUL echo. :QUITMENU echo. %SC% has ended. The system will automatically reboot in %TC% seconds echo. echo. C to Continue now echo. B to Bypass setting %SD% (and stop auto install) echo. - reboot will still occur echo. - manually restart by starting %WD%\%SE% echo. Q to Quit rebooting and stop everything echo. Choice /c:qcb /n /t:c,%TC% >NUL IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO CLEANBOT IF ERRORLEVEL 2 GOTO CONTINUE IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :CONTINUE echo. echo. Now adding %SD% to the registry ... REGEDIT /S %WD%\%SD% IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... done. REM | Choice /c:c /n /t:c,2 >NUL echo. echo. %SE% will run on next boot ... echo. REM | Choice /c:c /n /t:c,2 >NUL goto CLEANBOT :BYPASS echo. echo. Now starting %SE% ... echo. SET SC= SET SN= SET SD= SET TA= SET TC= SET CDROM= START %WD%\%SE% SET SE= SET WD= cls exit goto END :ERROR echo. An unexpected error has occurred ... aborting automatic installation. PAUSE :CLEANUP SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET WD= SET CDROM= :QUIT cls exit goto END :CLEANBOT SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET CDROM= START %WD%\@Reboot.bat SET WD= cls exit :END [@update2.bat is much like @update1.bat execpt the following section] [@Update3.bat is run on next reboot after @Update2.bat has finished (just like @Update1.bat)] @Update2.bat (partial): :SETUP echo. Now installing %SC% ... REM | Choice /c:c /n /t:c,2 >NUL echo. for %%P in (KB883939 KB837009 KB817787 q320920 KB870669 KB814078 q273991 q273017 q260067) DO START /W %WD%\@Install.bat %%P IF NOT ERRORLEVEL 0 GOTO ERROR REM | Choice /c:c /n /t:c,2 >NUL echo. echo. ... updates done. REM This stops windows update asking you to download the GDI+ detection tool REGEDIT /S %WD%\KB873374.reg IF NOT ERRORLEVEL 0 GOTO ERROR REM | Choice /c:c /n /t:c,2 >NUL echo. echo. ... regirsty entries done. @update3.bat @echo off :INITIALISE SET SC=Update Pack 3 SET SN=Microsoft Office 2000 sp3 SET SD=@DoOff2K.reg SET SE=@Off2k.bat SET TA=45 SET TC=5 SET WD=c:\windows FOR %%Z IN (D E F G H I J) DO IF EXIST %%Z:\setuptip.txt SET CDROM=%%Z: :PRESETUP echo. echo. %SC% will automatically start in %TA% seconds echo. echo. This is only to allow slower systems to fully load before continuing setup echo. echo. C to Continue now echo. B to Bypass %SC% and start %SN% echo. Q to Quit automatic install ... echo. Choice /c:qcb /n /t:c,%TA% >NUL echo. IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO BYPASS IF ERRORLEVEL 2 GOTO SETUP IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :SETUP echo. Now installing %SC% ... REM | Choice /c:c /n /t:c,2 >NUL echo. for %%P in (KB816093) DO START /W %WD%\@Install.bat %%P IF NOT ERRORLEVEL 0 GOTO ERROR REM | Choice /c:c /n /t:c,1 >NUL START /W %CDROM%\UPDATES\SYS\MDAC_2.8.exe /Q /C:"Setup /QNT" echo. REM | Choice /c:c /n /t:c,2 >NUL echo. ... all done. REM | Choice /c:c /n /t:c,2 >NUL echo. :QUITMENU echo. %SC% has ended. The system will automatically reboot in %TC% seconds echo. echo. C to Continue now echo. B to Bypass setting %SD% (and stop auto install) echo. - reboot will still occur echo. - manually restart by starting %WD%\%SE% echo. Q to Quit rebooting and stop everything echo. Choice /c:qcb /n /t:c,%TC% >NUL IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO CLEANBOT IF ERRORLEVEL 2 GOTO CONTINUE IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :CONTINUE echo. echo. Now adding %SD% to the registry ... REGEDIT /S %WD%\%SD% IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... done. REM | Choice /c:c /n /t:c,2 >NUL echo. echo. %SE% will run on next boot ... echo. REM | Choice /c:c /n /t:c,2 >NUL goto CLEANBOT :BYPASS echo. echo. Now starting %SE% ... echo. SET SC= SET SN= SET SD= SET TA= SET TC= SET CDROM= START %WD%\%SE% SET SE= SET WD= cls exit goto END :ERROR echo. An unexpected error has occurred ... aborting automatic installation. PAUSE :CLEANUP SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET WD= SET CDROM= :QUIT cls exit goto END :CLEANBOT SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET CDROM= START %WD%\@Reboot.bat SET WD= cls exit :END KB873374.reg @Echo Off :INITIALISE SET SC=Cleanup temporary batch files SET SE=@Cleanup.bat SET TA=45 SET TC=5 SET WD=c:\windows FOR %%Z IN (D E F G H I J) DO IF EXIST %%Z:\setuptip.txt SET CDROM=%%Z: echo. echo. Your computer has finally reached the end of its long, long odyssey ... echo. echo. Please confirm you have all the updates for your computer ASAP. echo. echo. All temporary files will be deleted on next boot if you continue .... echo. :PRESETUP echo. echo. C to Continue now - the computer will reboot afterwards echo. Q to Quit automatic install ... echo. echo. Choice will default to C in 10 seconds ... echo. Choice /c:qc /n /t:c,10 >NUL echo. IF ERRORLEVEL 3 GOTO ERROR IF ERRORLEVEL 2 GOTO CONTINUE IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :CONTINUE echo. echo. Now starting %SC% ... echo. REM | Choice /c:c /n /t:c,2 >NUL :OSTART echo. echo. Now Checking for Office 2000 installation files ... REM | Choice /c:c /n /t:c,2 >NUL IF EXIST c:\Windows\Temp\Office2K\Setup.exe goto OFFICE IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... none found. REM | Choice /c:c /n /t:c,2 >NUL echo. goto WSTART :OFFICE echo. Office installation files were found. echo. echo. Do you want to delete the Office 2000 installation files? echo. echo. You may want to keep them to install other parts of Office. echo. echo. K to Keep all the files - location is c:\Windows\Temp\Office2K echo. D to continue with deletion (default choice) - activates in 10 seconds echo. Q to Quit automatic install ... echo. Choice /c:qdk /n /t:d,10 >NUL echo. IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO SKIP IF ERRORLEVEL 2 GOTO ODELETE IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :ODELETE echo. echo. Deleting files ... echo. REM | Choice /c:c /n /t:c,2 >NUL Deltree /Y c:\Windows\Temp\Office2K echo. echo. ... all files deleted. REM | Choice /c:c /n /t:c,3 >NUL echo. goto WSTART :SKIP echo. echo. Office 2000 installation files deletion skipped ... echo. Choice /c:qdk /n /t:d,3 >NUL :WSTART echo. Now checking for bat files ... IF NOT EXIST c:\Windows\@Acrobat.bat goto NOBAT echo. echo. Bat files found. echo. echo. Starting to copy wininit.ini ... Copy %CDROM%\wininit.ini %WD% echo. REM | Choice /c:c /n /t:c,3 >NUL echo. finished copying wininit.ini which contains all files for deletion next reboot. echo. REM | Choice /c:c /n /t:c,3 >NUL goto ALLDONE :NOBAT echo. echo. At least one of the bat files isn't there which should mean they have all been deleted already echo. REM | Choice /c:c /n /t:c,4 >NUL :ALLDONE echo. All cleanup routines have been run ... that's all folks ... echo. :DONEMENU echo. Computer is set to reboot now ... still wanna do that? echo. echo. C to Continue with reboot in 10 seconds echo. Q to Quit automatic install ... echo. Choice /c:qc /n /t:c,10 >NUL echo. IF ERRORLEVEL 3 GOTO ERROR IF ERRORLEVEL 2 GOTO CLEANBOT IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :CLEANUP SET SC= SET TA= SET TC= SET WD= SET CDROM= :QUIT cls exit goto END :CLEANBOT REM | Choice /c:c /n /t:c,2 >NUL echo. echo. rebooting now ... SET SC= SET TA= SET TC= SET CDROM= START %WD%\@Reboot.bat SET WD= cls exit :END Wininit.ini [deletes all the files listed on next reboot] [this is not my complete version but you'll get the idea.] @echo off SET SC=DirectX 9.0c SET SN=Flash 7 for IE 6 and Mozilla Firefox SET SD=@DoFlash.reg SET SE=@Flash7.bat SET TA=60 SET TC=5 SET WD=C:\Windows FOR %%Z IN (D E F G H I J) DO IF EXIST %%Z:\setuptip.txt SET CDROM=%%Z: :PRESETUP echo. echo. %SC% setup will automatically start in %TA% seconds ... echo. echo. (The delay is only to allow slower systems to fully load) echo. echo. C to continue now echo. B to bypass %SC% and start setting up %SN% echo. Q to Quit automatic install ... Choice /c:qcb /n /t:C,%TA% >NUL echo. IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO BYPASS IF ERRORLEVEL 2 GOTO SETUP IF ERRORLEVEL 1 GOTO QUIT goto ERROR :SETUP echo. Now Unpacking and installing %SC% ... this could take a while ... echo. START /W %CDROM%\UPDATES\DirectX\DX9\DX9setup.exe IF NOT ERRORLEVEL 0 GOTO ERROR echo. :QUITMENU echo. %SC% has ended. The system will automatically reboot in %TC% seconds echo. echo. C to Continue now echo. B to Bypass setting %SD% (and stop auto install) echo. - reboot will still occur echo. - manually restart with %WD%\%SE% echo. Q to Quit rebooting and stop everything echo. Choice /c:qcb /n /t:c,%TC% >NUL IF ERRORLEVEL 4 GOTO ERROR IF ERRORLEVEL 3 GOTO CLEANBOT IF ERRORLEVEL 2 GOTO CONTINUE IF ERRORLEVEL 1 GOTO CLEANUP goto ERROR :CONTINUE echo. echo. Now adding %SD% to the registry ... REGEDIT /S %WD%\%SD% IF NOT ERRORLEVEL 0 GOTO ERROR echo. echo. ... done. REM | Choice /c:c /n /t:c,2 >NUL echo. echo. %SE% will run on next boot ... echo. REM | Choice /c:c /n /t:c,2 >NUL goto CLEANBOT :BYPASS echo. echo. Now starting %SE% ... echo. SET SC= SET SN= SET SD= SET TA= SET TC= SET CDROM= START %WD%\%SE% SET SE= SET WD= cls exit goto END :ERROR echo. An unexpected error has occurred ... aborting automatic installation. PAUSE :CLEANUP SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET WD= SET CDROM= :QUIT cls exit goto END :CLEANBOT SET SC= SET SN= SET SD= SET SE= SET TA= SET TC= SET CDROM= START %WD%\@Reboot.bat SET WD= cls exit :END @KillMSN.reg REGEDIT4 ; deletes the MSN icon from the desktop after 1st boot to desktop [-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\{88667D10-10F0-11D0-8150-00AA00BF8457}] [-HKEY_CLASSES_ROOT\CLSID\{88667D10-10F0-11D0-8150-00AA00BF8457}] [-HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{88667D10-10F0-11D0-8150-00AA00BF8457}]
×
×
  • Create New...