Wednesday, February 23, 2011

Windows 7 Installation: Chronology

On January 1, I began installing and learning about Windows 7 as an upgrade from Windows XP.  I installed just a few things -- antivirus, for example -- as I continued to research various items.  In the next several days, I reached decisions about assorted aspects of the emerging setup.  For example, I decided that Windows 7 would be my foundation layer, replacing Ubuntu, and that I would use VMware Player (or Workstation, if possible) to run Windows XP, and possibly Ubuntu or other operating systems, in virtual machines running on Windows 7.

On January 4, I awoke to find that Internet Explorer (IE) had frozen up and had to be restarted.  I was pleased to see that, when it restarted, it saved my open tabs and attempted to reopen them.  But the thought that Internet Explorer could crash when it was doing almost nothing on a new installation was a bit of a setback for the idea that Win7 was stable enough to serve as a foundation.  I did continue to use IE, but I also downloaded Google Chrome, and made that my default web browser.

I spent much of the days of January 5 and 6 trying to resolve networking problems.  January 7 and 8 were especially devoted to moving and rearranging partitions.  I was setting up two computers for somewhat different purposes.  Partitions were large, so these steps took a long time.  I had to be actively engaged to work with those network problems, but was more able to let the computer go for hours during the partitioning process.  I spent a lot of time on January 6 and 9 trying to make a RAID0 array work.

Some of these days were devoted to other projects, but this was all still very time-consuming.  As of January 11, I really had not gotten very far.  The soution to the networking problem, I hoped, would be to reinstall Win7 from scratch on one of the two computers I was trying to network.  I learned that it was not possible to restore an image of a Win7 installation to a Win7 software RAID0 partition.  Hence, on January 12 I looked into other RAID options.  That day, I also discovered the possibility of booting into native virtual hard disks (VHDs), and spent a lot of time learning about those.

On January 13, I reviewed progress in light of what I had learned and experienced to this point.  I decided to scale back to a simpler system.  This meant the end of the VHD pursuit, for at least the time being, and probably also the RAID0 arrangement, possibly in favor of a future RAID5 solution.  The Win7 system was performing much faster than WinXP had been, either natively or in VMware on Ubuntu, so I was not presently sure that I would even need RAID-like speed.

To consolidate my progress, I wrapped up the first comprehensive post describing my installation of Windows 7, and started a second post and a second installation.  After further networking hassles, that installation was done on January 17.  At this point, I moved beyond basic connectivity to network enhancement.  One step was to synchronize the computers.  I spent much of January 17 and 18 researching programs that would do that and putting those programs into effect.  This involved getting a parallel Windows installation running on the second computer.  By midday on January 18, and intermittently thereafter, I was working more on new additions, especially Input Director and Teamviewer, to tie the two computers together into one workspace.

Input Director seemed to produce unexpected problems requiring a reinstallation of a backup image on computer B on January 19.  I spent a considerable amount of time, that day, reconfiguring that reinstallation, refining it with additional tweaks (and putting those tweaks on computer A as well), and saving it to an updated image.  From then through January 21, I was gradually mixing in more of my other work while continuing to work through minor problems, further adjust the system, and (in one case) recover from an error involving the accidental deletion of a large number of files.

After January 21, I focused increasingly on getting my actual work done.  There continued to be tweaks and the occasional stray problem that needed fixing.  These actually consumed a fair amount of time, but not nearly as much as before.  By January 25, I had reached a point of being able to focus almost entirely on getting work done.  I hoped that this large investment of time would not only have been interesting (at times) for its own purposes, but would also have productivity payoffs, for me and others, for years to come.  I had been using Windows XP for years and, throughout 2010, had seen how much time I could lose to a slow operating system.  So far, Windows 7 seemed to be a significant improvement.

Windows 7: Additional Tweaks

I had installed Windows 7, and I had begun using it.  As I went forward with that, I came across some additional adjustments that I would want to keep in mind for future reinstallations.  This post describes some of those tweaks and adjustments.

One thing that I would surely do sooner, in a future installation, would be to set up networking between computers.  In the past, it had been very frustrating and not easy, though no doubt ultimately it would have paid off.  With Windows 7, I now found it to be pretty easy.

