At the office of one of my clients, I upgraded two systems that were running Windows 2000 Professional with Internet Explorer/Outlook Express 5.5 to Windows XP. I also added SP1 as well. Since that time, everything had been working fine.

My client recently took on a new customer who wanted to send service requests via e-mail attachments; he called me when the customer’s attachments were getting blocked by Outlook Express. I explained that the Outlook Express attachment blocking was a security feature designed by Microsoft to prevent the spread of viruses, and that it could be easily disabled. I proceeded to walk him through the steps required to disable the attachment-blocking feature.

As you may know, this procedure amounts to accessing the Security tab in the Options dialog box and clearing the Do Not Allow Attachments To Be Saved Or Opened That Could Potentially Be A Virus check box in the Virus Protection section. However, my client informed me that there wasn’t a Virus Protection section nor a Do Not Allow Attachments… check box on the Security tab. Thinking that he may be too flustered about the problem to be seeing clearly, I told him that I’d come over and take care of it as soon as I could.

Later that afternoon, I went to my client’s office, looked at the Security tab in the Options dialog box, and was flabbergasted to discover that the entire Virus Protection section simply wasn’t there. I then went to the Help menu and chose the About command in order to check versions. What I saw was even more disturbing. The About dialog box displayed the Outlook Express version 5 logo, yet listed the version as 6. It even listed the SP1 number as 6.00.2800.1106 (xpsp1.020828-1920).

I went to a second system and discovered the same situation. Stunned, I began to feel like a character in a Twilight Zone episode. “Meet Greg Shultz, a computer consultant about to begin a Windows XP troubleshooting expedition that will take him on a journey through both time and space to an unknown realm called…the Twilight Zone.” Thus began a very interesting troubleshooting expedition that took some very odd turns and led to lots of dead ends before finally yielding a successful solution. Since I encountered the problem on two systems (and have subsequently found someone else who had the same problem), I thought I’d share my experiences in hopes of saving other TechRepublic readers from taking a trip into the Twilight Zone.

Taking a look at the problem systems
Before I get started on the troubleshooting expedition, I’ll show you what I discovered on the systems. Figure A shows the Outlook Express Options dialog box I encountered. At first glance, nothing really appears out of the ordinary and, in fact, looks just like the Options dialog box in Outlook Express 5. However, this is actually Outlook Express 6, and the dialog box should look like the one in Figure B. As you can see, the first dialog box doesn’t contain a Virus Protection section or a Do Not Allow Attachments… check box.

Figure A
This is the Outlook Express Options dialog box I encountered.

Figure B
This is the Outlook Express Options dialog box I should have seen.

When I opened the About Outlook Express dialog box, I found the logo for Outlook Express 5, but incongruously the version number for Outlook Express 6 and the service pack appeared below it, as shown in Figure C.

Figure C
The About Outlook Express dialog box indicates a tangled mess of both version 5 and 6.

You might think that such a mess would prevent Outlook Express from functioning at all. However, both systems were plugging away, sending and receiving e-mail just as if nothing were wrong. The problem cropped up only after I updated the system to SP1, and the OE attachment-blocking feature was in full force with no way to disable it. Consequently, there was no way for my client to receive attachments. I also want to point out that Internet Explorer seemed to have been successfully upgraded to version 6.0.

The troubleshooting expedition
I took the screen shots of the curious-looking dialog boxes, saved them to a floppy disk, and left my client with assurances that I would find a solution within 24 hours or less. As I left the office, I was still confused, but proceeded with confidence as I stepped further into the Twilight Zone.

From the looks of things, the problem had actually occurred during the upgrade from Windows 2000 to Windows XP when some glitch prevented the procedure from performing a complete Outlook Express upgrade from 5.5 to 6.0. I decided to begin my troubleshooting expedition by visiting the Microsoft Knowledge Base and looking for upgrade problem reports.

One of the articles I found in the Knowledge Base was “How to Reinstall or Repair Internet Explorer and Outlook Express in Windows XP.” While this article purports to show you how to reinstall Outlook Express, it goes on to describe using System File Checker to look for bad files or performing an in-place upgrade of Windows XP. It then describes a procedure for editing the registry and then attempting to reinstall Internet Explorer. But it ends with several warnings that dissuaded me from following that path.

In several newsgroups, I found replies to my posts that reminded me that SP1 places Outlook Express, as well as several native Windows applications, in the Windows Components section of the Add Or Remove Programs utility. They suggested that I might be able to solve the problem by removing Outlook Express and then reinstalling it. However, several other respondents reported problems with this procedure, saying that all of the DLL files were not removed and further problems developed.

The solution emerges
When I read a post that mentioned DLL files, I started thinking about the file list in the About Outlook Express dialog box. Looking back at the screen shot, I noticed that two of the files had version numbers that began with 5.5, while another two had version numbers that began with 6.0. I then checked the About Outlook Express dialog box on my system and found that all the files had version numbers that began with 6.0.

