Saturday, December 31, 2016

Windows 7 Stinks

Since Microsoft won't let me decide when Windows 10 updates can be applied, I've decided to experiment working from Windows 7 for a while. So far here are the things which stink in Windows 7.  Windows 7 is terrible, but it's better than Windows 10.

 1. Fresh Windows 7/SP1 installs won't update. 

 In order to get windows updates running on a freshly imaged Windows 7 machine, you need to follow some Microsoft workarounds, involving sideloading two or more KBxxx updates. Because of the very bugs you're working around, these updates freeze and will not install until a large delay (up to an hour) after you start installing them. To work around this insanity, it can help to try stopping WUAUSERV (net stop wuauserv) from an elevated command prompt, and disabling WiFi and network connections, so that Windows update can't start a scan for updates, which puts Windows into a stupid mode where it won't install. Hat tip to Glen Dufke for this tip: Download and then disable wifi, install KB3020369 and reboot, then download and install KB3172605, read notes in support article KB3200747.

 2. Powershell 2.0

 I am a daily powershell user, it's my primary shell environment, and PowerShell 2.0 is unspeakably lame. I use PoshGIT. To use PoshGIT and most other stuff, you should update the Windows Management Framework 4.0 which will update PowerShell to a more respectable 4.0.

 3. The old and crappy Console Host (text mode applications in windows 7) 

 Recently in Windows 10, since the anniversary update, the console host is as nice to use as any Linux console host. Most notably copy and paste works properly between windows apps and the shell. In classic Windows 7 console you have to use the horribly clumsy Alt-F10+Cursor-Keys hack to paste into the shell with a keyboard shortcut. Or you can use your mouse. MOUSE. Use the MOUSE to paste because Microsoft didn't set up a keyboard shortcut for pasting. It's hilariously awful to go back to the Windows 7 command prompt, or powershell in Windows 7, when you're used to a sane and useful thing like the Windows 10 shell.

Concluding Rant

 So will I stay on this configuration? I believe that in spite of the things I lose when I move back to Windows 7, after almost two years on Windows 10 (and Windows 8.1), that the one thing I get back is going to be worth it. I need a work machine that doesn't decide that now would be a wonderful time to install updates. It feels to me like Windows 10 does not belong to me, it belongs to Microsoft. It doesn't even notify me when it decides it wants 100% of my hard disk bandwidth. Windows 7 is not perfect in this respect, due to bugs and other weird Windows 7 features, sometimes Microsoft's own core services will go insane on you, performing a local denial of service attack on its own users. How can Microsoft remain as user-hostile as it has clearly been in the Windows 10 era, and retain its customer base? If you want a Windows 10 machine to behave according to business-friendly and work-friendly rules, the best you can do is to buy their Enterprise features, and set up group policies to disable windows updates. A recent update to windows 10 lets you set "active hours" and keep updates from happening except inside those hours, but that has not worked for me. Frequently I will still get to work in the morning and be greeted by a "windows will now reboot and finish updates". This has eaten hours of my time, and each time it happens, I get even more upset. Windows 10 is free, and worth the price. Until Microsoft grants people the right to own and fully control their own computers, I think that using Windows 10 for professional work purposes is insane. I used to worry about IT departments locking PCs down on me so that they became useless. Now Microsoft has cut the IT departments of the world out of the loop. If you don't have Windows 10 enterprise, Microsoft is your IT department, and they've decided you're not to be trusted with something as important as the management of your own PC.


  1. Just disable Windows Update in Win7, and install "360 Total Security", it has a "Patch Up" functionality that will install essential updates.

    1. 360? If you can read Chinese, here is one piece of history: Personally I would never try any product from the creator and his team...

  2. On Win 7.1 and Win 8.1 Updates started to hurt. This problem persists for a long time now starting with Win7. I don't know what really happens but I think once a new update client is installed Windows checks the 'real' state of updates installed (the first time) on one hand and your priority is pretty low on the other for a long time. Many people with automatic updates turned off run into this problem.

    If you install Visual Studio to a system not up to date the installer add's the patch and thank you good bye :)

    I simply decided to stay on Win 8.1, which is the better alternative at the moment still. If MS would allow to get rid of all the things based on the new technologies and to keep the more intuitive behavior in some areas (explorer, access to control panel, look and feel) most people on a PC would be better off.

    If you install Professional or Ultimate all the goodness is turned on which makes a quick install a challenge.

    Thank you for bringing the update issue to our attention.

  3. Why don't you just disable "Windows Update" service? My Windows 10 never applies updates automatically...

  4. > Since Microsoft won't let me decide when Windows 10 updates can be applied

    While you can't decide when updates are installed, you can set hours in which your computer will *not* be rebooted due to patching:

    I also recommend running the open-source tool "fix-windows-privacy" which disables much of the telemetry reporting and usge tracking that Microsoft added to Windows 10:

    > 3. The old and crappy Console Host (text mode applications in windows 7)

    I totally agree! I've used the open-source ConEmu for years on both Windows 7 and now Windows 10:

    It has tabs for multiple windows (cmd, powershell, cygwin, etc), allows CTRL+C and CTRL+V, fully supports the mouse!, supports resizing, and much more.