2

I have an MSI installer which registers an ActiveX component. The registration info is written to the HKEY_CURRENT_USER hive, and all works fine and dandy.

For one user, however, IE is behaving as though the component is not registered. I've looked in the registry and the registration is there in HKCU. However, it doesn't appear in HKCR, which is really strange as that should be a merged view of HKCU\Software\Classes and HKLM\Software\Classes.

I've also noticed that the registration appears in

HK_USERS\<sid>\Software\Classes\CLSID\

but not in

HK_USERS\<sid>_Classes\CLSID\

The only way I can get it to work for her is to write the registration information to

HK_USERS\<sid>_Classes\CLSID\<GUID>\

at which point everything works perfectly.

Any ideas why this is?

3
  • Did you ever figure this out? Jul 12, 2011 at 0:38
  • See my answer - we didn't really figure it out, but a restart fixed our issue, so we just made the installer do that...
    – RB.
    Jul 12, 2011 at 10:42
  • The Microsoft Support case came to naught in the end. Our final workaround is to install the application for all users. This ensures that the registry information is written to HKLM, rather than HKCU, which seems to be more reliable. Not ideal, but it's the best we can do :(
    – RB.
    Feb 27, 2012 at 8:53

3 Answers 3

2

I just resolved a problem with the exact same symptoms. The issue in this case was that the HKEY_USERS\[sid]\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders key was missing. This prevented Windows from locating the classes hive for that user. I have no idea how/why the key went missing.

Another symptom of this problem is that if you look under HKEY_USERS, you will see that the key HKEY_USERS\[sid]_classes is missing.

To fix it, just repair the missing key and reboot the machine. You can copy the good values from HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\User Shell Folders.

3
  • Thanks for the answer, but that key exists for me so I think I have a different issue.
    – RB.
    Feb 27, 2012 at 8:52
  • This is a typical error resulting from incompetent repackaging of applications for corporate deployment. The problem does not surface until the faulty package is uninstalled. Then it rips out the system registry setting in the process, and unexpected problems result. A quick system restore with a recent backup will generally help recover the system, but this is not always the case. Mar 12, 2012 at 15:38
  • This fixed the issue in my environment - thank you SO much! Oct 15, 2017 at 17:59
1

I assume you have checked any Internet Explorer security settings? Is the user in a special AD group? Disabled addin in Internet Explorer?

For "problem users" I sometimes export text files from the user hives and diff with regular text diff tools to spot different settings.

1

I finally figured out the "answer" to this question. Basically, it appears that on some users PC's we had to restart the PC. This would then ensure that the relevant hives were correctly merged.

We only had to do this on some users PCs - on other the hives were correctly in sync.

All PCs were XP SP3, with the same build applied. It didn't seem to make a difference if users were admins or not.

3
  • Thanks, great to have these issues "closed off". You can be sure someone else will have the same problem at some point. Recommend you accept this answer as the solution. Jul 12, 2011 at 22:31
  • I would, but it's not really a good answer - my understanding is that the PCs should not need to be restarted to ensure that the registry hives are correctly in sync. I'll mark it as answered if my percentage goes too low!
    – RB.
    Jul 13, 2011 at 9:07
  • Note that after investigating further, a restart will not always resolve this issue, and the user needs to have their registry keys manually edited - not great. We've opened a Microsoft support case on this, and I'll update the answer when I get one from them.
    – RB.
    Nov 25, 2011 at 10:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .