Jump to content

Unattended and Updated Boot CD for Windows 98


soporific

Recommended Posts

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}]

Edited by soporific
Link to comment
Share on other sites


A few questions/remarks:

- launch.bat & install.bat are missing

- the script refers to ie6sp1.bat, ie6_98.bat is shown; are these files identical?

- update3.bat is shown, but nowhere refered to

- does dx9.bat look similar to ie6sp1.bat (ie6_98.bat)?

Regarding the logon prompt:

fantomcat's hint did the trick for me (add the line e. g. to the OPKInstall section):

; The line below turns off the user logon going into Windows (needed for

; factory configuration portion of Express setup).

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Network\Real Mode Net","autologon",1,00000000"

(maybe this only works if "Windows logon" is used)

Regarding monitor drivers:

I injected the .inf file for my monitor via INFINST into the WIN98 setup folder.

Because my monitor is not 100% DDC(?) compatible it was not

automatically detected by w98. Therefore I took a snapshot before and

after I set up the monitor in the display properties using REGSHOT,

compared these snapshots using REGSHOT, and finally built a .reg file

according to the difference of these two shots.

REGSHOT v1.72: http://www.majorgeeks.com/download965.html

HTH

Andreas

Edited by ack-hh
Link to comment
Share on other sites

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.

Edited by soporific
Link to comment
Share on other sites

  • 2 weeks later...

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 ...

Edited by soporific
Link to comment
Share on other sites

* It would be quite good to also be able to delete the MSN icon from the desktop automatically.

All the special icons that appear on the desktop are specified in the registry by a GUID value corresponding to a CLSID key (which in turn specifies the icon and the context menu of the icon) under one of those keys :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace]

Automatically removing any should just be a matter of adding a convenient registry file to batch setup.

Syntax should be (for removing) :

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\GUID Value]

and/or

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\GUID Value]

Edited by eidenk
Link to comment
Share on other sites

Monitor Inf

There are 2 programs (however in german, but it should be understandable), which can make a custom monitor.inf for your monitor:

- flimmer.exe

Neuber

If you know the technical data of your monitor (manual), then you'll don't need that.

This program gives you the following details for your monitor: frequency (horizontal & vertical) and various other info.

- Monitor.Inf Maker

use google

Makes a custom inf-file for your monitor from the technical data you provide.

You can then add your custom inf-file via infinst to your unattended installation.

Delete the MSN icon from the desktop automatically.
Add this to your msbatch.inf:

[RunOnce.BatchDelay]
HKLM,%KEY_RUNONCE%,BatchRun1,,"%25%\rundll.exe setupx.dll,InstallHinfSection Delete.MSN.Icon 4 %17%\msbatch.inf"

I'd also like to automatically set the vcache parameter in Win.ini

I guess you mean system.ini. Add this to your msbatch.inf:

[UPD.Sys.systemini]
%10%\system.ini, 386Enh, , "32BitDiskAccess=on"
%10%\system.ini, 386Enh, , "32BitFileAccess=on"
%10%\system.ini, 386Enh, , "PagingDrive=C:"
%10%\system.ini, 386Enh, , "PagingFile=C:\PAGEFILE.SYS"
%10%\system.ini, 386Enh, , "MinPagingFileSize=200704"
%10%\system.ini, 386Enh, , "MaxPagingFileSize=200704"
%10%\system.ini, 386Enh, , "WindowUpdateTime=1"
%10%\system.ini, 386Enh, , "LocalLoadHigh=1"
%10%\system.ini, 386Enh, , "VGA MonoText=Off"
%10%\system.ini, 386Enh, , "Text=Off"
%10%\system.ini, 386Enh, , "ConservativeSwapfileUsage=1"
%10%\system.ini, vcache, , "MaxFileCache=32768"
%10%\system.ini, vcache, , "ChunkSize=2048"

[Install]
UpdateInis=UPD.Sys.systemini

You can also modify other files. You must replace the names and number:

%10 = files in your windows dir (system.ini, win.ini...)

%30 = files in C:\ (msdos.sys, autoexec.bat, config.sys)

Link to comment
Share on other sites

* 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.)

Check this thread for the answer to the office shrink problem.

http://www.msfn.org/board/index.php?showto...7&st=0&p=294844

Link to comment
Share on other sites

I'd also like to automatically set the vcache parameter in Win.ini

I guess you mean system.ini. Add this to your msbatch.inf:

