Registry Permissions

Posted on 2002-06-14
Last Modified: 2010-05-02
I have an app that will store Initialization settings in HKLM\Software\Company Name\App name in the Windows 2000 registry. The app will be install by an Adminstrator using an msi. However, some of the Initialization settings are configurable by the users whom are set up as Power Users. When I try to write these settings back into the registry, I get an ERROR_ACCESS_DENIED return code.

Due to the nature of the application, I need to store the registry settings in HKLM so writing them off to the HKLU is not an option. Also, due to the number of workstations and the locations, going to each machine to set permissions to the subkey is inpractial. What I need is a way to Programatically set user permissions for this subkey.

Thanks in advance
Question by:Bucks
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 26

Expert Comment

ID: 7078574
Write your own component and run under com+ with specific user (administrator)

Author Comment

ID: 7078592
I am using a dll that I wrote to do the update. How do I run it under a specific user? I am not familier with this.

Expert Comment

ID: 7078632
When you add a DLL to ComServices it will ask you for a default user to run the DLL under.  You should make this user an admin account that exists on all of the machines the application will run on.  After you have added it on one you can export an MSI package for use on the rest of you machines.
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 26

Expert Comment

ID: 7078650
Run Component Services from Administrative Tools

Double click -> component Services->my computer -> com+ applications

Right click on com+ applications and select new->application

Click Next and click create an empty application

Enter your package name (you make one up). Clieck next
Select this user and enter the user name and password (this user must be able to write to HKLM key). and then click finish

double click your package name and highlight component and then right click and select new -> component

Add your component into

Author Comment

ID: 7079101
I created the com+ object, exported it to an msi and installed it on the client machine, and no luck. Still would not allow a Power user to update. Any suggestions?
LVL 26

Expert Comment

ID: 7079111
Have you set to run under a specific user?

Author Comment

ID: 7122355
I appologize for not responding until now. I was called out on Business unexpectanly and have not been able to get back to this site until now (long story). However, thanks for the input EDDYKT. The problem I had was that when I installed the COM+ object on the client machine, the object came over, but the Admin user name and password came across blank. I have to fill these fields in on the machine. Am I doing something wrong?

LVL 26

Expert Comment

ID: 7124378
Do you get it working now after you fill in admin user name and password?
LVL 49

Expert Comment

ID: 7900306
Bucks, an EE Moderator will handle this for you.
Moderator, my recommended disposition is:

    Refund points and save as a 0-pt PAQ.

DanRollins -- EE database cleanup volunteer

Accepted Solution

SpideyMod earned 0 total points
ID: 7978170
per recommendation

Community Support Moderator @Experts Exchange

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question