I installed VMware Workstation for Windows, but found that it was always running.  To prevent it from starting automatically when I started the computer, I went into Workstation's Edit > Preferences and set it not to show an icon in the system tray.

I installed and uninstalled some programs:

  • I installed Virtual CloneDrive so that I would have the capability of mounting an ISO image as though it were a mounted CD, without having to actually burn the ISO to a CD and then put the CD in my CD drive.
  • I decided to try BinManager, as a way to automatically empty out items in the Recycle Bin after they had sat there for several days or a week.
  • I discovered that Win7 had a built-in defragmenting schedule (dfrgui.exe), and therefore I uninstalled IOBit SmartDefrag.
  • Jing, the video capture program, had a five-minute limit in its free version, so I uninstalled it.
  • I took the recommended steps to install GMail Drive as an alternate way to transfer files between computers and to keep selected files available from any computer if I didn't bring them along with me.  Basically, I downloaded it, installed it, right-clicked on the new GMail Drive entry in Windows Explorer, and went to Login As > my Gmail username and password, and waited for a little while in case I got the "enumerating folder" message that I was instructed not to disturb.  I didn't get that; I just went straight to usefulness.  I used it to store a copy of my customized Start Menu (below).
  • I used Jumplist Launcher to set up shortcuts to commonly used files and folders on the taskbar.
The obligation to log in after a reboot mysteriously reappeared, for some reason, possibly due to a reboot.  At this point, I discovered that my registry edit was not working.  So I went into Start > type "control userpasswords2" > uncheck "Users must enter a user name and password to use this computer" > Apply > OK.

I customized the "Move to" option that I had previously added via .reg file.  This customization allowed me to name specific folders to move to, without having to hunt for them.  To do this, I downloaded and unzipped Movetofolder.rar, created by Omnicoder.  I put the unzipped MoveToFolder folder in the appropriate place in my customized Start Menu, so that it would be available on my portable drive (where I kept a copy of the Start Menu, with its portable apps) and on network computers sharing that Start Menu.  In the MoveToFolder folder, I edited folders.txt to include a link to D:\Current, which was my central clearinghouse for random stuff.  I created a shortcut to MoveToFolder.exe.  I put that shortcut in my SendTo folder, which I found by pasting "%APPDATA%\Microsoft\Windows\SendTo" into the Windows Explorer address bar and hitting Enter.  (Later, I found an easier address to type there:  "shell:sendto.")  So now I could right-click on an item and select Send To > MoveToFolder.  That popped up a Move to Folder dialog, where I had to select the target folder (even though there was only one listed) and click Move.  It didn't close automatically after doing the move.  This was useful but more cumbersome than a direct Move to ___ Folder context menu option would have been.

Bizarrely, as I discovered, Windows 7 no longer allowed users to select multiple files and open them all at once in Windows Explorer.  The seemingly senseless loss of this feature had irritated many users.  I found that I could at least open all files of the same type by using that SendTo tweak.  For example, I added a shortcut to Acrobat, in this SendTo folder, and was then able to select a bunch of PDF files and right-click > Send To > Acrobat to open them all at once.  When setting this up, I found that some shortcuts would work in the SendTo folder and some wouldn't.  The link to Acrobat that I had on my Start Menu folder did not work; I had to find Acrobat.exe in C:\Program Files, create a shortcut directly to that, and then move that shortcut to the SendTo folder.

While I was in that SendTo folder, I edited its contents to remove SendTo targets that I didn't want.  The Elder Geek advised creating a shortcut to the SendTo folder and putting that shortcut in the SendTo folder, so that I could quickly add other programs or folders to that folder as I encountered them.  Having the option of sending a file to a SendTo option seemed less cluttered than adding applications to the context menu; I had a customized Start Menu for that.  In search of a sleeker way to move to a specific folder, I tried FileMenu Tools.  It had other functions as well.  The ones that interested me (i.e., that I didn't already have an established solution for) were Delete Locked File, Move to ..., and Pack to Folder, though it had a lot more to offer.  I also tried out Context Menu Editor.  It actually looked like ContextEdit might be the best solution, if someone could figure out how to make it work.  There were other tools that might also have done the job.  I suggested that they add a button for this purpose to the Classic Shell utility mentioned in the previous post. 

