MSFeeds.dll setup bug

Hi, My Name is Stephen Anacker and I am a tester working on IE7 setup. I have read that a number of you have seen the following error when attempting to install the IE7 preview:

“Error loading C:WINDOWSsystem32msfeeds.dll  The specific procedure could not be found.”

This error is permissions on registry key X (usually hkcr.tif) being set to read only on the system. I want to talk about a couple of things to give some help in working around this bug and to explain what is happening.

We have seen examples where anti-spyware may cause this problem, so a possible work around is stop your anti-spyware for the duration of the install ONLY. After installation, please turn it back on.

If this doesn’t work then we need to do some digging and editing of the registry. The first step is open your updspapi.log, which can be found in the "windows" directory, and search for "Access is denied" in it.

In the area of the "Access is denied" errors, there will be an entry that reads: "Setting registry value" and then a key name. This is the locked key that is causing the problem. To change this you need to do the following:

  1. Go to Start  then "Run" type "regedit" in the run box and enter.
  2. In regedit expand the appropriate registry (usually HKEY_CLASSES_ROOT or HKEY_CURRENT_USER) in the left pane and locate your key.
  3. Right click on the entry in the left pane, select "permissions..."
  4. In the permissions box select the "administrators" group.
  5. Click on the "Advanced" button at the lower right.
  6. Select administrators and click edit.
  7. In the next dialogue check to allow box for "full control".
  8. Save and close the registry.
  9. Install IE7

This should enable you to install IE7.

So what’s going on?

When you see the msfeeds.dll error at install time the installer is rolling back a failed install, and has actually completed most of the process. The error message has very little to do with the error, Msfeeds.dll just happens to be the last point of install before failure occurred and it is partially installed. When we roll back the install, the error occurs when the uninstall routine which thinks MSfeeds.dll was fully installed is trying to uninstall those portions which where never installed, which causes the error.

What is causing this? When you install Internet Explorer 7 it reads and writes to a large number of registry keys, changing associations from IE6 to IE7, restoring some keys to a "good" state, making some settings more secure, adding settings for the Feed sound…basically lots of settings. When it encounters a registry key with read-only permissions the installer stops at that point and uninstalls.

You might say well "why don’t you change the permissions on the key and write the new value?" The answer is that we have to accept that setting - we need to assume that there is a reason it’s locked down. It may be that a user set it to read-only or it may be an anti-virus or anti-spyware setting; we don’t know who set it or why.

So why not skip the key? This is fine if the key is a relatively benign key such as text size, but what if the key is affects how IE loads or runs? We would rather uninstall than install a crippled or not secure browser so we play it safe and roll back.

We are looking into solutions to this bug and it will be fixed before we ship IE7 but we need to respect the user settings and existing security precautions while allowing IE to set up correctly.

 - Stephen