views:

98

answers:

3

Hi, We have vb6 application.We are unable to carry out following on vista machine 1. Register a dll from users directory 2. Start another exe 3. Write to a file in users directory. How can I overcome these issues thanks

+1  A: 
  1. This is by design. Software is supposed to require admin rights for installation (including update/upgrades). You got away with it in XP because so many people ran as administrator. If you're registering a dll after installation, you're doing something wrong.
  2. You should be able to do this without issue, but only with the same rights as the user that the current app is running under. What is this exe trying to do, and would a standard user normally have those permissions?
  3. What specific folder in the user's directory? Again: a user should have write access to most of the their own profile, but not necessarily as much outside of that as you think.
Joel Coehoorn
A: 

You have access to write to the c:\users\ directory. Going to another users directory is a bit of a security problem that you're not going to work around.

As far as registering an assembly from a users directory... There is a directory under c:\users\\AppData\Local\assembly which you should have access to for temporary assemblies

Starting another exe is trivial... As long as it's installed in the normal \program files.. path.

It really sounds like maybe you need to reevaluate how your application works.

Chris Lively
A: 

Some suggestions:

  1. Move to Reg-Free COM where it can handle things (i.e. not for ActiveX EXEs, DCOM).

  2. We'd need more information. This should be no problem unless there are permissions issues.

  3. Users are not supposed to be creating files outside of their own profiles, CommonAppData, and application-defined locations (often on non-system drives). More information is required to give any really useful answer.

Bob