To fix the problem you need to set permissions. If you are not comfortable with exactly how to do that, I can help you if you send me the keys that are causing the error. You can do that most easily by clicking CTRL+A in Process Monitor, and then clicking CTRL+C to copy it. Then click the "Comments" link on the right side of the blog to send me a message, and paste the output into it.
To fix the problem yourself you can also change the permissions on the registry key (typically) or file that is a problem. I have not yet seen this happen because of file permissions, but if it does, it would be interesting to know. To fix registry permissions problems, do this:
-
Right click the event and select “Jump to...”
-
Right-click the key that is listed and select “Permissions...”
-
Click Advanced
-
Make sure that permissions are at least Full Control for TrustedInstaller, and Read for Administrators and SYSTEM. If that is what you have, and you are using a non-Windows installer (such as Adobe Updater), close the Advanced window, select the Administrators entry, and click the Full Control checkbox
-
Click OK to close the dialogs.
-
Retry the update
This will work under the assumption that the proper permissions were overridden on that particular key. In general, permissions on these keys should be Read for everyone except Trusted Installer, as follows:

You may, however, see Administrators have Full Control, or SYSTEM having Full Control. Those are both typically acceptable.
If this helps you, and you do not mind, could you please post a comment with the key that was a problem? It would be very interesting if we could figure out if this is caused by some particular piece of software that modifies some particular value.
Problems Installing Windows Installer 3.1
After I wrote the original post I was contacted by a gentleman who was getting access violation errors when trying to install Windows Installer 3.1. He had Norton Internet Security (NIS) 2007 installed, and had upgraded the computer from Windows XP Home to Windows XP Pro.
After some basic troubleshooting I suggested he remove NIS to see if that resolved the issue. Unfortunately, it would not uninstall because it required Windows Installer to uninstall.
As it turns out, Symantec has an article on how to resolve this. It basically involves deleting the old Windows Installer manually.
On Windows XP, start by downloading the Windows Installer 3.1 files. Then, open a command prompt running as an administrator and rename/delete these files:
-
msi.dll
-
msihnd.dll
-
msiexec.exe
After that, restart, and install the Windows Installer 3.1 file you downloaded. I have a concern with this approach, however. The DLLs are in use, by at least two processes. Thus, while you can rename them, they will actually remain in place, as shown by this command line output:
C:\WINDOWS\system32>ren msi.dll msi.dll.old
C:\WINDOWS\system32>ren msihnd.dll msihnd.dll.old
C:\WINDOWS\system32>ren msiexec.exe msiexec.exe.old
C:\WINDOWS\system32>dir msi.dll
Volume in drive C has no label.
Volume Serial Number is 6050-9DD5
Directory of C:\WINDOWS\system32
08/04/2004 12:56 AM 2,804,224 msi.dll
1 File(s) 2,804,224 bytes
0 Dir(s) 14,033,321,984 bytes free
The file gets put back where it belongs even after you do this and reboot. On some systems, those files are under System File Protection:
C:\WINDOWS>dir /s /b msi.dll
C:\WINDOWS\ServicePackFiles\i386\msi.dll
C:\WINDOWS\system32\msi.dll
C:\WINDOWS\system32\dllcache\msi.dll
In other words, I do not buy the solution Symantec is listing as a viable solution on all computers. On at least some computers those files will be under System File Protection. Once you try to delete them, the OS will enter them into System File Protection, making it very difficult to get rid of them. Thus, your mileage with Symantec's solution will vary. Personally, I would instead suggest you try the Windows Vista solution, regardless of which OS you are on.
From an elevated command prompt, run:
msiexec /unregister
Followed by:
msiexec /regserver
Now try to update the Windows Installer (if you are on XP. If you are on Vista, you already have the latest version). Then try to remove Norton Internet Security, and see if your problems go away. If they do, you can, optionally, reinstall Norton Internet Security.