Friday, January 24, 2014

Windows 8.1 - try 1

A few days ago I took my first stab at Windows 8.1.  I have a lot of experience doing installs and upgrades.  In particular, I have done a lot of installs and upgrades of various Microsoft products.  My Microsoft OS experience goes way back to the DOS era that preceded Windows.  So I should know what I am doing.  But it certainly didn't show.

I know better.  When you are doing an install or upgrade, particularly for the first time, you should be organized and be careful.  I was neither.  Fortunately, I got out with my skin intact.  But it was a close run thing.  Windows 8.x has been quite controversial so I have no excuse.  I should have known better.  I will certainly behave differently next time.  And there will be a next time.  So what was I trying to do?

I was trying to upgrade my home PC.  I am currently running Windows 7 "Pro".  That's the version that is designed for work use.  The big difference between this version and the "home" version is that it supports Microsoft "NT" networking.  Most home users have a very loose network.  They don't share files and other resources between the various computers they have around the house.  They share networking infrastructure at the wiring (or Wi-Fi) level.  But this is primarily used so that all computers can access the internet.  In a work environment there are servers that house corporate hardware, data, and (sometimes) software.  Home users generally keep it simple.  But as a former system administrator I know how to set up and maintain an "NT" domain.  I have a box running Windows Server and I do the same kind of sharing in a small way that companies do in a large way.  Is there any good reason for me to do this?  No!  I do it because I can and because I want to.

So I was trying to upgrade my Windows 7 "Pro" desktop to Windows 8.1.  I made sure I got the "Pro" version of Windows 8.1 so that all my "NT Domain" stuff would continue to work.  And that part of the upgrade worked fine.  All the "NT Domain" stuff was working just fine after the upgrade.  And, as far as I know, this "Pro" and "NT Domain" stuff made absolutely no difference to the upgrade process.

I will outline how I should have proceeded below.  But let me start with how I actually proceeded.  Fortunately, I run the Microsoft provided "Backup" process daily and automatically.  That's what bailed me out.  I was able to "full restore" my computer back to its old Windows 7 self after I had given up on Windows 8.1.   That's one of the few things I got right.  So first step:  Full Backup.  And make sure you create a "Recovery disk".  This is a CD you can boot from that lets you run the restore software and access your backup files.  Remember you are restoring what amounts to a completely broken system so you need something that boots and runs independently of any software on your hard drive.  If you are not familiar with burning CDs and booting from them practice and test.  You don't have to actually run the restore.  But make sure you can get everything to work up to the stage where the restore wants to start running.  (If you don't think you can pull this off then you want to either hire the upgrade done or get a new computer and do a "computer to computer" transfer -- see below.)

My second step was to run the Microsoft "Upgrade Assistant".  This is available at //windows.com/upgrade.  This page has a lot of general requirements for upgrading and lots of links.  The page has two main sections:  Windows 8.1 and Windows 8.  At the bottom of the Windows 8.1 section is a link marked "Upgrade Assistant".  Click on that to run the assistant.  It will check your computer and issue a report.  This was my first disappointment.  It will tell you if any of your hardware is problematic.  That's good.  The closest to a problem I got was that my hardware did not support a new feature called "Secure Boot".  This just meant that this new feature would not be available to me.  This information is not exactly a show stopper.  So the report in summary said there were no show stopper issues.  If you run the report and show stopper issues show up STOP.  You must get these issues fixed before trying to go to 8.1.

So what was the disappointment?  Well the assistant gave me a list of software but the list was not complete.  I can't make hide nor hair out of what is in the list versus what is not listed.  Microsoft Silverlight was listed (along with a lot of other Microsoft software and plenty of non-Microsoft software like my Adobe Reader) but my Office 365 was not listed.  So the first lesson learned is:  You need to make a complete inventory of all the software on your PC.  Then divide it into software you care about (i.e. needs to work when you are done) and software you don't care about.  If the software is not a Windows component it will  have to be reinstalled later.

There should have been a bunch of additional steps (see below) but I just went from here to doing the install.  You need to decide whether you want to do a "clean" install or an "upgrade" install.  With a clean install you end up with a bare bones windows installation with none of your files and applications.  From there you go on to install whatever applications you want and load whatever files you want.  This gives you a "clean vanilla" box.  This will fix many problems where things have gotten messed up on your old box.  But you lose whatever you have of value from the old box.  Most people want to do an upgrade.  In this case all your files are carried over and eventually all (or at least the ones you care about) of your applications are carried over.  It turns out that the 8.1 upgrade process gives you a third, middle option.  You can have the upgrade carry over your personal files.  Microsoft calls this a "data only" upgrade.  My plan was to do an upgrade that would preserve both data and application settings but it didn't work out that way.

