Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 Installation problem
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Moby Disk
New Member

8 Posts

Posted - Feb 28 2009 :  2:55:37 PM  Show Profile  Reply with Quote
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  Show Profile  Reply with Quote
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
Go to Top of Page

Moby Disk
New Member

8 Posts

Posted - Mar 02 2009 :  10:15:27 PM  Show Profile  Reply with Quote
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.
Go to Top of Page

Moby Disk
New Member

8 Posts

Posted - Mar 02 2009 :  10:37:51 PM  Show Profile  Reply with Quote
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.
Go to Top of Page

Moby Disk
New Member

8 Posts

Posted - Mar 03 2009 :  07:09:15 AM  Show Profile  Reply with Quote
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.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19022 Posts

Posted - Mar 03 2009 :  09:50:13 AM  Show Profile  Reply with Quote
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
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000