Solved

Creating NT Service with ATL

Posted on 2001-08-15
9
383 Views
Last Modified: 2013-11-25
I am attempting to create an NT Service using the ATL Object Wizard.

Even with the simplest of objects, I can create the object (i.e. CoCreateInstance works), but any attempt to call any method on the created objects results in a 'Permission Denied' message.

Anybody have any ideas about what might be going wrong?
0
Comment
Question by:jasonclarke
[X]
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
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 4

Expert Comment

by:IainHere
ID: 6387591
Does the user account you're using have full control permission in the registry for the object?

http://www.winntmag.com/Articles/Index.cfm?ArticleID=5375
0
 
LVL 7

Expert Comment

by:jimwasson
ID: 6389951
What OS are you using (NT or Win2K)?  You probably already know but you need to have Administrator privileges on NT (at least) Power User on Win2K to access a Service.  Also, you have to grant both launch and access permission to the object.
0
 
LVL 9

Author Comment

by:jasonclarke
ID: 6391817
Sorry for the lack of response...

I am running Win2K,  I have local administrator priviliges on my machine, and I appear to be able to alter any permissions I need to.  
0
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
LVL 2

Expert Comment

by:VCStud
ID: 6391873
Hi,

You need to set permissions for all those people who will access the methods of your service. To do this follow the steps,

Type dcomcnfg in the 'Run' box. This will open dcom configuration. It lists the COM dll's and exe's. Select your service and click properties. In the 'Security' tab, select Custom 'access permissions' and 'launch permissions'. Using the edit button, add the people you want to give access to the service.

This would let you access the methods and you would not get the error message.

Cheers,
VCStud
0
 
LVL 9

Author Comment

by:jasonclarke
ID: 6391890
> This would let you access the methods
> and you would not get the error message.

I tried this, and it seems that no matter who or what I give access to (I gave access to Everyone), I still get Permission denied when attempting to call a method.

Also, as I said this problem occurs even with simple local activations.
0
 
LVL 7

Expert Comment

by:jimwasson
ID: 6392960
As to granting permissions, have you included "SYSTEM" as having both launch and access permission to your service?  On my project, we have to do that as well.
0
 
LVL 9

Author Comment

by:jasonclarke
ID: 6393102
It seems that the registry on my machine may actually be broken...Windows Installer and other things won't run correctly now...
0
 
LVL 4

Accepted Solution

by:
IainHere earned 100 total points
ID: 6393298
Hmm. <thinks>

Did you try going back to Unix?
0
 
LVL 9

Author Comment

by:jasonclarke
ID: 6470270
Sorry, I forgot to clear up this question.

Since, the question was really a 'non-question' - caused by a Windows disaster on my machine, I will give the points to the person who suggested what I would *like* to do.
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Better understanding on C++ Class serialization and formats 9 105
Arduino EDI - Programming language 3 127
Why use this lambda? 12 96
Shared files and folders migration 2 67
After several hours of googling I could not gather any information on this topic. There are several ways of controlling the USB port connected to any storage device. The best example of that is by changing the registry value of "HKEY_LOCAL_MACHINE\S…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

739 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