To do the upgrade I just inserted the proper CD.  Microsoft provides "32 bit" and "64 bit" CDs.  If your PC has more than 4 GB of RAM you will be forced to the 64 bit version.  Older versions provided more backward compatibility in the 32 bit version but the days of the 32 bit version are definitely numbered.  My PC has 8 GB of RAM so I was already running the 64 bit version of Windows 7 so I loaded the 64 bit 8.1 CD and let it "autorun".  The upgrade process itself takes roughly an hour (at least on my PC) and ran without problem (except see below) the first time.  It asks you some questions and then grinds away.  Your PC will be rebooted several times (in my case 3 times).  Another small annoyance was there was never a "you're done" screen.  I just noticed that I had a screen that looked like it might be the Windows 8.1 screen and nothing seemed to be happening.  Eventually I poked around and got a "Login" screen.  (Many home users set their PCs up so that the login screen gets bypassed.  This is bad security.  But, in this case, it might have been more obvious that the process was complete.)

Before going on let me point out the major problem I had that I didn't even know I had until later.  One of the install screens should have asked me to select one of three options:  (1)  "Keep Windows Settings, Personal Files, And Apps";  (2)  "Keep Personal Files Only"; and (3)  "Nothing".  These options represent "upgrade", "keep your personal files" and "clean install".  The option I wanted was the first one.  But the screen only showed options 2 and 3.  I selected option 2 and it worked just fine as far as it went.  But it caused my Outlook Address book, for instance, to be lost.  Since I had never worked with 8.1 and had certainly not tried an upgrade to 8.1 before I did not know that option 1 should have been listed.  I just chugged along after selecting option 2 as the option closest to what I wanted.  I plan to stop at this screen and ask Microsoft what's going if I hit this screen and option 1 is not shown.  I did ask Microsoft about this after the fact but they were not helpful.  I also have thought of a work around (see below) if I do not get a satisfactory answer.       

