D
Daddy
I've spent way too many hours of my life trying to solve this problem, and while I don't claim to have all the answers, I understand the situation well enough to share it with the newsgroup.
The problem is: Even after Microsoft Office is successfully installed, Office programs may reinstall themselves every time they are started. In a nutshell, the answer is: incorrect registry permissions.
Beginning with Office 2000, Microsoft Office programs start from Windows Installer (MsiInstall) shortcuts, which are also known as "advertised shortcuts." A Windows Installer shortcut provides two key features familiar to anyone who has installed Microsoft Office: "Install on first use" and "Detect and Repair".
If you right-click a normal shortcut you will see that the Target field points to the executable that will be launched. On the other hand, if you right-click an advertised shortcut, the Target field is greyed. In fact, the shortcut contains certain information needed to install a program, or program components, because an advertised shortcut can repair an installation.
When a Microsoft Office program is activated, the Windows Installer engine checks whether proper versions of needed files are installed. If a file is not installed or is damaged, Windows Installer will initiate an Install-On-Demand to repair anything that is missing or damaged.
If a user account does not have Read permission (at least) to the registry keys or subkeys Office is trying to check, Windows Installer cannot locate the information it needs, so it presumes the installation is incomplete or damaged and will reinstall the Office program or component. This explains a lot:
It explains why the problem usually manifests for Limited Users - which have restricted access to the registry to begin with - but can also manifest for some Administrators: It all depends on whether you have Read access to all the keys and subkeys Windows Installer is checking.
It explains why several different fixes have been proposed for this problem, which work for some people but not for everyone: It depends on which particular registry keys and subkeys Windows Installer cannot access.
It also explains why the problem does not manifest in a clean install of Windows followed by a clean install of Office: The default permissions to registry keys and subkeys are as they should be. Over time, registry permissions can get changed to the point where this problem shows up.
Finally, it explains the cryptic warnings that appear in Event Viewer when Office programs get reinstalled. Here is an example:
Detection of product '{91130409-6000-11D3-8CFE-0050048383C9}', feature 'EXCELFiles' failed during request for component '{5572D282-F5E5-11D3-A8E8-0060083FD8D3}'
A Windows Installer shortcut contains pointers to three pieces of information;
1) a product GUID - for example: Microsoft Office
2) a feature name; and
3) a component GUID - for example: Microsoft Word
In the warning above:
91130409-6000-11D3-8CFE-0050048383C9 is the GUID for a retail or OEM edition of Office XP;
EXCELFiles is the feature MsiInstaller is looking for; and
5572D282-F5E5-11D3-A8E8-0060083FD8D3 is the component GUID for Microsoft Excel XP
The solution is to give the 'Everyone' group Read permission to the registry keys and subkeys Windows Installer is most likely to check when an Office program is started. If the 'Everyone' group does not already exist, you have to add it manually. For a more detailed explanation of what to do, you can follow the procedures described in this article in the Microsoft knowledgebase:
"Windows Installer-related event IDs are logged in the Application log when you start an Office program" http://support.microsoft.com/kb/911682
Carefully follow the instructions described for "Event ID 1004, event ID 1001, and event ID 1000," which correspond to the warnings that appear in Event Viewer.
There may be other registry keys and subkeys that you will need to correct, but the above provides a fine beginning and may be all you need.
Addendum: For Excel there is an additional step if you see a message about stdole32.tlb when the program starts. You need to apply the same instructions as above to this registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypLib
Daddy
The problem is: Even after Microsoft Office is successfully installed, Office programs may reinstall themselves every time they are started. In a nutshell, the answer is: incorrect registry permissions.
Beginning with Office 2000, Microsoft Office programs start from Windows Installer (MsiInstall) shortcuts, which are also known as "advertised shortcuts." A Windows Installer shortcut provides two key features familiar to anyone who has installed Microsoft Office: "Install on first use" and "Detect and Repair".
If you right-click a normal shortcut you will see that the Target field points to the executable that will be launched. On the other hand, if you right-click an advertised shortcut, the Target field is greyed. In fact, the shortcut contains certain information needed to install a program, or program components, because an advertised shortcut can repair an installation.
When a Microsoft Office program is activated, the Windows Installer engine checks whether proper versions of needed files are installed. If a file is not installed or is damaged, Windows Installer will initiate an Install-On-Demand to repair anything that is missing or damaged.
If a user account does not have Read permission (at least) to the registry keys or subkeys Office is trying to check, Windows Installer cannot locate the information it needs, so it presumes the installation is incomplete or damaged and will reinstall the Office program or component. This explains a lot:
It explains why the problem usually manifests for Limited Users - which have restricted access to the registry to begin with - but can also manifest for some Administrators: It all depends on whether you have Read access to all the keys and subkeys Windows Installer is checking.
It explains why several different fixes have been proposed for this problem, which work for some people but not for everyone: It depends on which particular registry keys and subkeys Windows Installer cannot access.
It also explains why the problem does not manifest in a clean install of Windows followed by a clean install of Office: The default permissions to registry keys and subkeys are as they should be. Over time, registry permissions can get changed to the point where this problem shows up.
Finally, it explains the cryptic warnings that appear in Event Viewer when Office programs get reinstalled. Here is an example:
Detection of product '{91130409-6000-11D3-8CFE-0050048383C9}', feature 'EXCELFiles' failed during request for component '{5572D282-F5E5-11D3-A8E8-0060083FD8D3}'
A Windows Installer shortcut contains pointers to three pieces of information;
1) a product GUID - for example: Microsoft Office
2) a feature name; and
3) a component GUID - for example: Microsoft Word
In the warning above:
91130409-6000-11D3-8CFE-0050048383C9 is the GUID for a retail or OEM edition of Office XP;
EXCELFiles is the feature MsiInstaller is looking for; and
5572D282-F5E5-11D3-A8E8-0060083FD8D3 is the component GUID for Microsoft Excel XP
The solution is to give the 'Everyone' group Read permission to the registry keys and subkeys Windows Installer is most likely to check when an Office program is started. If the 'Everyone' group does not already exist, you have to add it manually. For a more detailed explanation of what to do, you can follow the procedures described in this article in the Microsoft knowledgebase:
"Windows Installer-related event IDs are logged in the Application log when you start an Office program" http://support.microsoft.com/kb/911682
Carefully follow the instructions described for "Event ID 1004, event ID 1001, and event ID 1000," which correspond to the warnings that appear in Event Viewer.
There may be other registry keys and subkeys that you will need to correct, but the above provides a fine beginning and may be all you need.
Addendum: For Excel there is an additional step if you see a message about stdole32.tlb when the program starts. You need to apply the same instructions as above to this registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypLib
Daddy