After several hours of mucking about on the Web, this was my first solid lead. I had to see the rest of the files listed in the About Outlook Express dialog box on the troubled systems. So I called my client, who, despite the late hour, agreed to meet me at his office. Sure enough, I found a total of five Outlook Express DLL files with version numbers that began with 5.5. These are shown in Table A.
Table A



Acctres.dll 5.50.4807.1700 C:\Windows\System32
Diretdb.dll 5.50.4807.1700 C:\Program Files\Common files\System
Inetres.dll 5.50.4807.1700 C:\Windows\System32
Msoeres.dll 5.50.4807.1700 C:\Program Files\Outlook Express
Oeimport.dll 5.50.4807.1700 C:\Program Files\Outlook Express

Outlook Express 5.5 DLL files

I then tracked down each file in Windows Explorer and investigated the Version tab in the Properties dialog box. The description of each file is shown in Table B.
Table B


Acctres.dll Microsoft Internet Account Manager Resources
Diretdb.dll Microsoft Direct Database API
Inetres.dll Microsoft Internet Messaging API Resources
Msoeres.dll Outlook Express
Oeimport.dll Outlook Express Mail Import & Export

Outlook Express 5.5 DLL file descriptions

I had brought along my laptop and was able to confirm the existence of identical filenames and descriptions on a working copy of Outlook Express 6. Furthermore, the DLL files appeared to have the original version numbers and were unchanged by the SP1 update. There were only five errant DLL files and each appeared to be interchangeable as far as Outlook Express was concerned—it still worked regardless of the version numbers of these DLL files. The solution was clear: All I had to do was replace the version 5.5 files with the original version 6.0 files.

Implementing the solution
While I might have been able to perform the operation with System File Checker (Sfc.exe), I wasn’t sure how it would respond when replacing older files. I opted for a more direct route—dropping down to a command prompt window and using the Expand command to manually replace the files on the hard disk with those from the Windows XP CD. Knowing that I would have to perform the procedure on two systems, and noticing my client trying to stifle yawns as he watched from an adjacent chair, I figured I could speed up the operation and avoid typos by creating the simple batch file shown in Figure D.
Figure D


cd \i386


directdb.dl_ c:\progra~1\common~1\system\directdb.dll


acctres.dl_ c:\winnt\system32\acctres.dll


inetres.dl_ c:\winnt\system32\inetres.dll


msoeres.dl_ c:\progra~1\outloo~1\msoeres.dll


oeimport.dl_ c:\progra~1\outloo~1\oeimport.dll


Of course in this case, the CD drive is E: and the Windows directory is Winnt. I also used the short names for folder names that included spaces. As you can see, I inserted Pause commands between each Expand command so I could monitor the progress of the batch file and make sure that everything was working correctly. I closed Outlook Express, inserted the Windows XP CD into the drive, and held down the [Shift] key as I closed the door to prevent the AutoStart screen from appearing. I launched the batch file and watched it go to work expanding fresh copies of the DLL files.

As I watched the procedure, it occurred to me that in the heat of discovering a solution, I forgot about the Windows File Protection feature. It might go to work in the background and undo the replacements once the procedure was complete. When the batch file was complete, I restarted Windows XP. I then launched Windows Explorer, rechecked the files I had just expanded, and saw that they were the same. I suspect that Windows File Protection did scan the files but found that they were the correct digitally signed versions and left them alone. I went to the hidden Dllcache folder that Windows File Protection uses to store its backup copies and was surprised to discover that the correct file versions were there as well.

Feeling the tug of the Twilight Zone again, I closed Windows Explorer and launched Outlook Express. Everything was as it should have been—the Security tab in the Options dialog box now had a Virus Protection section and a Do Not Allow Attachments… check box, which I immediately cleared. Next, I went to the About Outlook Express dialog box and found the Outlook Express logo along with the correct version number. My final task was to copy the batch file to a floppy disk and repeat the procedure on the second system.

The analysis
While the solution I came up with fixed the problem, and my client is now happily receiving service requests via e-mail attachments, I wasn’t able to track down exactly what caused those five files to be left behind during the Windows 2000 to Windows XP upgrade. The computers are both Dell systems, but they are not identical. However, both systems came from Dell with Windows 2000 and Internet Explorer/Outlook Express 5.01 preinstalled.

Looking back over the upgrade history of these two systems, I know that I had installed the Internet Explorer/Outlook Express 5.01 SP2 and then later upgraded to Internet Explorer/Outlook Express 5.5. Some time later, I upgraded both systems using the upgrade version of the Windows XP. In retrospect, I should have wiped the hard disks and performed a clean install of Windows XP.

As I mentioned in the introduction, I did encounter one other person who had experienced the same problem, but he had solved his problem by wiping the hard disk and reinstalling. We compared notes and, while his system had a similar upgrade history, nothing jumped out as a definitive cause. If you’ve encountered this or a similar problem, please use the Discussion Area to let us know about your experiences.