XAMPP Apache won’t start on Windows 10 — a fix

At work yesterday I discovered that the localhost Apache web server on my PC wouldn’t start; it was running XAMPP.

Each time I tried to start Apache from the XAMPP control panel I got these error messages in the console:

08:59:34 [Apache] Attempting to start Apache app…
08:59:35 [Apache] Status change detected: running
08:59:35 [Apache] Status change detected: stopped
08:59:35 [Apache] Error: Apache shutdown unexpectedly.
08:59:35 [Apache] This may be due to a blocked port, missing dependencies,
08:59:35 [Apache] improper privileges, a crash, or a shutdown by another method.
08:59:35 [Apache] Press the Logs button to view error logs and check
08:59:35 [Apache] the Windows Event Viewer for more clues
08:59:35 [Apache] If you need more help, copy and post this
08:59:35 [Apache] entire log window on the forums

Fix

Reinstalling XAMPP didn’t fix the issue. But this did, spotted on the ever-wonderful Stackoverflow:

  1. Press Windows + R to bring up the Windows Run… dialog.
  2. Type services.msc and click OK.
  3. Scroll down the list of services to find World Wide Web Publishing Service.
  4. Right-click it and select Properties.
  5. Change the Startup type to Manual.
  6. Click Stop and wait for the service to stop.
  7. Click OK.
World Wide Web Publishing Service properties dialog
This is the naughty culprit

That fixed it. Now Apache is running, as evidenced by the green light on the XAMPP control panel:

XAMPP Control Panel
Both Apache httpd and MySQL are running

Getting my Logitech F710 wireless gamepad to work with Windows 10 (and 10.1)

Logitech F710 wireless gamepad
Logitech F710 wireless gamepad

UPDATE: I’ve updated this post a little to also include information about getting this to work in Windows 10.1.


Last night I took the plunge and upgraded my desktop PC from Windows 8.1 Pro (64-bit) to Windows 10 Pro (64-bit).

The whole process took less than an hour, and as far as I could see most of my peripherals were still working after the upgrade: laser printer, scanner, webcam.

Of course, the one thing that I forgot to test were my pair of Logitech F710 wireless gamepads, which my three boys use most to play LEGO games. The controllers couldn’t be detected.

I downloaded the latest drivers from the Logitech website, which they claimed were Windows 10-compatible. That didn’t work.

There are instructions below for both Windows 10 and Windows 10.1.

F710 not working Windows 10