[UPD.Sys.systemini]
%10%\system.ini, 386Enh, , "32BitDiskAccess=on"
%10%\system.ini, 386Enh, , "32BitFileAccess=on"
%10%\system.ini, 386Enh, , "PagingDrive=C:"
%10%\system.ini, 386Enh, , "PagingFile=C:\PAGEFILE.SYS"
%10%\system.ini, 386Enh, , "MinPagingFileSize=200704"
%10%\system.ini, 386Enh, , "MaxPagingFileSize=200704"
%10%\system.ini, 386Enh, , "WindowUpdateTime=1"
%10%\system.ini, 386Enh, , "LocalLoadHigh=1"
%10%\system.ini, 386Enh, , "VGA MonoText=Off"
%10%\system.ini, 386Enh, , "Text=Off"
%10%\system.ini, 386Enh, , "ConservativeSwapfileUsage=1"
%10%\system.ini, vcache, , "MaxFileCache=32768"
%10%\system.ini, vcache, , "ChunkSize=2048"

[Install]
UpdateInis=UPD.Sys.systemini

NEVER set a maximum for the swap file unless you REALLY need to do so.

NEVER use ConservativeSwapfileUsage=1 unless you REALLY need to do so.

(Why should one downgrade to the legacy W95 mode of swap handling?)

Naming the swap file Pagefile.sys (only) makes sense when the swap file

is shared with another OS which uses a swap file with that name.

The value for MaxFileCache might be way too small for many machines -

individual adjustment is required.

The ChunkSize setting is questionable.

Link to comment
Share on other sites

* 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.

I have managed to remove the MSN icon, but at the ultimate stage of the setup

process (after logon) two RunOnce jobs are active which put back that @*~!§$ icon :(

Link to comment
Share on other sites

That's the CLSID for MSN on WinME :

[HKEY_CLASSES_ROOT\CLSID\{88667D10-10F0-11D0-8150-00AA00BF8457}]

@="Setup MSN Internet Access"

Therefore I would try to add the following registry file to batch setup on WinME not to have the MSN icon :

REGEDIT4

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\88667D10-10F0-11D0-8150-00AA00BF8457]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Desktop\NameSpace\88667D10-10F0-11D0-8150-00AA00BF8457]

[-HKEY_CLASSES_ROOT\CLSID\{88667D10-10F0-11D0-8150-00AA00BF8457}]

I have managed to remove the MSN icon, but at the ultimate stage of the setup process (after logon) two RunOnce jobs are active which put back that @*~!§$ icon

If the registry files that are added to batch setup are processed after everything else as it should, the above registry file should automatically remove the MSN icon from the desktop. Provided of course the MSN CLSID is identical on 98 as the one on ME. Otherwise adapt it. Try it and tell me if it works.

Link to comment
Share on other sites

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.

NEVER set a maximum for the swap file unless you REALLY need to do so.

NEVER use ConservativeSwapfileUsage=1 unless you REALLY need to do so.

(Why should one downgrade to the legacy W95 mode of swap handling?)

Naming the swap file Pagefile.sys (only) makes sense when the swap file

is shared with another OS which uses a swap file with that name.

The value for MaxFileCache might be way too small for many machines -

individual adjustment is required.

The ChunkSize setting is questionable.

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]

Edited by soporific
Link to comment
Share on other sites

The settings were not meant to copy blindly, but meant to be examples.

These settings are specific to my machine with 512 MB RAM and Windows 98SE + W2K installed.

Anyway here comes the explanation:

PagingDrive=C:
PagingFile=C:\PAGEFILE.SYS

Specifies the drive and name for the swap file. If you have a faster drive than your OS is installed you can tell Windows to use another partition. Changing the name makes only sense if you use another NT-OS (NT, W2K, XP) because they use this name and location by default. So you can save space by only having one swap file.

MinPagingFileSize=200704"
MaxPagingFileSize=200704

This sets the minimum and maximum of the swap file. You don't have to use them both.

If you use the same size of minimum and maximum Windows doesn't have to calculate each time the size of the swap file.

Disadvantage: If you need more than that you can get errors (insufficient swap file size).

WindowUpdateTime=1

Specifies the refresh rate in mili seconds for a Dos-Box (not fullscreen). If you have a real slow computer you should use other values or skip it.

LocalLoadHigh=1

Other programs than Windows can use Upper Memory Blocks (UMB). Can crash Dos-Box

VGAMonoText=Off

The space between VGA and MonoText in my previous post was wrong, just remove it.

If you never use the VGA adapter's monochrome mode, you can free up an extra memory block.

Text=Off

I don't know what it does, but it should free up 2KB.

ConservativeSwapfileUsage=1

By default Windows 98 loads some programs in the swap file and not all in RAM. Windows 95 however loads all programs in RAM until it's full. So use this setting only if you have much RAM and a fast hard drive.

MaxFileCache=32768

Sets the maximum amount of RAM that can be used by Windows. By default (without special service packs / patches) Windows cannot deal with more than 512 RAM.

To calculate the setting for your machine use this formula:

RAM (in MB) * 1024 * 0.7 (round up to whole numbers)

up to 128 MB no limitation necessary

up to 256 MB 174080

up to 384 MB 261120

up to 512 MB 348160

> 512 MB 524288

ChunkSize=2048

Block size of VCache, Depending on your RAM other values may apply.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...