Fix ..... install/uninstall error 1402 ‘Setup cannot open the registry key: UNKNOWN\Components\…’

Fixing a 1402 error while uninstalling or installing a product:

 

Error 1402. Setup cannot open the registry key: UNKNOWN\Components\<very long CLASS ID ending in>0F01FEC. Verify that you have sufficient permissions to access the registry or contact Microsoft Product Support Services (PSS) for assistance. For information about how to contact PSS, see C:\Users\XXX\AppData\Local\Temp\Setup00000e60\PSS10R.Chm.

It is suggested on many websites that running the command ‘secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose‘ will fix this. For me, it didn’t. Maybe it has to do with running Windows, or Office 2007 and the Office 2010 Technical Preview, I don’t know. Probably a combination of those and my ‘hacks’ trying to get them of my system. I finally found a forum post by Bill Castner, a Microsoft MVP, who, in turn, got his info from an MSDN blog post by Aaron Stebner. It explained the use of yet another excellent utility by Microsoft named SubInAcl. This utility does the following:

SubInACL is a command-line tool that enables administrators to obtain security information about files, registry keys, and services, and transfer this information from user to user, from local or global group to group, and from domain to domain. For example, if a user has moved from one domain (DomainA) to another (DomainB), the administrator can replace DomainA\User with DomainB\User in the security information for the user’s files. This gives the user access to the same files from the new domain. SubInACL enables administrators to do the following:

  • Display security information associated with files, registry keys, or services. This information includes owner, group, permission access control list (ACL), discretionary ACL (DACL), and system ACL (SACL).
  • Change the owner of an object.
  • Replace the security information for one identifier (account, group, well-known security identifier (SID)) with that of another identifier.
  • Migrate security information about objects. This is useful if you have reorganized a network’s domains and need to migrate the security information for files from one domain to another.

Subsequently, running the following commands fixed my registry error (after copying SubInAcl.exe to my PATH) and I am now running Office 2010 without any problems.

subinacl /subkeyreg HKEY_LOCAL_MACHINE /setowner=administrators
subinacl /subkeyreg HKEY_CURRENT_USER /setowner=administrators
subinacl /subkeyreg HKEY_CLASSES_ROOT /setowner=administrators
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f