Thanks for the reply.
I'm not sure what you mean by "unblock the downloaded upgrade package in file properties" so I probably didn't do that.
I downloaded the upgrade package, unzipped it, copied the unzipped folders over the previous installation, browsed to the site and followed the instructions.
I did all this on a copy of the site (filesystem, IIS and Database) so I can easily wipe this and start again if I've done something wrong.
dotnetnuke.dll has a version of 18.104.22.168 so it looks as if the upgrade is in place, but Host Settings still shows the original version number.
Actually I've just noticed something...
My live site is on www.domain.co.uk and I copied this to upgrade.domain.co.uk and applied the changes there.
When I browse upgrade.domain.co.uk I see the content, but the URLs are all still pointing to www.domain.co.uk so it looks as if the links within the site are remembering the main site's root FQDN and using that rather than the upgrade site. So when I'm looking at the Host Settings, it's for the un-upgraded site.
So perhaps I didn't change enough when copying the site.
I copied the filesystem, set up a new site in IIS and backed up and restored the database. I edited web.config in the new file system to point to the new database. I then checked in SQL Activity Monitor that I was getting connections to the new database.
So I think I'll re-copy the database and file system and try again... Is there anything I should be doing so that the copied site doesn't use the FQDN of the original one?