Is there some custom policy set on that machine?
Registration for COM objects lives in HKLM which can only be **written** to by an admin. However, once written you should definitely be able to read that and so any application should be able to access it.
So, it's definitely not normal behavior - there must be something else going on. The only thing I can think off is that the registration is not actually going to the right place. Perhaps when you registered the control your account wasn't an admin account so registry redirection of some sort occurred for that particular account? but on XP that feature didn't exist.
Maybe it's time to tell your client they should not be running XP any more (for many, many reasons security being the most pressing)? :-)
+++ Rick ---
>>Anyone seen this before and have any idea what to do to fix it?
>>
>>I have a screen that uses mscomm32.ocx to read values from a scale. When the user logs in to the PC as the administrator it works fine. If they log in as a regular domain user they get an error that the ActiveX has not been registered.
>>
>>I have manually registered it (and the fact that it works when the admin is logged in shows it is registered).
>>This is on a Windows XP machine logged into a domain.
>
>Just in case anyone comes across this we had to set the user's rights to administrator level on the local PC in order to get it to work. I don't like the solution, but at least it is working. :(