In that Classic Shell utility, I clicked on the Shell button (top right, and then top center, after I unlocked the toolbars and moved it) and adjusted some things.  I was looking for a way to make another tweak, to disable auto-refreshing of Windows Explorer file lists.  (Refreshing would happen when I was viewing files in IrfanView and would delete one of the files.  All of the other files that I had selected at that point would then be de-selected.)  I did a search, but unfortunately did not find a solution there.  I posted a wish-list item on that, too, at Classic Shell.  Auto-refreshing remained a problem.

From various sources, I developed some additional registry edits, to add to my previous .reg file:

Windows Registry Editor Version 5.00

; Add context menu option to copy a list of files to the clipboard
@="Copy List to Clipboard"
@="cmd /c \"dir /b /a:-d /o:n | clip\""
@="Copy List to Clipboard"
@="cmd /c dir \"%1\" /b /a:-d /o:n | clip"
; Remove context menu option
; [-HKEY_CLASSES_ROOT\Directory\Background\shell\copylist]
; [-HKEY_CLASSES_ROOT\Folder\shell\copylist]

I developed two tweaks using NirCmd.  One gave me a volume-muting hotkey.  The other gave me a program that would take screenshots as often as I liked, for as long as I liked.

Somehow, I overlooked the setting in Ultimate Windows Tweaker > System Performance > Enable support for 4GB of RAM on 32-bit Windows OS.  I enabled that now.  I did not pursue the hacks that apparently enable 32-bit Win7 to see 8GB of RAM, rather than the apparently arbitrary 4GB limit imposed by Microsoft.

Another step to incorporate in a tweaked Win7 installation was to install Firefox.  I overlooked it because I was thinking that the automated Windows migration from WinXP to Win7 would take care of that, but then I wound up not using that migration process.  Now I had to install Firefox, install and configure its extensions, and -- as I did do with Internet Explorer -- go to a YouTube page and play a video, so as to trigger a download of the Adobe Flash Player.  Although it acted like it wanted me to download and run an installer, that proved unnecessary.  Waiting a few seconds allowed the plugin installer to fire up and do the job.

While moving things around to accommodate my new system, I inadvertently deleted a bunch of them.  My backup was imperfect.  The solution was to run Recuva as soon as possible, before other changes to the drive would overwrite those deleted but still present files and folders.

In Firefox, I found that, in Google search results, it was hard to tell which pages I had already visited.  I wanted an add-on that would let me change the colors as the Webpage Decorator had done for me in Chrome.  Turned out to be easier than that.  In Firefox, I went to Tools > Options > Content tab > Fonts & Colors > Colors.  All I had to do was to change the colors for visited and unvisited links.  I also unchecked "Allow pages to choose their own colors, instead of my selections above," but that turned out to be a mistake:  it applied to all colors, not just font colors, so later I undid that.  Granted, these were global changes that would affect all visited and unvisited links in any webpage.  Not ideal.  But until I found an extension that took care of this, without the complexity of Firebug, this was my solution.

I belatedly discovered that my external USB drive was set to "Allow files on this drive to have contents indexed in addition to file properties."  To find and change that, I right-clicked on the drive > Properties.

At one point, I was unable to change drive letters.  There was a workaround:  in Regedit, go to e.g., HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\F: and rename F to the desired letter, then reboot.  There was a more elaborate explanation and also the apparent alternative of tinkering with (apparently making some minor change to) the problematic drive in a partition manager (e.g., GParted).

As described in a separate post, I compared programs that could identify and delete unwanted duplicate files.  I expected that investigation to persuade me to switch from DoubleKiller to some newer alternative.  It didn't.  The search for a good detector of redundant files was related to a project to take back drive D, in the sense of moving the customized Start Menu and its duplicative program files to a separate INSTALL partition.  Once those program files were on the new Install partition, I could do duplicate sweeps on D again.

