Windows 10 KB3194496 Issue

On September 2016, Microsoft releases KB3194496 to Windows 10 users. The three computers I have running Windows 10 all downloaded the patch. The problem is they all fail to install after the computer reboots.

This is what happens when you restart the computer. It will rollback from the previous successful patch and restart once again. When you log into your desktop, Windows will once again download the patch. The next time you restart or power on your computer, it will try to install it again and fail. Here’s what my update log looks this past week.

Windows 10 failed update attempts
Windows 10 failed update attempts

Not everyone is having this issue but all my machines running Windows 10 have it. You can read more about it at https://www.thurrott.com/windows/windows-10/81659/microsoft-delivers-yet-another-broken-windows-10-update. I tried the suggested solution someone provided there.

  • delete folder C:WindowsSystem32TasksMicrosoftXblGameSave
  • delete registry key: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionScheduleTaskCacheTreeMicrosoftXblGameSave
  • Re-run the update

It worked on my laptop. I haven’t tried it on my other machines. I will update this post once I do.

It finally installed - kb3194496
It finally installed – kb3194496

I never imagined doing another registry edit. This experience has really turned me off in continuing to use Windows. There are rumors of an Apple hardware refresh announcement late October 2016. I’m leaning towards going back to Apple.

Using Windows for Development

It’s been a few months since my 2011 Macbook Pro died. I’ve tried to find a replacement since. With rumors of a new Macbook Pro announcing soon, I haven’t found any justification to replacing it with another. I did however, purchased a 2015 12” Macbook. I bought for my son and I was planning to use it as a secondary development machine. I’m not expecting it to be a powerhouse laptop which is why it won’t be a primary device. I will share my thoughts on that once I play with it more.

So I’m left with looking for a Windows PC laptop. I could also dual boot it with Ubuntu if the Windows OS won’t work well with my development environment needs. But where’s the fun and challenge in that? I was also encouraged to try it out since Dave Rupert has had success with it. I won’t get into too much of setting up the environment since there are countless of articles out there. I will share some of the softwares I use.

Hardware

After many attempts at different laptops, I have finally settled with the Dell Inspiron I7568-2867T. It’s a 15” laptop with a touchscreen display running a Skylake i5 processor. I hope to write about it soon. I’m still getting used to it. As many of you know, I only run Windows at home and that’s for gaming. Otherwise, I primarily use Apple. This will be a good adventure.

IDE

One of the best text editors (that’s cross-platform) is Sublime Text. It’s fast, light-weight, and highly extensible. But that would leave me in my comfort zone. So I decided to try Microsoft’s Visual Studio Code. I’ve been hearing about this IDE and it is also open source and cross-platform. You can install extensions similar to Sublime Text. Here is a list of what I’ve installed so far.

I’ve only been messing with Ruby/Jekyll and Node. I have yet to get into PHP development. I haven’t decided whether to use PHP’s built-in web server or use IIS, Apache, or Nginx. I want to get into .Net development as well.

Version Control

I am using both Github and Bitbucket. There are two clients I’m using.

  • Sourcetree – I’ve been using this for a while now and like the ease of use.
  • Git-scm – This is needed for VS Code to work with local .git repo.

What about WSL

Since Windows 10 build 14316 (preview), you may enable Windows Subsystem for Linux (WSL). This allows you to install Ubuntu-based bash environment on Windows. It sounds great but what I’ve found is you cannot have Windows access the files in this environment. I was hoping to run the environment and have an IDE on Windows edit the files. Currently, this is not allowed.

While VolFs files are stored in regular files on Windows in the directories mentioned above, interoperability with Windows is not supported.

You would have to use VIM to edit your files which, for me, takes more time than using an IDE. I am not accustom to using VIM. I need my IDE. For those who are, this wouldn’t be an issue and should look at WSL as an option.

I wanted to mention the Command Line. I miss the terminal app on Linux and OSX and use it frequently. I’ve been able to use Command Prompt but you cannot have tabs. You would have to open a new window. In a laptop screen, it can get cluttered quickly. There are many alternatives but I want to try what is included in Windows. I am currently trying PowerShell ISE. It has tabs, yay! You can also adjust the font and color.

So far, that’s I’ve been using with my laptop. If necessary, I could use Laravel Homestead for developing with PHP. I’m very curious about .Net and MVC and considering converting a few projects to it. We’ll see.

