Turning Annoyances into Wonders Since Tuesday

Ken Fogel

Subscribe to Ken Fogel: eMailAlertsEmail Alerts
Get Ken Fogel via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Microsoft Developer

Blog Feed Post

Upgrading to Windows 7 – Part One

It is now one week since I upgraded my primary desktop system to Windows 7

It is now one week since I upgraded my primary desktop system to Windows 7. I had been an early adopter of Vista and had a number of problems, even an occasional BSOD in the early days. I delayed putting Vista on my school computer because it did not support Novell which is used at Dawson College where I teach. Today I upgraded my school computer and I am fully integrated into the Novell structure. Here is the what and why of what I did, part one.

My department at Dawson College subscribes to a program at Microsoft called the MSDNAA that is a subset of the MSDN subscription program for commercial developers. This gave me access to Windows 7 on August 6th. The first decision I had to make was whether to do an upgrade or a clean install.

In the days of DOS 1, 2, 3, 4, 5 and 6 an upgrade involved replacing the hard disk boot code and creating a new directory for the DOS utilities. The only time you would do a clean install by reformatting the hard disk, installing the OS, and then re-installing all your apps, was when an application crashed the hard disk so that it would not boot or you caught a nasty file/boot sector deleting virus that crashed the hard disk so that it would not boot.

Then came Windows 3.0. Finally a PC user could delude themselves into thinking they had a system on par with the Mac. Microsoft employed the concept of sharing to the OS in the form of the dynamic link library commonly known as the DLL. A DLL was meant to be a block of executable code that could be shared by many different applications so that software could look and work similarly. To ease the sharing these DLL files were stored within the Windows OS directory structure. Boy, did Bill and the gang get that idea wrong.

Many developers shipped their products with updated versions of commonly used DLL files. Unfortunately there was poor policing of this code and so the APIs of the DLLs were sometimes changed. This effectively broke any program on your system that depended on a particular version of a DLL that had just been replaced by a different developer’s product.

Another problem, one that still exists to some extent even today on both Macs and PCs are programs that don’t delete everything they placed on your hard disk. The system16 folder in Windows 3.0/3.1 would grow with every new piece of software loaded but rarely shrink when the program was removed.

It should be noted that Microsoft now advises against using shared DLLs. They are recommending as a best practice that we go back to the days of DOS when installing a program meant copying all its files into its own folder on the hard disk. This is how Unix/Linux has done it forever. A comment on my blog site from Eugene pointed out that the previous sentence is incorrect.

This led to the general rule for any power user of Windows 3.0/3.1 to reformat and re-install Windows every six months. This idea of occasionally tearing down and then rebuilding your home on the PC was looked at as a prudent form of preventative maintenance right up to Windows 2000. Old habits die hard and I still hear, from time to time, that one of my students has just reinstalled Windows XP because the system felt sluggish.

As I progressed though the versions of Windows there was no question of reformatting before installing a new OS. Even if Microsoft allowed an upgrade there would still be lots of DLLs and device drivers left behind that were incompatible with the new OS. As well Microsoft rarely deleted old OS files during an upgrade. They remained never to be used but still taking up space.

There was a time when I thought installing a new OS was an exciting event. Yes, I know I needed to get out more. But these days I have over 50 software packages on my system and I no longer have the interest or time to reload them. I make regular image backups as well as file backups so that I can recover from a catastrophe with a minimum of effort. So there really was no real choice for me, I was going to upgrade rather than do a clean install.

My home system was Vista 64. Switching from 32 to 64 can only be done as a clean install and I had done that two years ago. I inserted the Windows 7 Professional DVD and began the install process. The first screen gives you two choices, check compatibility online or install. Don’t bother with checking for compatibility online as the install choice does a compatibility check anyways. Then you promise to love Microsoft (the EULA) and then you are given the choice to Upgrade or Clean Install. I chose Upgrade.

After a few minutes I received a compatibility report. It told me I must uninstall Microsoft OneCare and I must reboot because the Windows 7 setup added some files to my Vista OS. It also warned me that iTunes would not work (I ignored this and iTunes works fine) and it also gave me some warnings about some other devices such as my Canon scanner. I removed OneCare, rebooted, restarted the Windows 7 setup, and got another compatibility report with only warnings that I chose to ignore.

The starter’s pistol fired and the installation began. On my desktop with an E8500 processor and 4 gigs of RAM it took about an hour and a half. When I did the upgrade on my office computer with a Pentium D 3.2GHz and 3.2 Gig of Ram and using the 32bit version of Windows 7 it took just under three hours.

An interesting event of note is the point at which you enter the licence number. This occurs as just about the last step. I do not know if you could rollback at this point. It almost seems like a decision made to annoy people trying to install Windows 7 with disreputable license numbers that would fail. But after the last reboot I logged in and everything seemed to work.

There was one major change I made to the way I use my computer just prior to the installation. As an old time Windows user I refused to be anything less than an administrator whenever I logged into my computer. Until User Access Control (UAC) appeared in Vista you had to switch users if you needed administrator privileges if your current account did not have them. But old habits die hard and I remained an administrator when I logged in at home and at school.

Well, no more. Just before I upgraded I created an administrator level account and then downgraded my user account to just plain user. This is a best practice that has existed in the world of Unix/Linux. Until Vista came along it was a practice that was a pain to follow through on. With the threat of Trojans and botnets lurking on the Internet it was long overdue on my part to adopt this best practice.

It has been a week at home and a day at my office but no Blue Screens Of Death (are they still blue on Win 7?). Part 2 of this article will look at the very few problems I had with existing software and drivers and how I solved them.

More Stories By Ken Fogel

In 1980 I bought for myself the most wonderful toy of the day, the Apple ][+. Obsession followed quickly and by 1983 I was writing software for small and medium sized businesses in Montreal for both the Apple and the IBM PC under the company name Omnibus Systems. In the evenings I taught continuing education courses that demystified the computer to the first generation of workers who found themselves with their typewriter on the scrap heap and a PC with WordStar taking its place.

In 1990 I was invited to join the faculty at Dawson College in the Computer Science Technology program. When I joined the program the primary language was COBOL and my responsibility was to teach small systems languages such as BASIC and C/C++.

Today I am now the chairperson and program coordinator of the Computer Science Technology program at Dawson. The program's primary language is Java and the focus is on enterprise programming.

I like to write about the every day problems my students and I face in using various languages and platforms to get the job done. And from time to time I stray from the path and write about what I plan to do, what I actually get around to doing, and what I imagine I am doing.