22 Sep 2016

IIS 503 Service Unavailable - Classic ASP

Just had the horrible 503 Service Unavailable issue when trying to view a Classic ASP site hosted on Windows 10 IIS. Turns out the Windows 10 Anniversary update broke it... but I digress....

In IIS I saw that the Classic ASP App Pool had stopped. But if restarted, it just stopped again when I hit the website.

Event Viewer said "The Module DLL C:\WINDOWS\system32\inetsrv\rewrite.dll failed to load. The data is the error." This is the IIS Rewrite 2 module.

So I went into Programs and Features, located "IIS URL Rewrite Module 2" and hit "Repair".

Then I restarted the crashed Classic App Pool in IIS, viewed the website, and the problem was fixed.

13 Nov 2015

Use Technicolor modem as slave wireless access point

1) Used "other" easy setup wizard to gain access to turn off DHCP on slave router
2) Set slave IP to be out of the DHCP range of the main router, but within the subnet.
3) Setup wifi SSID, password etc to match the main router, but use different wireless channel.
4) Put slave at opposite end of house, connected over powerline.

Bingo... Seamless wireless transition throughout the house and garden. Can also connect devices to the slave via cable.

11 Sep 2015

Bluetooth Issues with Lenovo ThinkPad T410 - Error 1935

Horrible recurring problems with this machine where the Bluetooth drivers get screwed up.

I tried to fix by downloading the latest ThinkPad Bluetooth with Enhanced Data Rate Software for Windows 7 and reinstalling, but it kept failing with the dreaded Error 1935. An error occurred during the installation of assembly 'Microsoft.VC80.ATL error.

The only thing that fixed this was by running the Microsoft Fix It tool, telling it that I had a problem with Installing the Thinkpad Bluetooth software. It fixed stuff, rebooted my machine (without asking!) and I was then able to install the software.

17 Mar 2015

IIS 7 URL Rewrite - Ensure SSL/HTTPS and Ensure Fully Qualified Domain Name (FQDN) as Hostname

I had the goal of ensuring all traffic on a web site was via SSL, and also using the canonical hostname, i.e. www.mysite.com rather than just mysite.com.

After installing URL Rewrite 2.0 on IIS, this was achieved by adding the following to the site's root web.config file.


16 Feb 2015

Get Inserted ID from SQLOLEDB ADO Recordset.AddNew with SQL Server

Migrating a legacy ASP site to SQL Server, had a prob whereby lots of code that previously used RecordSet.AddNew() with RecordSet.Update(), and then immeditately retrieved the inserted ID from the RecordSet, suddenly failed to get the inserted ID.

The solution was to set the RecordSet CursorType to adOpenKeyset (constant value 1)

10 Feb 2015

Edit Web.Config from File Explorer in Windows 7 / 8 / 2012 - Read Only for Administrator

Don't you hate that UAC thing whereby you can't edit your site's web.config file directly from File Explorer? It lets you open it in notepad and then won't let you save. Even though you're an Administrator! ANNOYING!

It's because of the default Access Control List on the Inetpub folder. When you edit any file under that folder, Windows busts you down to User level permissions, even though your user is a member of the Administrators group.

A quick fix is to grant full access permissions over Inetpub to your explicit user account. Run this in an elevated (Run As Administrator) command prompt (Note you don't need to type your actual username in here, the environment variables will be interpolated for you automatically):

icacls %systemdrive%\inetpub /grant  %userdomain%\%username%:(OI)(CI)(F) /grant %userdomain%\%username%:F

27 Nov 2014

Lenovo ThinkPad T410 Fingerprint Reader stopped working after update

Did a long-put-off update on my Thinkpad with all its recommended Lenovo drivers from the ThinkVantage tool. All dandy, apart from the fingerprint reader stopped working. It used to have a little green light on to show it was ready, now it was off in sleep mode.

Simple solution: Go to Device Manager > Biometric Devices > TouchChip Fingerprint Coprocessor > Properties > Power Management and untick the "Allow the computer to turn off this device" option.

18 Nov 2014

Remote Desktop connection failed

Couldn't connect via RDC via an RD Gateway. Tried all sorts but in the end tried going into Device Manager, showing all hidden devices, and removed all the ISATAP virtual tunneling adapters that various Virtual Machines had added. It worked!

22 Oct 2014

Installation Ended Prematurely - MVC Hotfix MS14-059

Just had a scary moment when a production MVC application went down due to MS Updates removing the MVC dll and replacing it with MVC

Although we located the MS Hotfix (MS14-059), the installer gave us a worrying "Installer Ended Prematurely" error.

The solution was simple - the server needed a reboot to allow it to install some pending updates before the Hotfix could be run.

21 Oct 2014

VBScript / Classic ASP value equivalency crib sheet


Equivalent to: NULL


Equivalent to: FALSE


Equivalent to: NUMBER VALUE (but STRING ZERO is not FALSE!)


Equivalent to: FALSE (but not NULL!)


Not equivalent to FALSE, EMPTY, ZERO or NULL!

NOTE: If you compare NULL with anything, it just returns NULL, not TRUE/FALSE

NOTE: While 0 is equivalent to FALSE, 1 is NOT equivalent to TRUE

If I helped you out today, you can buy me a beer below. Cheers!