Basically, because it is running under Windows 3.1 at that point.
Windows 98’s setup process goes through three main phases, in three different operating environments; each one installs the operating environment for the next, until the installation is complete.
The first, which can run from the setup floppies and/or CD-ROM, uses a DOS program (DOSSETUP.BIN
) to set up disk partitions, run various checks etc.:
This phases finishes by copying a minimal version of Windows 3.1 to the target installation drive, in a temporary directory (normally WININST0.400
), containing DOSX.EXE
, USER.EXE
, GDI.EXE
, KRNL386.EXE
, LZEXPAND.DLL
etc. (see MINI.CAB
).
The second uses this minimal Windows 3.1 to run a Windows 3 program, W98SETUP.BIN
(specified as the “shell” in SYSTEM.INI
):
This starts by copying more files to support all the information-gathering during setup, and various other niceties including the 3D look shown in your screenshot (the contents of the PRECOPY
CABs); it ends by copying most of Windows 98, setting the system up so that it will boot Windows 98 from the target drive, and rebooting.
The third runs after the first boot into Windows 98, from Windows 98:
Many PCs with Windows 98 pre-installed were shipped in a variant of the state left at the end of the second phase above; the third phase starts with a “Starting Windows 98 for the first time” message, and follows that up by asking the user for their name and company name. Thus PC buyers got a system pre-installed, but ready to be personalised.
You can interrupt setup at any point, or inspect the image during installation in an emulator, to see what’s present on the disk and thus determine the runtime environment.
It is also possible to initiate the setup process from any of the above environments, which is how Windows 98 handles upgrades (from MS-DOS, or Windows 3, or Windows 95).
Raymond Chen wrote about this process (in Windows 95) in November 2024.