When installing Windows 98, the part of the setup process where you enter things like product details looks... different. The scrollbars, buttons, title bar and such look more like they belong in Windows 3.1 or Windows 3.11, apparently using "ctl3d" style.


After the "Restarting your computer" step, it looks like the process continues where it left off, except that it now looks like a Windows 98 program.

What's going on here, exactly? Are these actually two entirely diferent programs made to resemble one another? Why couldn't the first half call the same button-drawing code that the second half uses?

  • 11
    The first phase of runs from removable media and installs the OS on the disk. The second phase is a program running under that OS, with presumably more graphics capability, specific graphics drivers, etc. May 24 '20 at 13:36
  • 4
    For what it's worth, later versions of Windows did the same thing. I'm pretty sure Windows 8's setup screens look like they came from Windows 7 or Vista. May 25 '20 at 1:07
  • 2
    I see three people have voted to close this due to being opinion-based. Ironically that turned out to just be their opinion as there has now been a one true factual answer presented to us. I was about to vote to close it due to being not retro but relented after seeing that was not the consensus and I'm new here. May 26 '20 at 2:53
  • 1
    Just have to say Windows 95 was the same way. May 29 '20 at 0:00
  • Also this step needs to make as few assumptions on the hardware as possible. This is probably 16 color mode. Jun 4 '20 at 15:26

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.

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

    Screenshot of the DOS phase of Windows 98 setup

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

  2. The second uses this minimal Windows 3.1 to run a Windows 3 program, W98SETUP.BIN (specified as the “shell” in SYSTEM.INI):

    Screenshot of the Windows 3 phase of Windows 98 setup

    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.

  3. The third runs after the first boot into Windows 98, from Windows 98:

    Screenshot of the Windows 98 phase

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

  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Chenmunka
    May 26 '20 at 16:59
  • 3
    ‘Windows 3’ - to be precise, strings found in the MINI.CAB files name the version as 3.0, and so does the GetVersion kernel call, should you try to run an actual Windows program in this environment. Of course, given that it’s a stripped-down version, how much it deserves the version number is disputable. (The GDI.EXE file even mentions the otherwise rather obscure Modular Windows.) May 24 at 17:03
  • @user3840170: Having used Windows 3.0; I can say GDI.EXE is not Windows 3.0.
    – Joshua
    Aug 10 at 16:41
  • @StephenKitt: It does. The Windows 9x Setup GDI.EXE acts more like a Windows 3.1 GDI.EXE.
    – Joshua
    Aug 10 at 17:18
  • 1
    And the files included in the installer are identical to their Windows 3.1 counterparts. A “useful” minimal version of Windows would also need COMMDLG.DLL and TOOLHELP.DLL at least. Aug 11 at 11:45

I haven't double-checked, but here's my understanding of how it works.

The first half of the installer is a DOS application, with all the limitations therein and then, once it's installed a base Windows system, it boots into Windows to complete the process.

The DOS portion doesn't have access to Windows video drivers, so, judging by the color scheme and resolution, it's faking a Windows UI via the same standardized 640x480 16-color VGA mode that Windows 3.1's default video driver uses in order to look friendly and familiar.

Basically the same approach Windows 3.1 and 3.11 used, except that they used text mode for the DOS portion of their installers.

EDIT: I stand corrected. Apparently it's a three-stage process with a minimal Windows 3.x system in between the text-mode and Windows 9x stages.

  • I always assumed it was about the video drivers, but never had any knowledge about it May 26 '20 at 19:16

Because the setup doesn't contain either. These dialogues are just make to look it alike regular ones. Keep in mind, it's a setup program, not a full figured system. At that time, no (floppy) disk would hold a whole OS plus setup plus whatever data.

Lets be serious, it was already a great step toward a more user friendly and consistent experience than previous setup versions. Better praise it for trying rather good.

  • 21
    No, Windows setup does include Windows 3 and Windows 98. May 24 '20 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.