Thanks for the replies.
I think the problem was something to do with Firefox, as it worked fine in IE.
I downloaded the fix and merged it into my registry, but Avast still wants to reboot after every update.
Here are the last 100 odd lines of my setup log.
07:30:50 min/gen Started: 07.07.2007, 07:30:50
07:30:50 min/gen Running setup_av_pro-3e9 (1001)
07:30:50 nrm/sys Operating system: WindowsXP ver 5.1, build 2600, sp 2.0 [Service Pack 2]
07:30:50 vrb/sys Computer WinName: L-EEVN3JKOAGQU5
07:30:50 min/sys Windows Net User: SYSTEM
07:30:51 min/gen Cmdline: /downloadpkgs /noreboot /updatevps /verysilent /limitcpu
07:30:51 vrb/gen DldSrc set to inet
07:30:51 vrb/gen Operation set to INST_OP_UPDATE_GET_PACKAGES
07:30:51 min/gen Old version: 3e9 (1001)
07:30:51 nrm/gen SGW32P::CheckIfInstalled set m_bAlreadyInstalled to 1
07:30:51 vrb/sys Computer DnsName: l-eevn3jkoagqu5
07:30:51 vrb/sys Computer Ip Addr: 121.210.122.143
07:30:51 nrm/int SYNCER: Type: use IE settings
07:30:51 nrm/int SYNCER: Auth: another authentication, use WinInet
07:30:51 vrb/pkg Part prg_av_pro-3e9 is installed
07:30:51 vrb/pkg Part vps-75403 is installed
07:30:51 vrb/pkg Part news-4b is installed
07:30:51 vrb/pkg Part setup_av_pro-3e9 is installed
07:30:51 vrb/pkg Part jrog-c is installed
07:30:51 min/gen Old version: 3e9 (1001)
07:30:51 vrb/fil SetExistingFilesBitmap: 1024->145->81
07:30:51 min/gen GUID: 1a43d6b2-8f1e-433f-b7cb-110169a035c0
07:30:52 nrm/gen Server definition(s) loaded for 'main': 125 (maintenance:0)
07:30:52 nrm/gen SelectCurrent: selected server 'Download66 AVAST server' from 'main'
07:30:52 min/pkg GetPackages - set proxy for inet
07:30:52 nrm/int SYNCER: Type: use IE settings
07:30:52 nrm/int SYNCER: Auth: another authentication, use WinInet
07:30:52 vrb/gen Used server:
http://download66.avast.com/iavs4x07:30:53 nrm/gen Server definition(s) loaded for 'main': 125 (maintenance:0)
07:30:53 nrm/gen SelectCurrent: selected server 'Download26 AVAST server' from 'main'
07:30:53 min/pkg GetPackages - set proxy for inet
07:30:53 nrm/int SYNCER: Type: use IE settings
07:30:53 nrm/int SYNCER: Auth: another authentication, use WinInet
07:30:53 vrb/gen Used server:
http://download26.avast.com/iavs4x07:30:53 vrb/gen Used server:
http://download26.avast.com/iavs4x07:30:53 min/pkg Load C:\Program Files\Alwil Software\Avast4\Setup\prod-av_pro.vpu
07:30:53 vrb/pkg LatestPartInfo: jrog = jrog-c
07:30:53 vrb/pkg LatestPartInfo: news = news-4b
07:30:53 vrb/pkg LatestPartInfo: program = prg_av_pro-3e9
07:30:53 vrb/pkg LatestPartInfo: setup = setup_av_pro-3e9
07:30:53 vrb/pkg LatestPartInfo: vps = vps-75404
07:30:54 vrb/gen Used server:
http://download26.avast.com/iavs4x07:30:54 vrb/pkg Part vps-75404 was set to be installed
07:30:54 vrb/pkg Removed obsolete file part-vps-75403.vpu
07:30:54 min/gen Part of license key: W39278848H4400A1106
07:30:54 vrb/pkg IsFullOkay: vpsm-75404.vpu - not okay
07:30:54 vrb/pkg IsFullOkay: vpsm-75404.vpu - not okay
07:30:55 vrb/pkg IsFullOkay: vpsm-75404.vpu - not okay
07:30:55 vrb/pkg IsFullOkay: vpsm-75404.vpu - not okay
07:30:55 vrb/gen Used server:
http://download26.avast.com/iavs4x07:30:55 nrm/pkg DldPackage: C:\Program Files\Alwil Software\Avast4\Setup\vpsm-75404.vpu, returned 0x00000000
07:30:55 vrb/pkg Removed obsolete file vpsm-75403.vpu
07:31:08 min/pkg vps: needs to be updated [075404]
07:31:08 vrb/pkg FilterOutExistingFiles: 145 & 81 = 64
07:31:08 nrm/pkg Transferred files: 5
07:31:08 nrm/pkg Transferred bytes: 13202
07:31:08 nrm/pkg Transfer time: 2078 ms
07:31:09 vrb/int Sending stats '
http://download26.avast.com/cgi-bin/iavs4stats.cgi': 00000000 204
07:31:09 vrb/fil NeedReboot=false
07:31:09 min/gen Return code: 0x20000000 [Something done]
07:31:09 min/gen Stopped: 07.07.2007, 07:31:09
07:31:09 min/gen Started: 07.07.2007, 07:31:09
07:31:09 min/gen Running setup_av_pro-3e9 (1001)
07:31:09 nrm/sys Operating system: WindowsXP ver 5.1, build 2600, sp 2.0 [Service Pack 2]
07:31:09 vrb/sys Computer WinName: L-EEVN3JKOAGQU5
07:31:09 min/sys Windows Net User: SYSTEM
07:31:09 min/gen Cmdline: /refresh /noreboot /updatevps /verysilent /limitcpu
07:31:09 vrb/gen Operation set to INST_OP_UPDATE_INSTALL_PACKAGES
07:31:09 min/gen Old version: 3e9 (1001)
07:31:09 nrm/gen SGW32P::CheckIfInstalled set m_bAlreadyInstalled to 1
07:31:09 nrm/int SYNCER: Type: use IE settings
07:31:09 nrm/int SYNCER: Auth: another authentication, use WinInet
07:31:09 vrb/pkg Part prg_av_pro-3e9 is installed
07:31:09 vrb/pkg Part vps-75404 is installed
07:31:09 vrb/pkg Part news-4b is installed
07:31:09 vrb/pkg Part setup_av_pro-3e9 is installed
07:31:09 vrb/pkg Part jrog-c is installed
07:31:09 min/gen Old version: 3e9 (1001)
07:31:10 vrb/fil SetExistingFilesBitmap: 1024->145->81
07:31:10 min/gen GUID: 1a43d6b2-8f1e-433f-b7cb-110169a035c0
07:31:10 vrb/gen Entering:UpdateInstallPackages
07:31:10 min/pkg Load C:\Program Files\Alwil Software\Avast4\Setup\prod-av_pro.vpu
07:31:10 vrb/pkg LatestPartInfo: jrog = jrog-c
07:31:10 vrb/pkg LatestPartInfo: news = news-4b
07:31:10 vrb/pkg LatestPartInfo: program = prg_av_pro-3e9
07:31:10 vrb/pkg LatestPartInfo: setup = setup_av_pro-3e9
07:31:10 vrb/pkg LatestPartInfo: vps = vps-75404
07:31:10 vrb/pkg ArePartsInstallable: 1
07:31:23 min/pkg vps: updated [075404]
07:31:23 vrb/fil Fix security on: C:\Program Files\Alwil Software\Avast4\*.*
07:31:24 vrb/fil Fix security on: C:\Program Files\Alwil Software\Avast4\ENGLISH\*.*
07:31:24 vrb/fil Fix security on: C:\Program Files\Alwil Software\Avast4\ENGLISH\HELP\*.*
07:31:24 vrb/fil Fix security on: C:\Program Files\Alwil Software\Avast4\ENGLISH\HtmlData\*.*
07:31:24 vrb/fil Fix security on: C:\Program Files\Alwil Software\Avast4\images\*.*
07:31:24 nrm/pkg Transferred files: 0
07:31:24 nrm/pkg Transferred bytes: 0
07:31:24 nrm/pkg Transfer time: 0 ms
07:31:24 vrb/fil NeedReboot=false
07:31:24 min/gen Return code: 0x20000000 [Something done]
07:31:24 min/gen Stopped: 07.07.2007, 07:31:24
07:31:24 min/gen Started: 07.07.2007, 07:31:24
07:31:24 min/gen Running setup_av_pro-3e9 (1001)
07:31:24 nrm/sys Operating system: WindowsXP ver 5.1, build 2600, sp 2.0 [Service Pack 2]
07:31:24 vrb/sys Computer WinName: L-EEVN3JKOAGQU5
07:31:24 min/sys Windows Net User: SYSTEM
07:31:24 min/gen Cmdline: /stopstat /verysilent /noreboot
07:31:24 vrb/gen Operation set to INST_OP_[16]
07:31:24 min/gen Old version: 3e9 (1001)
07:31:24 nrm/gen SGW32P::CheckIfInstalled set m_bAlreadyInstalled to 1
07:31:24 nrm/int SYNCER: Type: use IE settings
07:31:24 nrm/int SYNCER: Auth: another authentication, use WinInet
07:31:24 vrb/pkg Part prg_av_pro-3e9 is installed
07:31:24 vrb/pkg Part vps-75404 is installed
07:31:24 vrb/pkg Part news-4b is installed
07:31:24 vrb/pkg Part setup_av_pro-3e9 is installed
07:31:24 vrb/pkg Part jrog-c is installed
07:31:24 min/gen Old version: 3e9 (1001)
07:31:24 nrm/pkg Transferred files: 0
07:31:24 nrm/pkg Transferred bytes: 0
07:31:24 nrm/pkg Transfer time: 0 ms
07:31:24 vrb/fil NeedReboot=false
07:31:24 min/gen Return code: 0x20000001 [Nothing done]
07:31:24 min/gen Stopped: 07.07.2007, 07:31:24