Author |
Topic |
|
Moby Disk
New Member
8 Posts |
Posted - Feb 28 2009 : 2:55:37 PM
|
I have an installation problem, and it is mentioned in your FAQ, but it isn't really answered.
The FAQ entry is this: http://docs.wholetomato.com?W290 With the subject: "Why do I get the error "Class not registered"?"
The answer boils down to "download some registry tools and reverse-engineer our application to figure out why it doesn't work." That isn't very helpful. Perhaps instead you could follow your own advice, then use that to fix the bug?
To reproduce this problem of Windows XP, simply do this: 1) Login as administrator 2) Install Visual Assist X. - Note: At this point, the installer registers the DLLs successfully 3) Login as a limited user 4) Run Visual Studio - You will receive the error
For now, I'll have to disabled VAX because I can't be running as admin all the time. And at my work environment, they won't let us run as administrators (rightfully so).
William Garrison Moby Disk Consulting http://www.mobydisk.com |
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Mar 02 2009 : 12:00:39 PM
|
We have quite a few users running as limited users, and they are not reporting this problem. In fact this is a very rare problem, in terms of what people report.
I have just done the following test. Using a winXP SP3 machine with VC6, VS2003, VS2005 and VS2008 installed, which has never had VA installed on it, I added a new limited user to the system.
I then logged in as the limited user and ran each of the IDE's in turn. I got various error messages from the IDE's, basically permissions errors on my test solution which I had been opening as the administrator user.
I logged off the limited user, logged in as the administrator, and installed VA 1715. There were no error messages. I did not run any IDE's, instead I just logged off.
I then logged in as the limited user and ran VS2005. No error messages, VA loaded correctly and is working correctly.
There is obviously something different about our two systems, but I don't know what.
Does my test seem correct?
Have you tried the steps from the FAQ entry? I am wondering if your results off any clues as to why you are having this problem. If we can find the cause then we can try to fix it. |
zen is the art of being at one with the two'ness |
|
|
Moby Disk
New Member
8 Posts |
Posted - Mar 02 2009 : 10:15:27 PM
|
Since it runs for you as a limited user, I am proceeding with those steps, but I have some questions about them. The FAQ entry says:
"Open a dos command prompt and navigate to your Visual Assist X installation directory, C:\\Program Files\\Visual Assist X\\ by default, and issue the command:
regsvr32 VAssistNET.dll
If this fails with the error number 0x80070005 it means that you do not have permissions to modify certain registry entries."
Do the instructions want me to run as administrator, or limited user? Neither option makes sense to me: If I do that as administrator it succeeds. If I do that as a limited user it fails. But it is _SUPPOSED_ to fail as a limited user. Limited users do not have rights to register DLLs. So I'm not sure what you are looking for. Once the DLL is registered under the administrator account, it will be accessible by all users.
Despite this, I followed the instructions as limited user. Regmon reports ACCESS_DENIED on the following keys:
CreateKey HKLM\\Software\\Microsoft\\VisualStudio\\7.0\\Addins\\VAssistNET.Connect ACCESS DENIED Access: 0x20007 OpenKey HKCR\\VAssistNET.Connect.1 ACCESS DENIED Access: 0x2001F OpenKey HKCR\\VAssistNET.Connect.1 ACCESS DENIED Access: 0x20019 CreateKey HKCR\\VAssistNET.Connect.1 ACCESS DENIED Access: 0x2001F CreateKey HKCR\\VAssistNET.Connect.1 ACCESS DENIED Access: 0x2001F OpenKey HKCR\\VAssistNET.Connect.1 ACCESS DENIED Access: 0x20019
I'm not sure how this helps. Adding write privileges to those keys to the limited user will not do anything since those keys are already filled-in properly. There's nothing wrong with them. |
|
|
Moby Disk
New Member
8 Posts |
Posted - Mar 02 2009 : 10:37:51 PM
|
AHA! I have discovered the problem! It appears to be a bug in the registration code in VAssistNet.dll.
I ran regmon on devenv.exe, and looked for permission denied errors. The problem is that the limited user does not have _READ_ access to the following registry keys:
HKEY_CLASSES_ROOT\\VAssistNET.Connect HKEY_CLASSES_ROOT\\VAssistNET.Connect.1 HKEY_CLASSES_ROOT\\VAssistNET.Connect9 etc.
I did the following as an administrative user:
C:\\Program Files\\Visual Assist X>regsvr32 /u VAssistNet.dll - Then I checked the registry keys above. They are removed. C:\\Program Files\\Visual Assist X>regsvr32 VAssistNet.dll - Checking again, the keys are there. But the permissions on the keys are wrong. They are set so that only administrators can READ and WRITE the keys. This is not correct. All users should be able to READ they keys, but only administrators should be able to WRITE them.
The funny thing is that I don't see a call to RegSetKeySecurity. But I wonder if regmon doesn't show those calls for some reason. :-(
Why is this not happening for you? Perhaps it is because I am using the trial download. Unfortunately, the DLL version is 0,0,0,0 so I can't compare my DLL with yours.
I would suggest trying this: - Uninstall VAssistX - Make sure the registry keys I mention above are gone - Repeat your installation steps with the trial download - Run regedit.exe and check the permissions on those keys. "Users" should have read permission. If not, that's the problem.
I dunno how you guys compile VAssistNet.dll, but if you use ATL it auto-generates the .reg files and the registration code for you. I'd look there. If you didn't use ATL, and wrote your own registration code instead, check the permissions on the RegCreateKey call. |
|
|
Moby Disk
New Member
8 Posts |
Posted - Mar 03 2009 : 07:09:15 AM
|
Okay, looks like it isn't your fault.
I ran regedit manually as admin, and added a key to HKCR, and the permissions are not inheriting properly. So something is screwy with my registry that permissions are not inheriting properly.
I only recently switched to being a limited user at home, so this is probably a recent problem. I'll have to take a look at it.
Sorry about this. Thanks for your initial reply. |
|
|
feline
Whole Tomato Software
United Kingdom
19022 Posts |
Posted - Mar 03 2009 : 09:50:13 AM
|
Apologies for the confusion with the FAQ entry, I have just edited this to make it clear you should do this as an administrator.
We have had cases where users logged in as an administrator get this error message, and cannot manually register the VA dll's, so the FAQ does make a sort of sense.
I am glad you are making some progress with this, I hope you can find a solution without to much more work. |
zen is the art of being at one with the two'ness |
|
|
|
Topic |
|
|
|