I repaired an important cause of sudden and complete system crashes on one machine.  The culprit, I figured out, was static electricity.  I was wearing a staticy fleece pullover.  Nice and warm.  It seemed to be able to provoke an instant reboot even when it just brushed against the headphone cord.  After replacing the pullover, I had no more of these sorts of crashes.

I experimented briefly with multiple desktop software and decided to install and use Dexpot.  I was not sure how *much* I would use it.  Due to the limitations of Windows multiple desktop (as distinct from genuine virtual desktop) software, I felt that probably my work would continue to be mostly in desktop 1 -- but at least it was there to try when I had some need or interest in doing some things on a separate desktop.

GoodSync emerged as a way to keep files synchronized up-to-the-minute on two computers.  With this, I was able to access my files immediately on two distinct computers, with each serving as backup for the other and remaining ready to go to work as soon as the other became bogged down in any system administration, rebooting, scanning, or other tasks that might otherwise take control of a machine.  With GoodSync in place, I put the Teamviewer investigation on hold, waiting for spring and the possible arrival of improvements to Input Director.

I had set aside two internal partitions for frequent data backup.  The concept behind these partitions was that I would set up a Robocopy script to mirror one internal hard drive to the other.  This was distinct from the daily backup to an external drive, manually managed via Beyond Compare, so that I could see what was changing.  This internal backup was intended to run without my involvement.  One of the scripts I used went like this:


:: Requires installation of Windows Server 2003 Resource Kit Tools for XP; included in Vista
:: Download that from
:: Intended for frequent mirror backup of DATA partition to internal partition, excluding a few folders

set dest="Q:\\"
robocopy D:\ %dest% /MIR /R:2 /W:5 /REG /V /FP /COPY:DAT /XD $RECYCLE.BIN _gsdata_ "System Volume Information"

:: *  *  *  *  *  Syntax  *  *  *  *  *

:: MIR mirror
:: R retries
:: W wait time between retries
:: REG set R & W as default values in registry
:: V produce verbose report
:: FP include full pathname in output
:: COPY copy Data, Attributes, Timestamps
:: XD exclude these directories
With those scripts written, the next task was to automate them.  I went to Start > "taskschd.msc."  This opened Task Scheduler.  In the Actions pane, I clicked on Create Basic Task and essentially just filled out the form.
I did a search and found instructions on how to modify the PATH in Windows 7.  The PATH was just the set of places where Windows would look to find a program.  So if I typed a command referring to the program xyz.exe, but if xyz.exe was in a folder where PATH would not look, xyz.exe would not run.  To add that folder to the path, I could run a command like "PATH %path%;[newfolder]" where [newfolder] would be replaced by the complete path (e.g., D:\Scripts) where I wanted Win7 to look for these additional commands.  I added a PATH command of this sort to my STARTUP.BAT file