powershell vscode sourcetree

PowerShell ISE, VS Code, and SourceTree

Developing on Windows

I recently started running Microsoft’s latest operating system Windows 10. As a developer, I have preferred developing on OSX or a Linux VM – it’s just easier unless you’re developing for a Windows platform. But for web development, Windows has never been an option for me. I’ve tried in the past but I always hated the experience. Lately, I have found resources and articles on how I can use a Windows OS for web development. I’d like to share how I have my environment set up.

Laravel / PHP

Laravel is a PHP framework that I have been using for a couple of years now. In order for you to get this to work, you will need to install PHP. The version of Laravel I currently use is 5.1 and it requires PHP5.5.9 or higher. That version of PHP has a built-in web server which eliminates having to run IIS, Apache, Nginx, or any other web server. To install it, I use Microsoft Web Platform Installer. Just search for PHP. It will install not only PHP but the PHP IIS Manager and PHP MSSQL driver – for those that want to connect to SQL Server. I will be using this with IIS so I also installed URL Rewrite 2.0. Also, note that even though you are installing PHP5.5 or higher, it will also install PHP5.3x.

web platform installer

If you are running Windows 10 like I am, you may encounter an error when trying to install PHP IIS Manager. You don’t have to install it but if you’re using IIS with PHP, it does allow you to use a GUI for the settings. Until Microsoft fixes the issue, you will need to edit your registry. Make sure you do the necessary precautions to cover yourself if something goes wrong. You can find some information about it athttps://phpmanager.codeplex.com/workitem/2653. Here is a screenshot I took when I ran into the error.

php iis manager error

Once PHP is installed, you should be able to run the PHP command and use the web server. If it doesn’t work, you may need to adjust your environment variables. Of course, you don’t have to use Web Platform Installer, you can just use the files from the PHP website.

Composer

Composer isn’t necessary for Laravel to work but it makes things easier. It is a dependency manager. It’s easy to install in Windows. You just download the Windows installer and make sure it’s part of your environment variables – this usually is automatic. To create a new Laravel project, just type the following.

composer create-project laravel/laravel [project_name]

If you are running IIS, the next step is to add IUSR IIS_IUSRS to the project directory and add the write permission. That should eliminate any permission related issues.

node.js / npm

I use node.js and npm so I can use grunt.js compile CSS with LESS along with other things. It’s easy to install in Windows as well. Just download the installer from http://nodejs.org/download/. Again, make sure your environment variables are set, usually it’s done automatically.

Ruby / Jekyll

I use a static site generator called Jekyll. You will need to install Ruby and the devkit. You can download both from http://rubyinstaller.org/downloads/. The Ruby installer is simple but the devkit is not as self-explanitory but not too difficult either. I unzipped the devkit into my C:ruby_devkit directory. Within this directory, run the following command.

ruby dk.rb init
ruby dk.rb install

This will install the devkit. Once you do this, do not move or rename the devkit folder. Otherwise, you’ll have to do the process again. You can find out more from https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

Once Ruby is install, you can install Jekyll with the following command.

gem install jekyll

The default syntax highlighter for Jekyll 2.5.3 is Pygments. This requires Python. Python is not installed by default on Windows so if you won’t be using Python or don’t want to install Python, then you can use Ruby’s syntax highlighter called Rogue. You can install it through gem.

gem install rogue

In a Jekyll project, you will need to edit the _config.yaml file with the following.

highlighter: rogue

You must explicitly have this. Otherwise, it will use the default pygments highlighter even though you don’t have it in your config file. If you don’t have Python installed, you will get an error. Maybe in a future version of Jekyll, they will drop the pygments dependency and switch to rogue.

git / Sourcetree

I use git for my source code and though I can install it for Windows, I’d much prefer to use a GUI. The application I use is Sourcetree. It’s easy to use and it works well.

So that’s a brief summary of how I have my development environment configured on Windows 10. It has been working well, a lot better than how I remembered it before switching to OSX and Linux. The reason why I needed this set up is my main desktop at home is running Windows. I still run Windows for gaming. It’s not always work, got to have time for play as well. And my Windows machines are both running Hexacore processors, so it would be a waste if I didn’t develop off it. I could run Linux in a VM but I don’t like the multi-monitor support or lack there of. Hope you find it useful. If you have any questions or run into an issue, let me know and I’ll try and help.