Once I logged in I was totally confused.  I was able to flounder around to some extent.  For instance, I was able to establish that all the "NT Domain" stuff had connected up ok.  I was also able to confirm that my personal files had been carried over successfully.  (Note:  Being an old timer I put my personal files in new separate directories.  I do NOT put them in "My Files" or "My Pictures" or any of the other "My whatever" locations Microsoft recommends you use.  I don't know if things would have carried over if I had used the "My whatever" location.  I am pretty confident they would but can not speak from personal knowledge on this issue.)  I was able to flounder about and find some things.  I was able to get my printer installed, for instance.  But I was not able to figure out how to print a web page.  And there were lots of other things I was not able to figure out.  When people say that Windows 8.x is a complete redesign, believe them.

After a certain amount of flailing around I gave up.  I used the "Repair disk" CD I had built earlier to boot into software that enabled me to do a full restore.  Since I have a backup scheduled to run daily the backup was very current.  After the restore was complete I was able to boot in the normal way back to my Windows 7 configuration, which had all my stuff and worked perfectly.  Based on my experience I strongly make the following recommendation:
Do not try to use Windows 8.x without getting and reading a book about how to use Windows 8.x.  You will not be able to figure it out on your own.
After putting my computer back together I went out and bought "Windows 8.1 Inside Out" by Tony Northrup.  It was the right book for me.  I have had good luck with Microsoft Press books in the past and I am happy with this one.  I deliberately selected a "techie" oriented book because I am a techie.  But it might not be right for you.  There is a "for dummies" book (and many others).  One of them might be a better fit for you.  But I repeat:  You will not be able to figure out Windows 8.x on your own.  Instead you will become very frustrated and come to hate the product.

I have learned through a long and varied and successful carrier as a computer techie that there is a secret to success.  Software systems have a "mind set".  There is a way of thinking behind their design and the way the designers intend them to be used.  If you can figure out the "mind set" then you will be much better off.  It will make it much easier for you to "intuit" how to do things and where to find things.  This allows you to bootstrap some basic knowledge about how to do some things into a more complete ability to drive the product.  It doesn't matter if a product can do something it you can't figure out how to make the product do it.

I have only sampled my "8.1" book.  But even this quick look has given my a lot of insight into the mind set of 8.x.  Windows 8.1 has a drastically different mind set in comparison to older versions of Windows.  However much you have absorbed of this older mind set will actually make it harder for you to figure out Windows 8.x.  The next time I dive into that particular deep end I expect to be able to swim much more effectively than I could the last time.  This is because I have been given a look at the 8.x mind set as a result of reading this book.  Before moving on let me give you a quick look at the new mind set.

I have been in this business for a long time.  In the old days most systems had a "Command Line Interface" (CLI).  You typed in obscure commands at the prompt.  I am still most comfortable in this old CLI world.  But the world has moved on.  Windows up through Windows 7 is designed to use a "Graphical User Interface" (GUI).  More specifically, it is designed for use with a keyboard and a mouse.  And as time has gone by this has meant more mouse, less keyboard.  We are now given "radio buttons" (little circles - click on one and it goes out on the other ones) or "check boxes" (click on the  box to check or uncheck a particular option).  These are both easily done with a mouse.  Then there is the "drop down list".  You click and you are shown a list.  You can click on any line in the list to select a particular item.  A drop down list is a substitute for typing.  You select the item from the list instead of typing its name in.  The more frequent use of drop down lists over time is an example of an effort to make it easier to drive the system using just the mouse.  The need for keyboard entry is minimized.  I have adapted to the replacement of the CLI with the GUI over time.  8.x is the next generation in this CLI to GUI evolution.

8.x is designed to work without there being any keyboard or mouse.  Instead you have a "touch screen" that you can tap or touch.  This is a kind of substitute for the mouse.  But a mouse is more precise than your finger and it has buttons and a scroll wheel on it.  8.x is designed to be driven literally by hand (i.e. using the touch screen).  You can tap or swipe or use two finger moves like opening or closing your fingers.  That's the natural way 8.x is designed to be operated.  So Microsoft has completely redesigned Windows to work well with this "by hand" way of operation.  They do provide "backward compatible" ways of doing keyboard or mouse things instead of "by hand" things but these are substitutes for the real thing.  To be comfortable with 8.x you need to think of "by hand" operations instead of keyboard or mouse things.  If, as is the case with me, you are doing the mouse/keyboard thing you need to think in terms of the mouse/keyboard substitute for the "by hand" operation.  I now understand that so I expect to be far less frustrated next time around.  I also intend to read much more of the book so I will know (or know where to find in the book) how to do various things.

A final note before I go into summarization mode.  Windows 8.x is not a good fit for a work environment.  There are multiple reasons for this.  Let me highlight a couple.  (1) Work environments are much more likely to be "heads down - data entry" environments.  8.x is poorly designed for this.  Remember that a keyboard is no longer a natural input device.  (2) In 8.x you are supposed to get your software from the Microsoft App store.  This is good in the sense that Microsoft will test Apps before putting them into the store.  This means they are much more likely to play nice.  But companies run lots of applications that are unlikely to be found in the MS App store.  Microsoft was provide a work around.  If you get the "Pro" (i.e. "for work") version, you can install the Apps in the traditional manner.  But still this is NOT the way you are supposed to do business.  (3)  It turns out that companies use a lot of old, in some cases very old, applications.

At my last job we bought a piece of lab equipment in about 2010.  The lab equipment company provided a PC to drive the equipment.  We were explicitly told "don't hook the PC up to the network".  Why?  (Start "tech talk" section - skip it if you don't care and you trust me)  The software that connected to the PC to the lab equipment was so old it did not use a buffered serial interface.  The "freeze out" time required by network cards caused the serial interface to miss some data bytes.  This made the instrument effectively unusable.  No network meant that the network card was not used so nothing interfered with collecting the data from the instrument and everything worked like it was supposed to.  Of course, we had to come up with a method to get the data from the PC to our other systems, which we did.   (End "tech talk" section)  Now at this time buffered serial interfaces were at least ten years old and software to use them was available for free on the internet.  But the company had been too cheap to upgrade their software to use buffering.

I do regular business in my personal life with at least two different companies that to this day use old "3270 emulation" software.  (It has a distinctive look that is easily recognizable once you've had it pointed out to you.)   "3270 emulation" software emulates a device called an IBM 3270 terminal that was popular in the '70s.  The company I worked for (not exactly on the cutting edge in many ways) retired the last system that needed 3270 emulation at the end of 1999 (remember Y2K - if you don't, that's ok, just focus on the "1999" part).  Depending on software that goes back to the '90s, or even earlier, or has other weird characteristics is all too common in corporate environments.  I'm sure that a lot of this can be overcome.  But it will take a lot of work and that sounds like a lot of money to corporate bean counters.  So I expect 8.x to have a tiny rate of penetration in the corporate world for at least the next several years.

So let me summarize my lessons learned so far:
  1. Don't trust the software list that is generated by the "Upgrade Assistant" to be complete.
  2. Get a book and read it before you start.  Otherwise, you will not be able to figure out how to drive 8.x
  3. Make sure you have a way to put everything back (full restore) in case things go badly wrong.
  4. Have a plan for each piece of software you are currently running.  Your plan may be as simple as "dump it - don't need it any more".
  5. For those pieces of software you will be carrying forward make sure you know how to reinstall it and where to get the install software.  Note:  If you are using the "home" version of 8.x the only place you may be able to get it from is the Microsoft Store.
  6. If it's a corporate PC - don't bother unless you have to.
  7. Read and understand the "Upgrade plan" shown below.
I really think Microsoft has dome something interesting with Windows 8.1.  But it will take a lot of work to get there and it will take a lot of getting used to.  If that sounds daunting then stick with Windows 7.  If you are not going to go to 8.x then the changes between say XP and "7" are pretty modest and pretty easy to get used to.  So, if you are still on an older version of Windows and have decided not to go to 8.1 then I recommend you go to "7", if you can.  If your hardware is old enough it probably doesn't have enough gas to run "7".  In that case I recommend you get a new PC.  Low end PCs are pretty cheap and have plenty of gas to run "7" well.  Microsoft has a utility called "Easy Transfer".  It works wonderfully to move your old stuff from XP or Vista to "7" (or 8.x - see below).  If you are running anything older than XP you are asking for trouble and, unfortunately, your migration options are poor.  If you are running Vista I feel sorry for you.  But the good news is that almost all Vista boxes will run "7" just fine.

So, if you are still with me, here's my revised upgrade plan:
  1. Document all the installed apps.  For each app:
    Come up with a plan (drop, upgrade, keep as is).
  2. Back up your current configuration.  Run a full backup.  This will require a big chunk of space.  A thumb drive will probably not be big enough.  The simplest method is to use a USB connected external disk.  If you search Amazon for "usb portable hard drive" you will find a number of devices listed that are plenty big (1 TB or more) for less than $100.  The Best Buy web site also lists several models.  Most of them are USB 3.0.  Your older computer may only have USB 2.0.  As far as I can tell USB 3.0 devices should still work.  They will just be slower than if plugged into a USB 3.0 port.  Warning: I have not personally run any tests to verify this.
  3. Install (if necessary) the Microsoft "Easy Transfer" utility on your current box.  I believe it comes pre-installed on Windows 7.  On "7" try "Start", "All Programs", "Accessories", "System Tools".  If you see "Windows Easy Transfer", it's already installed.  If not do a "Bing" search (a Google search gives confusing results).  You should be able to locate a Microsoft page you can download it from.
  4. Run Easy Transfer.  (The following information is from the "7" version.)  Select:
    "Next" on the "Welcome" screen.
    "An external hard disk . . ." on the "What do you want to use . . ." screen
    "This is my old computer" on the "Which Computer . . ." screen.
    The "Choose what you want to transfer" screen will take a minute to fill in.  You can then uncheck accounts you do NOT want to carry over.  Do NOT uncheck "Shared".  Note that it will tell you how much data is going to be transferred at the bottom of the screen.  Click "Next" when you are done fiddling.
    You will now be prompted for a password.  I would suggest using one.  Don't forget to make a note of what you choose.
    Select the device that will house the MIG file by clicking on it.  Click "Open".
    Click "Save".  The MIG file build process will now run.
    You will be given an individual status on each component selected for saving.
    The process takes a while.  In my case about 20 GB gets saved.
  5. Run the upgrade to 8.1.  Be sure to select the "Keep Windows Settings" option if you can.  If the setting is not there you might as well select "Nothing" as your files will be put back by easy transfer.
  6. If you were able to keep windows settings then you don't have to import your MIG file.  If you need to process the MIG file just navigate around to it with Windows Explorer and double click on it.  Windows will automatically run the easy transfer import process based on the fact that the file name ends with "MIG".  This should result in all your settings now being present on your new system.  Note:  You will not be able to see a lot of them because the application that recognizes them hasn't been installed yet.
  7. Install your applications.  Your settings should magically come back at this point.
  8. Have fun navigating around in your new environment.
A variation on this plan can be used if you are moving on to new hardware.  You don't need to do a full backup because you will still have your old machine around.  You can also do a "machine to machine" easy transfer if both of your PCs are on your home LAN at the same time.  Select the appropriate answer on the "what do you want to use" screen.  You need to be running easy transfer on both boxes at the same time.  Fire it up on your old PC.  When it is ready to transfer it will give you a password (a number, as I recall).  Fire Easy Transfer up on the new box.  I can't tell you how to do this from my own knowledge but my book says "open the start screen, type transfer, and select Windows Easy Transfer".  All the files and setting will be copied over as above.  Then go ahead and do the application install, etc. as above.

I promise an update when I try this again.