Here’s what I did to get them to work; I found the official Logitech forum to be very useful when I originally encountered this issue with Windows 10.

  1. Remove both nano receivers from the PC (I have mine marked 1 and 2, so I know to which gamepad they belong).
  2. Switch the gamepad to D mode.
  3. Insert the nano receiver.
  4. Windows 10 installs drivers for Rumblepad 2.
  5. Remove the nano receiver.
  6. Switch the gamepad to X mode.
  7. Insert the nano receiver.
  8. Windows 10 installs drivers for Wireless Gamepad F710.
  9. Press Windows key + Pause/Break to open System screen.
  10. Click Device Manager.
  11. Locate Wireless Gamepad F710.
  12. Right-click and select “Update Driver Software”.
  13. Click “Browse my computer for driver software”.
  14. Click “Let me pick from a list of device drivers on my computer”.
  15. Select Xbox 360 Peripherals.
  16. Select Xbox 360 Controller for Windows.
  17. Click Next.
  18. On the Update Driver Warning dialog, click Yes.
  19. Allow the driver to install. You should now see Xbox 360 Controller for Windows listed.
  20. (Optional: if you have more than one controller, keep the working one plugged in but now do the same, starting at step #1, for the other controller.)
Device Manager listing the Xbox 360 Controller for Windows
Device Manager listing the Xbox 360 Controller for Windows

The controller now works perfectly for me in the LEGO games. Obviously, I’ll report back if there are any further issues.

F710 not working on Windows 10.1

I also found this post, “Logitech Wireless Gamepad F710 Not Working with Windows 10“, on Superuser to be useful when trying to get this working on Windows 10.1. Their advice was as follows.

Make sure your controller is turned off and the wireless receiver is plugged-in to your PC before proceeding with the steps below:

  1. Press Windows key+X (or right-click the start menu icon).
  2. Click “Device Manager”.
  3. Find any listings of “Unknown Device” in the list of devices, likely under Human Interface Devices or Other Devices, or devices that have a yellow “!” warning icon on them.
  4. Right-click each unknown device device and select “Scan for hardware changes” and then “Update Driver Software” > “Search Automatically for Updated Driver” options before the next steps, especially if you have more than one “Unknown Device” listed.
  5. Right-click on “Unknown Device” and click “Update Driver Software”.
  6. Click the option “Browse my computer for driver software”.
  7. Click the option “Let me pick from a list of device drivers on my computer”.
  8. Near the bottom of the list, select the option that looks something like “Xbox 360 Peripherals” and click “Next”.
  9. From the list, select the driver option “Xbox 360 Wireless Receiver for Windows” and click “Next”.
  10. A warning will appear about the possibility of the device or your computer not working properly and likelihood of system instability. Disregard it and click “Yes” in the bottom right corner of the panel.
  11. A message should appear within a few seconds saying that the device has been correctly installed. Click “Ok” and exit out of all device manager windows.
  12. After performing these steps, power on your controller if it is not already powered on.
  13. Then press Win + R to bring up the run dialog and type in joy.cpl and click OK.
  14. This brings up the Game Controllers control panel applet. You can use this to check whether the game controllers have been identified, and if you select the game controller and click “Properties” you can test it: it will demonstrate which joysticks and buttons are being pressed.

Good luck!

Software removal tool fixed my problem with Chrome running slowly

Progress cursor shows an egg-timer next to a pointer
They call this progress…?

Me and Google Chrome had another falling out this week. This time it wasn’t about bookmarks but speed.

For some reason, over the last couple of days Google Chrome suddenly felt very sluggish. Whenever I opened a new tab it would take a few seconds to open and a few more to load the page—notably longer than usual.

And a similar experience after closing a tab: the cursor would change to the ‘progress’ cursor (arrow with egg-timer) for a few seconds.

Having put up with it for a couple of days I couldn’t stand it any longer.

Things I tried that didn’t fix it

  1. Running system file checker (sfc /scannow) from an elevated command prompt.
  2. Disable all extensions (chrome://extensions/).
  3. Disable all plugins (chrome://plugins).
  4. Disable hardware acceleration in settings.
  5. Uninstall Chrome, reinstall dev channel version.
  6. Uninstall other recently-installed applications.
  7. Run Malwarebytes scan (0 threats found).

One forum suggested installing the latest NVIDIA graphics card drivers. Another pondered whether it was related to the recent Windows update. Plenty of people advised switching off hardware acceleration (I’d tried that, it didn’t help).

What I tried that did

The Chrome software removal tool — still currently in beta — is a clever application that scans and removes any software that may cause problems with Google Chrome.

This application will scan and remove software that may cause problems with Chrome, such as crashes, unusual startup pages or toolbars, unexpected ads you can't get rid of, or otherwise changing your browsing experience.
This application will scan and remove software that may cause problems with Chrome, such as crashes, unusual startup pages or toolbars, unexpected ads you can’t get rid of, or otherwise changing your browsing experience.

I ran it. I waited, and hoped, and it worked! I have my whizzy Chrome back. I guess that something was corrupted.

As well as scanning for typical malware that can corrupt your installation of Google Chrome it also kindly offers to perform a ‘factory reset’ and return your browser settings to defaults.

In a way I find it curious that Google are only now offering this as a currently beta standalone application when Microsoft Internet Explorer (for all its criticism) has had this built-in for years.

I ran the software removal tool which quickly returned this dialog:

No programs found
No programs found

Nothing suspicious found. I clicked Continue and was invited to reset my browser.

Reset Chrome settings — that's what fixed things for me
Reset Chrome settings — that’s what fixed things for me

That’s what fixed it.

This is definitely another useful tool in my diagnostics toolkit. Thanks Google.

It’s a relief to have had this fixed. That said, I’ve said it before that if there were the same Trello plugins available I would move to Opera tomorrow.

Managing overlay icons for Dropbox and TortoiseSVN and TortoiseGit

I imagine like many involved in web development, I rely heavily on a number of version control applications: I use Dropbox, Subversion (SVN) and Git.

For years I’ve used the TortoiseSVN client for Windows. It integrates with the Windows Explorer shell making it quick and easy to manage your version controlled code within Explorer.

I like that I don’t need a separate full-blown application that acts as an interface between the code on my PC and the SVN repository; I like that I don’t need to use a command prompt; but I love that TortoiseSVN adds overlay icons to tell me the state of each file (is it up to date, changed, added, etc.?).

These folders are all up to date, and in sync with the SVN repository.
These folders are all up to date, and in sync with the SVN repository.

Recently I’ve started using Git at work and so I’ve also installed TortoiseGit which does something similar.

This is the Bootstrap repo cloned to my PC.
This is the Bootstrap repo cloned to my PC.

And of course Dropbox does the same: it shows you which files have been synchronised with the cloud, and which are in the process of uploading.

My Dropbox folders are up-to-date, synchronized successfully with the Cloud
My Dropbox folders are up-to-date, synchronized successfully with the Cloud

The problem

The problem, though, is that each of these applications uses multiple overlay icons but Windows only uses the first 15.

TortoiseSVN and TortoiseGit both use the same nine icons:

Nine folder, each has an icon on top of it such as ticks, crosses or pluses.
TortoiseSVN and TortoiseGit both use nine icons.

Dropbox uses eight icon overlays. If you have OneDrive installed (which you will if you use Windows 8 or above) then it uses three. And Windows itself uses a few to indicate offline files or enhanced storage.

That’s 22 icon overlays, and like I said: Windows only uses the first 15.

So, inevitably you end up with some icons missing, and depending on which these are it can make life just that little bit harder when trying to figure out quickly whether a file is in sync or not, or whether it’s not even been added.

That means you need to make a choice about which icons you want to use and which you don’t.

How to fix it

The most straight-forward way to do this is by editing the Windows Registry.

The icon overlays can be found in the following key:

Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ShellIconOverlayIdentifiers

It turns out you can safely rename the folders which will reorder the icons. The folders are just containers for the real information contained within them.

1. Backup

Export (backup) the ShellIconOverlayIdentifiers folder in its entirety, in case you need to restore it later.

2. Prioritise which icons you need

My current preference is for the following:

  1. 1TortoiseNormal
  2. 2TortoiseModified
  3. 3TortoiseConflict
  4. 6TortoiseDeleted
  5. 7TortoiseAdded
  6. 8TortoiseIgnored
  7. 9TortoiseUnversioned
  8. DropboxExt1 (green Synced)
  9. DropboxExt2 (blue In progress)
  10. DropboxExt5 (red Sync problem)
  11. DropboxExt7 (grey Folder not synchronizing)
  12. EnhancedStorageShell
  13. SkyDrivePro1 (ErrorConflict)
  14. SkyDrivePro2 (SyncInProgress)
  15. SkyDrivePro3 (InSync)

You can use whatever naming convention you prefer. I rename the original folder names with a number prefix and an underscore, e.g. 01_1TortoiseNormal. Folders that I want to drop to the bottom I prefix with a simple x, e.g. x5TortoiseReadOnly.

UPDATE: Some users are reporting that they prefix with a space as this appears to be the trick that OneDrive/SkyDrive has used.

In regedit it looks like this, with the unprioritized icons dropping to the bottom of the list.

List of registry keys
List of registry keys

3. Restart Explorer

  1. Close any Windows Explorer windows.
  2. Press Ctrl+Shift+Esc to open Task Manager.
  3. Look for Windows Explorer listed under “Background processes”.
  4. Right-click it and select “Restart”.

Your taskbar will disappear a couple of times as the Explorer process is restarted, but you should now see all the overlay icons you want within your folders.

(Currently I’m having issues with OneDrive — formerly SkyDrive — but as I don’t rely on it for too much I’m not that bothered, to be honest.)