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
Solved

MTS Permission Denied with Excel Object

Posted on 2001-08-06
8
333 Views
Last Modified: 2008-03-17
Hi everyone,

I have an ActiveX DLL (developed in VB) running as an MTS object that uses the Excel Object (Excel9.olb).  When I run this on a local MTS server, it runs fine.  When I put it out on to a remote server I get the generic Error 20 Permission Denied. (This occurs when I use the CreateObject("Excel.Application") method.)

I figured that maybe MTS did not like the Excel object so I created a regular DLL (not MTS object) and registered it on the server.  Then I created an MTS object that called this local DLL.  Once again this worked on my local machine, but not on the server.  I get exactly the same results.

I am set up as an administrator on the server.  I also set the permissions to full control for Everyone and added my own ID with full control as well.  My ID was used to log on to the server as well.

What could I be doing wrong?  Please help!

Thanks,
Todd
0
Comment
Question by:teberhardt
8 Comments
 
LVL 8

Expert Comment

by:Dave_Greene
ID: 6356163
Did you change the folder or the file permissions?  I recommend both.
0
 
LVL 38

Expert Comment

by:PaulHews
ID: 6356268
>I am set up as an administrator on the server

Is your MTS component set up on the remote server to run under your security account?
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6356347
Try this :
Shutdown mts package.
Security Tab (Package)
Uncheck Enable authorization checking checkbox.
If selected, Microsoft Transaction Server checks the security credentials of any client that calls the package. Authorization checking is enabled by default.

P.S. Try not to use  Interactive User:

Identity Tab (Package)

The Identity tab is used to set the user identity for all components running in a given package. The default value is Interactive User, which is the user who logged on to the Windows NT server account. If you want to select another user, you can select the This user option and specify an account name and password.

Important   If you specify another user and password, Microsoft Transaction Server does not validate the password when it is specified. Running a package with an invalid password results in a run-time error and a message in the event log.

To set the This user option to a user or group, you must be logged on to the computer that either maps to that user or is included in the specified group.
0
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.

 

Author Comment

by:teberhardt
ID: 6356711
I set the folder permissions to full-control for Everyone as well as for my ID.  I already had full-control for Creator/Owner already which was my ID.

I had already set the components to run under my ID in the identity tab.

Enable authorization was already unchecked.

I believe that this is related to the Excel object and how MTS uses it.  I know that the Excel object is flawed (I'm being nice!) to begin with.

Any further thoughts?

Thanks,
Todd
0
 
LVL 5

Accepted Solution

by:
rkot2000 earned 200 total points
ID: 6356750
I assume that you installed excel on remote machine.
Try to run dcomcnfg.exe and check settings for excel.
try to create a folder share, long time ago we had a problem with security.
>>>I had already set the components to run under my ID in the identity tab.

can you call another method ? maybe you typo your password.
after you change all security options you better reboot your server.
0
 

Author Comment

by:teberhardt
ID: 6364261
rkot2000,

Thanks for sending me in the right direction.  It ended up being the default tab on dcomcnfg.  I has already set the securities for Microsoft Excel Application in dcomcnfg, but not in the Default Securities tab of dcomcnfg (Access, Launch and Configuration)for the machine.  Once these were set, everything worked fine.  I set them for Everyone, NETWORK, Guests, and MTS Trusted Impersonator to Allow Access, Allow Launch and Full-Control for the respective security.

I haven't reverse engineered the groups to see if I needed only one of them.  Do you know the answer before I go through the whole change security, power down, power up & test thing?

Thanks again for the direction!
Todd

Ps. Thanks to everyone else for their input as well.
0
 
LVL 5

Expert Comment

by:rkot2000
ID: 6364295
>>>I haven't reverse engineered the groups to see if I needed only one of them.  Do you know the answer
before I go through the whole change security, power down, power up & test thing?

Can you be more specific?
0
 

Author Comment

by:teberhardt
ID: 6370289
What security setting (Everyone, NETWORK, Guest, or MTS Trusted Impersonator) was the setting that allowed me to launch, access, and configure the Excel.Application when I added these groups to the Access, Launch, and Configuration settings of the Default tab in dcomcnfg?
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying 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

Suggested Solutions

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…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

809 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