Windows 95 crashes a cash register

Date:August 25, 2005 / year-entry #240
Tags:history
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20050825-30/?p=34433
Comments:    46
Summary:Not everything related to the Windows 95 launch went well. The St. Louis Post-Dispatch reported that a local CompUSA store found that their cash registers crashed at midnight, forcing eager customers to wait ninety minutes before the problem could be resolved. The cause: A bug in the cash register software which had lain undiscovered because...

Not everything related to the Windows 95 launch went well. The St. Louis Post-Dispatch reported that a local CompUSA store found that their cash registers crashed at midnight, forcing eager customers to wait ninety minutes before the problem could be resolved. The cause: A bug in the cash register software which had lain undiscovered because the store had never stayed open past midnight before!

And there was the the launch of Mindows 95 in Hong Kong.

Not one to sit by and miss out on all the attention, Apple responded with its absolutely brilliant counter-advertisement.


Comments (46)
  1. rahulj20 says:

    Hi there:

    I read one of your posts on July/22/2004, "Why cant you trap TerminateProcess". I had a question related to that, wasnt sure if you would read a comment posted on such an old post.

    There are some services like ZoneAlarm Firewall (True Vector) service that I cant Stop/Restart from the Windows Service Manager. Not only that I cant even set the startup type to Disabled or Manual. It throws an Access Denied error even if I am the local system admin. Also if I try to kill the process using tskill or from task manager, it throws the same "Access Denied" error.

    Any idea how they do it? Actually I want to do the same for my process. Any pointers in this regard would surely help.

    Thanks in advance.

    RJ.

  2. tzagotta says:

    Why was the Apple "ad" brillant? I just don’t get it. If anything, it seems like a slam of 8.3 file names of days passed.

  3. rob says:

    The Apple ad says "congratulations Windows 95" in a shortened 8.3 style way :)

    Now someone else needs to explain that Microsoft ad to me…

  4. Mike Dunn says:

    Back in ’95 some of the Mac guys at my office had signs printed up saying something like "Windows 95 = Macintosh 84".

    Funny, I didn’t know the Mac had a preemptive-multitasking protected-memory OS in 1984.

  5. Jack Mathews says:

    When Apple was talking about releasing Copland, I wrote an article titled Macintosh 97 = Windows 95 for Windows 95 Magazine. Guy Kawasaki put it on his evangelism list and I got literally thousands of emails. Of course, since most of my points were right, people didn’t have a leg to stand on when actually arguing with me.

    Dunno why I felt like sharing that :)

  6. Somebody says:

    Now someone else needs to explain that

    > Microsoft ad to me…

    It’s a UNIX command line. My guess at the joke’s meaning is that Apple’s "shiny new OS of the future" is really just a repackaged "crusty old ’70s OS".

  7. microbe says:

    Why did windows 95 crash if it was a userspace software bug?

  8. ? Windows 95 didn’t crash. The cash register crashed. The cash register wasn’t running Windows 95.

  9. rahulj20 says:

    Hi KJK::Hyperion:

    Thanks a ton for your quick response. So, how can I set the ACL for my service and process such that it cannot be changed by anyone but a savvy user who can change the ACL, privileges etc.?

    I’ve seen SetSecurityInfo(), but wanted to know if you/anyone else has tried it before. Also for changing the ACL of my service what do I need to do? Will I also need to change the ACL when I install the service?

    Thanks,

    Rahul.

  10. Travis Owens says:

    oldnewthing wrote:

    > Windows 95 didn’t crash. The cash register crashed.

    > The cash register wasn’t running Windows 95.

    Then why did you write this post at all, it seems VERY confusing. What does a recent cash register crash have to do with an OS released 10yrs ago, or did the CompUSA crash happen ~10 years ago?

    Blah, nevermind, post ignored :)

  11. James Schend says:

    Back in ’95 some of the Mac guys at my office

    >had signs printed up saying something like

    >"Windows 95 = Macintosh 84".

    >Funny, I didn’t know the Mac had a

    >preemptive-multitasking protected-memory OS in

    >1984.

    Mac users put a lot more weight into the user interface of the software. It doesn’t matter how advanced the back-end stuff is if the user can’t figure out how to use it. Apple didn’t really put a big priority on protected memory or pre-emptive multitasking until it became apparent that those contributed greatly to usability in an OS.

    (They also have their own set of problems, of course. Focus-stealing, something that’s always been a bane in Windows but never existed in the Macintosh world is now in the Mac world in force… even Apple applications like their DVD Player steal focus all the damned time.)

    Similarly, Microsoft didn’t seem to care a ton about security until it became apparent that poor security was making Windows less usable.

    So, anyway, in the Mac users mind, Windows 95 was much better than Windows 3.1 and DOS, but still a ton worse than the MacOS of the day.

    I take the Mac user stance, personally. To be entirely frank, nobody but programmers gives a crap about pre-emptive multitasking or protected memory as long as the computer works. And MacOS Classic worked very well with neither for a very long time.

  12. "Funny, I didn’t know the Mac had a preemptive-multitasking protected-memory OS in 1984."

    Protected-memory only up to a point.

  13. Arlie Davis says:

    Protected-memory only up to a point.

    Yeah. It was really hard to get the case off. I still haven’t found a torx driver long enough to get the screws out of an old Mac 512K I have.

  14. Right, the crash happened ten years ago. The store was open late to be a part of "Midnight Madness". I thought I put it in context with the opening sentence but I guess I didn’t do too good a job.

  15. Mike says:

    I didn’t really like the c:ongrtlns.w95 thing either. Actually I thought it rather petty and disappointing of Apple.

  16. syz says:

    The Apple ad would have been clever if Windows 95 hadn’t actually added long filename support. As it was, it was just dumb.

  17. tzagotta says:

    If I remember correctly, long filename support was not included initially in Win95, but was rolled out a bit later in a service release.

  18. vince says:

    The Apple ad would have been clever if Windows 95 hadn’t actually added

    > long filename support. As it was, it was just dumb.

    That was the whole point! The fact that it took MS until 1995 to add long filename support is rediculous. I mean, my Apple II from 1981 could handle filenames with up to 30 characters, and you could use arbitrary ASCII chars anywhere (including spaces and periods).

    Thanks to MS people will still be using CP/M drive letters well into the 21st century. It is a bit silly and rediculous.

  19. Long file names were supported in Windows 95 RTM. OSR2 added support for drives bigger than 2GB.

  20. vince says:

    Long file names were supported in Windows 95 RTM. OSR2 added support for

    > drives bigger than 2GB.

    Whose bright idea was that anyway, to have the 2G limit? My family bought a 4G drive in 1998 or so, and asked me to install it. I ran Linux and didn’t realize windows had these limitations, and it took me many hours of frustration before I found the note buried deep in MSDN documentation that oh yeah, >2G won’t work on original Win95.

    So I had to tell my family that they had no choice but to buy win98 (as you couldn’t buy OSR2 legally) in effect almost doubling the price of the hard-drive.

  21. It’s not like somebody said, "Hey, let’s cap it at 2GB". The 2GB limit came out of other limits. 65535 clusters per drive, 32K per cluster = 2GB. http://support.microsoft.com/?scid=118335

  22. Syz says:

    vince: I suppose you’re also wondering "whose bright idea" it was to have the current 2TB size limit on disk partitions for disks using MBR partition tables.

    (For the record, it’s because the MBR uses a 32-bit value to describe the number of 512-byte sectors in the partition.)

    Oh, and while we’re at it, Bill Gates never said "640K ought to be enough for anybody." http://tafkac.org/celebrities/bill.gates/gates_memory.html

  23. vince says:

    It’s not like somebody said, "Hey, let’s cap it at 2GB". The 2GB limit

    > came out of other limits. 65535 clusters per drive, 32K per cluster =

    > 2GB. http://support.microsoft.com/?scid=118335

    Well yes, and obviously it was a fixable bug because OSR2 fixed it. Yet MS never offered a patch to fix it, you had to buy a full new version of the OS despite having previously bought the full version only 2 years before.

  24. devin chalmers says:

    Actually, the slogan was "Windows ’95 = Macintosh ’89" (see http://www.theapplecollection.com/Collection/pin/PinsBadges.html for the button–I have one!). And yes, it was referring to the interface, especially that silly "Start" menu.

  25. Marcin Wichary says:

    There was another Apple ad making fun of Windows 95:

    http://www.guidebookgallery.org/ads/magazines/windows/win95-apple

  26. Would you prefer that Windows 95 have been another year late in order to design, implement and test a brand new filesystem (FAT32)? OSR2 didn’t come out until August 1996. FAT32 wasn’t a bugfix; it was a new feature.

    It was my understanding that hard drive vendors were allowed to include OSR2 with the drive.

  27. microbe says:

    : Windows 95 didn’t crash. The cash register crashed. The cash register wasn’t running Windows 95.

    Aha..maybe you should have put "launch" before "crashes" in the title..

  28. KJK::Hyperion says:

    RJ: processes *and* services are secured objects, like files, registry keys, etc. (see the SE_OBJECT_TYPE enumeration for the full list)

    You cannot reconfigure the service because its ACL prevents you from doing it (underused feature, not even exported by the GUI, but it’s there), and you cannot terminate the process for the same reason. Both have a programmatic work-around but no standard GUI

    For the first one, enable the TakeOwnership privilege, open the service for MAXIMUM_ALLOWED access, reset the service object’s owner to yourself with SetServiceObjectSecurity, reopen the service for WRITE_DAC access and then reset its ACL with another call to SetServiceObjectSecurity

    For the second one you can either use the previous – universal – workaround (in this case, OpenProcess to open the process and SetKernelObjectSecurity to set its security descriptor), or enable the Debug privilege before calling OpenProcess with PROCESS_TERMINATE access

    TakeOwnership and Debug are both granted by default to all members of the Administrators group

  29. True but it wouldn’t have made as cute a headline.

  30. vince says:

    FAT32 wasn’t a bugfix; it was a new feature.

    > It was my understanding that hard drive vendors were allowed to include

    > OSR2 with the drive.

    It was more than just FAT32.. otherwise I would have just made two 2GB partitions on the drive and been happy. I think windows (or at least fdisk) couldn’t cope with a drive as big as 4GB. I must admit my exact details of the incident have faded a bit, I remember the frustration though.

  31. s says:

    The reason Win95 had a 2GB limit was a hardware one, at its time of its release, it was a BIOS restriction. The BIOS itself could only accept drives up to 2gigs, so there was no way for windows to use the other 2gigs as they weren’t recognized by the hardware!

    Updated BIOS and you could make two 2gig drives easily.

  32. vbthunder says:

    When I first loaded Windows 95 (original RTM release) onto my brand spanking new 13GB drive (I had a 400MB HDD before that), I really did split it into 7 different partitions so I could use all the space.

    I don’t remember whether I used fdisk to do that though, or whether it was the partitioning utility that came with the drive.

  33. Was McGee says:

    I think the ad would have been funnier if it was in the format of C:ONGRTL~1.W95 as that was how filenames were actually stored so the old DOS progs could read them…but no one would have understood that…

  34. vince says:

    On further research I think the problem I had was the 4.22GB problem.

    http://www.dewassoc.com/kbase/hard_drives/hard_drive_size_barriers.htm

    (wow tbere were a lot of size barriers back then, both software and hardware).

    It looks like in retrospect a bad BIOS/Windows interaction. I know I never flashed the BIOS in that machine, and upgrading to a version of windows newer than 95A did indeed fix the problem.

  35. Cheong says:

    In fact I remember that there were ways to get pass the "size barriers" on those old days – Enable LBA support in BIOS, then use HDD manager like the one written by Ontrack to enable address translation, and more…

    There’s a lot of work to do in order for "old" hardware to overcome the "hardware limits". :D

  36. Anonymous Coward says:

    The various betas were on MSDN and given a choice between the real release of Windows for Workgroups (3.11) and betas of Windows 95, the latter won out. They were VERY stable.

  37. Aaargh! says:

    I know exactly what you mean. Like how it took

    > Apple till 2000 to get preemptive multitasking

    > and protected process memory in their OS, when

    > NT had those way back in 1993.

    At least they did it right this time around.

    Look at NT, it’s 2005 right now and it’s still not a Unix.

  38. Andreas Haeber says:

    > Look at NT, it’s 2005 right now and it’s still not a Unix.

    Yes, because it’s VMS :)

  39. Justin Olbrantz says:

    > That was the whole point! The fact that it took

    > MS until 1995 to add long filename support is

    > rediculous. I mean, my Apple II from 1981 could

    > handle filenames with up to 30 characters, and

    > you could use arbitrary ASCII chars anywhere

    > (including spaces and periods).

    >

    > Thanks to MS people will still be using CP/M

    > drive letters well into the 21st century. It is

    > a bit silly and rediculous.

    I know exactly what you mean. Like how it took Apple till 2000 to get preemptive multitasking and protected process memory in their OS, when NT had those way back in 1993. It’s like all the OS programmers are morons.

    *ahem*

  40. Matt says:

    oldnewthing wrote:

    "Right, the crash happened ten years ago. The store was open late to be a part of "Midnight Madness". I thought I put it in context with the opening sentence but I guess I didn’t do too good a job."

    Well, I got it and I thought it was funny.

    I never knew how big of an event the release of Windows 95 was because I didn’t start using it until 1997 when I made the leap from a 486-33 to a 300Mhz PII. I remember how mad my friend was because the map editor for Warcraft 2 only ran in Win95, but all he had was a 486 and those couldn’t run Win95 very well so he didn’t want to keep it installed.

  41. Travis Owens says:

    Heh, I made a near immediate jump from Dos6 to Win95 (I had Windows 3.11 but I didn’t use it) only because in Spring of 1995 I purchased a 486DX4-100mhz which I thought was insanely fast (at least when you played Doom1 on it). I was previously using my parent’s 386SX-16 so let’s just say it was a HUGE upgrade.

    I actually wasn’t aware of Win95 until the marketing compaign and I wasn’t using the web yet, only usenet at this point.

    Using Win95 on a 486SX-32 would definetly be murder. I do have to give Win95 credit, I didn’t learn the value of ram until Win95 because my 8meg setup would choke but when I purchased a 2nd 8meg chip for a whopping $70, the OS was 10x faster. Now-a-days it’s a pet peeve to see large PC companies sell machines with the bare minimum amount of ram needed to use an OS (ex: 128meg machines running 2000 or XP) when even just a measily 64megs more would offer so much, or better yet, a full 256meg chip.

  42. Rune says:

    "The fact that it took MS until 1995 to add long filename support is rediculous. "

    You’re off by two years. Windows NT added long filenames in 1993, as well as support for big drives (both thanks to NTFS) and unicode support.

  43. Ulric says:

    I had to have someone explain to me the Apple add ("C:NGRTLNS.W95") because the : part breaks it for me. Now today I had forgotten again. I doubt many non-technical people, targgetted by this add, can get it.

    The mock Microsoft reply ad ("%nice_job.app -le") is funny, and makes geek sense when you know applications in OS X have the .app suffix. Yes.. just like .exe for DOS exectuable.. progress..

    Btw, the first thing Steve Job did after leaving Apple was to create NeXT, running on unix. So you could say, OS X = NeXTStep 1986. Really, what people and companies want behind the scene and what users understand is two different things. Apple also had several false start including Pink, Copland. My point is that a new OS design wasn’t desired or important is spin.

    For the record, I use an iBook at home, and a Windows machine at work, although I’ve developped on a mac in the 90’s, with the system freezes, ThinkC, CodeWarrior macbugs and everything. Win95 was a blessing for developement, especially stability and solid debugging with CodeView. It was cool as well to develop DOS app in an environement where all that could crash was the DOS box, which you could restart.

  44. David Walker says:

    I wonder why I see "ridiculous" incorrectly spelled "rediculous" so often, especially by programmers who spell everything else correctly?

Comments are closed.


*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index