I found another page on converting Win7 to WinXP format. 
In this tweaking process, I discovered something new about myself.  I discovered that I was one of those many people for whom the Task Scheduler (taskschd.msc) program included in Windows 7 would not run a batch file.  In my case, it would run one batch file, but it would not run another one.  I compared the two on all points, including their Properties and their Task Scheduler settings.  There seemed to be no difference.  After spending probably two hours trying to resolve this issue, I looked for alternatives.  One, which I quickly rejected for complexity, was to use Windows PowerShell to schedule batch files.  I was not able to find a Wikipedia page or other comparison of the program names that I did encounter, but it seemed there were enough freeware program schedulers so that I could dispense with the paid ones, such as Advanced Task Scheduler.  Free options I found included Splinterware's System Scheduler, Freebyte Task Scheduler, M2 Launcher, nnSoft Lite, WinUtilities Free Edition, Kirby Alarm and Task Scheduler, and Z-Cron.  Of these, WinUtilities had by far the most downloads on CNET, probably because it was a multipurpose utility suite.  Unfortunately, the scheduled tasks feature was not available in WinUtilities' free edition.  Several of the others -- System Scheduler, Kirby, nnCron, and M2 -- were old programs, not updated for Windows 7.  Both Z-Cron and Freebyte had been recently updated.  I had heard good things about Z-Cron previously, and decided to try that first.  Unfortunately, the installation process was pretty ragged, complete with Notepad display of a .dll file, and once the program was running, I had to use Task Manager (Ctrl-Alt-Del) to kill it.  I decided to uninstall it and try Freebyte.  The uninstall process froze; I had to reboot.  But even then, it would not "de-install," as the shortcut put it:  I got "Falscher Aufruf."  (Some of the dialogs were in German.)  I deleted its program file manually and switched to Freebyte.  Freebyte turned out to be portable, which was a plus.  Unfortunately, its options were very basic:  run once, daily, or weekly -- not monthly or yearly, and not every ___ days or ___ weeks.  I decided to try re-installing Z-Cron, just in case it was a fluke.  I still got the .dll in Notepad, but otherwise the installation went better this time.  It had more scheduling options than Freebyte.  I decided to set up some tasks and try Z-Cron out.  It had quite a few tasks built in (e.g., alarm clock, empty trash) and ready to be scheduled, along with whatever I would want to schedule.  It was not very well organized.  I would get in the habit of closing windows to get back to the main menu; but then it turned out I was at the main menu, although in an unfamiliar place, and would thus inadvertently close the entire program.  Also, once I lost that list of built-in tasks, it was hard to find it again.  (The secret:  Task > Z-Cron Task tab > Tools.)  Unfortunately, after all this, the reason that my batch file would not run in Win7's Task Scheduler was the same reason why it would not run in Z-Cron, or so I assumed, because it was not running in Z-Cron either.  After all this, I went back and played with the Task Scheduler options some more, and found that the solution in my case was to list only the name of the batch file, without its path, in Task Scheduler's Actions > Edit > Program/script box, and put the path instead in the "Start in" box, without quotation marks.  Again, on uninstalling Z-Cron, I still got a display of a .dll in Notepad, and again it froze.

I discovered the possibility of right-clicking on the Windows Explorer icon on the taskbar, right-clicking on a folder location that I would often visit, and pinning that location to that icon.  This gave me a quick go-to list of favorite Windows Explorer locations, available by right-clicking on the WindEx taskbar icon (which was itself pinned to the taskbar).  This turned out to have some odd quirks, so as time went on I wasn't sure how much I would be using this.

I also discovered that I could add a slideshow to my Win7 desktop, using photos in a specified location.  This called for right-clicking on the Desktop > Personalize > Desktop Background (at bottom of screen) > Browse to pictures folder.  But this did not work for me, probably because I had no pictures in the folder to which I navigated.  The pictures were in subfolders under that folder, and apparently this program could not recurse those subdirectories.

Since AvaFind Pro didn't run well in Win7, I tried replacing it with Instant File Find.  But I found that IFF lacked valuable features.  I wondered whether I could use Win7's compatibility features to make AvaFind work after all.  I ran a search and found Microsoft's advice on how to proceed.  Their page told me that I could run the Program Compatibility Wizard at Control Panel (category) > Programs > "Run programs made for previous versions of Windows."  But they warned, "Do not use the Program Compatibility Wizard on older antivirus programs, disk utilities, or other system programs because it might cause data loss or create a security risk."  I wasn't sure whether AvaFind would count as a disk utility or system program for that purpose.  I decided not to risk it.  Instead, I took their advice to right-click on the AvaFindPro.exe installer file and choose Properties > Compatibility Tab > Compatibility Mode > WinXP SP3.  I also clicked on "Change settings for all users" and in both I said "Run this program as an administrator."  I exited Instant File Find, but AvaFind would not run until I rebooted.  Sadly, this did not do the job; AvaFind was still forgetting that I had bought a Pro license key, each time I ran it.  On one computer, it wouldn't even install.

To enable Audacity to record streaming audio, I went into Control Panel > Sound > Recording tab > right-click on empty space > make sure both are checked ("Show Disabled Devices" and "Show Disconnected Devices") > enable Stereo Mix > OK.  Then, following advice, I started a new session of Audacity and went into Edit > Preferences > Audio I/O tab > Recording > Device > Stereo Mix > OK.  That didn't work, so I ran a cable from the computer's Line Out (speaker) port to its Line In port.  I noticed that this gave me a Line In option in the Control Panel > Sound dialog.  Unfortunately, it still did not let me record streaming audio.  I was not able to resolve this.