XP SP2 Office 97 Setup Failure and Registry Adventures

I recently had to setup Office 97 on a Windows XP machine that came with the dreaded SP2, making it impossible to avoid.

Before setup could complete, it gave an error registering htmlmarq.ocx and ended, saying setup did not complete successfully. Yet Word would run, it seemed.

You can’t always trust overt impressions. When a document management program attempted to open a document and launch Word through OLE automation (I know, COM automation), it turned out the VB environment of Word hadn’t installed and no could do. Darn.

So I tried again to make it work. I renamed the Office registry keys. I renamed the Microsoft Office directory. I installed again. Removed and installed. No dice. Duh. I finally thought to Google htmlmarq.ocx to see what I found, which led me rapidly to this page that contained a solution and was an eye-opener about something Microsoft does in XP, if not other operating systems.

Actually, I just checked Windows 2000 and it does have the same registry section, which leads to more commentary below, not directly related to the Office 97 setup.

Anyway, if you can’t get the Office 97 setup to complete on XP, you will need to run Regedit. That is, Start, Run, type “regedit” without the quotes, and press Enter or click OK. That will bring up the registry editor.

Be careful what you do in the registry editor. You can completely hose your system if you change or delete the wrong thing.

You will need to go to the following key:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options

That is, on the left you will initially see some top level keys under “My Computer.” Expand the one labeled HKEY_LOCAL_MACHINE. Under that will be more, to be expanded out in tree fashion: Software, Microsoft, Windows NT, Current Version, Image File Execution Options.

At that point you will see a series of additional keys. For the Office 97 problem, look for htmlmarq.ocx and htmlmm.ocx keys. If you click on them, based on my experience, there will be no associated value over on the right. I gather the idea is by putting the item in Image File Execution Options without any options specified, you block it entirely. Was that the intent? I don’t know.

Rename them so they no longer match the original names. Afterward, the setup should complete successfully. It worked great for me, so I thought it would be nice to add visibility to the solution.

For what it’s worth, this had no bearing on the Outlook install of additional components that I wrote about previously. That stayed broken, and I did not find I needed to investigate further as everything worked as required in Outlook.

I poked around and found the same section exists in Windows 2000, as indeed it does in the whole NT OS family. Everything in there had values, of either “ApplicationGoo” or “DisableHeapLookAside.” The ApplicationGoo one sounds completely silly, and is notably applicable to install.exe, setup.exe and setup32.dll.

Naturally I Googled it, and found there is more to learn about the topic here, if not an exact answer to what ApplicationGoo is all about.

Finally, on Windows 2000 I did a test. I created an application named testaroo.exe, that simply pops up a message box saying “testaroo.” Then I added a key named testaroo.exe to that section and tried running testaroo.exe. It worked. So the key does nothing to prevent a program from running. Which makes sense, given the problem with htmlmarq was registering. I’m not going to take a test that far just now.