I'd appreciate any help with this. It's really important that I get it
working right!

I'm fairly new to IIS. I've used different open source servers in the
past, but now I have to write a program that can be migrated from IIS
5.1 under Windows XP Pro to IIS 6 under Windows Server 2003 (I'm
migrating it because I can run IIS 5.1 on my computer now to test
things, but if there's any reason I should just throw it on IIS 6 in
the first place let me know - for the most part I'm using simple ASP
scripts).

Anyway -
I've got a simple com server that I need one of my asp pages to access
using createobject. If I run the ASP pages under my account, with
authentication through the server, the com application fires up just
fine. When I switch over to the anonymous IUSR accound, I keep getting
this ASP error:

Error Type:
Microsoft VBScript runtime (0x800A0046)
Permission denied: 'CreateObject'

The com server, by the way, is an MFC app written in VC++.net.

I really need this to work. I gave the IUSR account read/write access
to the directory with the com app in it, but that didn't seem to work.
I'd really appeciate any hints!!!! Do I need to run this as a service?
If the com server is run in the background or under the sys account,
what can I set in the MFC app to keep it the object from dissapearing
after the page is done with it?

Re: createobject fails - help! by Chris

Chris
Sun Sep 24 14:56:17 CDT 2006

One way to give the object more permissions is to define a COM+ package for
the object.

Open Component Services from the Administrative Tools folder in Control
Panel
Expand Component Services
Expand Computers
Expand My Computer
Select COM+ Applications
Right click and select New

The wizard will come up
Click Next
Click Create an Empty Application
Give it a name and it should be a Server Application (Default)
Click Next
Here you can configure the account that will launch the COM+ Service
Use any (but not Interactive) or create a custom account to run it and
specify that.
Click Next at the Roles
Click Next
Click Finish

You should now have a new application called "What ever you named it"

Expand the COM+ applications Node and you should see your new application.
Select it.
Right click and select properties
Go to the security tab
Under authorization remove the "Enforce access checks"
Click OK

Expand the item you created in the tree
Select Components
Right click and select New -> Component
Click Next
Click Install New Components and browse to the DLL file.

You should then be able to complete the wizard and your COM application
should work fine.

Chris

--


Chris Crowe [ IIS MVP - 1997 - 2006 ]
http://blog.crowe.co.nz


<louloizides@yahoo.com> wrote in message
news:1158938912.160986.295790@i42g2000cwa.googlegroups.com...
> I'd appreciate any help with this. It's really important that I get it
> working right!
>
> I'm fairly new to IIS. I've used different open source servers in the
> past, but now I have to write a program that can be migrated from IIS
> 5.1 under Windows XP Pro to IIS 6 under Windows Server 2003 (I'm
> migrating it because I can run IIS 5.1 on my computer now to test
> things, but if there's any reason I should just throw it on IIS 6 in
> the first place let me know - for the most part I'm using simple ASP
> scripts).
>
> Anyway -
> I've got a simple com server that I need one of my asp pages to access
> using createobject. If I run the ASP pages under my account, with
> authentication through the server, the com application fires up just
> fine. When I switch over to the anonymous IUSR accound, I keep getting
> this ASP error:
>
> Error Type:
> Microsoft VBScript runtime (0x800A0046)
> Permission denied: 'CreateObject'
>
> The com server, by the way, is an MFC app written in VC++.net.
>
> I really need this to work. I gave the IUSR account read/write access
> to the directory with the com app in it, but that didn't seem to work.
> I'd really appeciate any hints!!!! Do I need to run this as a service?
> If the com server is run in the background or under the sys account,
> what can I set in the MFC app to keep it the object from dissapearing
> after the page is done with it?
>



Re: createobject fails - help! by LouDawg

LouDawg
Thu Oct 05 16:50:34 CDT 2006


Chris Crowe [MVP 1997 -> 2006] wrote:
> One way to give the object more permissions is to define a COM+ package for
> the object.
>
> Open Component Services from the Administrative Tools folder in Control
> Panel
> Expand Component Services
> Expand Computers
> Expand My Computer
> Select COM+ Applications
> Right click and select New
>
> The wizard will come up
> Click Next
> Click Create an Empty Application
> Give it a name and it should be a Server Application (Default)
> Click Next
> Here you can configure the account that will launch the COM+ Service
> Use any (but not Interactive) or create a custom account to run it and
> specify that.
> Click Next at the Roles
> Click Next
> Click Finish
>
> You should now have a new application called "What ever you named it"
>
> Expand the COM+ applications Node and you should see your new application.
> Select it.
> Right click and select properties
> Go to the security tab
> Under authorization remove the "Enforce access checks"
> Click OK
>
> Expand the item you created in the tree
> Select Components
> Right click and select New -> Component
> Click Next
> Click Install New Components and browse to the DLL file.
>
> You should then be able to complete the wizard and your COM application
> should work fine.
>
> Chris
>
> --
>
>
> Chris Crowe [ IIS MVP - 1997 - 2006 ]
> http://blog.crowe.co.nz
>
>
> <louloizides@yahoo.com> wrote in message
> news:1158938912.160986.295790@i42g2000cwa.googlegroups.com...
> > I'd appreciate any help with this. It's really important that I get it
> > working right!
> >
> > I'm fairly new to IIS. I've used different open source servers in the
> > past, but now I have to write a program that can be migrated from IIS
> > 5.1 under Windows XP Pro to IIS 6 under Windows Server 2003 (I'm
> > migrating it because I can run IIS 5.1 on my computer now to test
> > things, but if there's any reason I should just throw it on IIS 6 in
> > the first place let me know - for the most part I'm using simple ASP
> > scripts).
> >
> > Anyway -
> > I've got a simple com server that I need one of my asp pages to access
> > using createobject. If I run the ASP pages under my account, with
> > authentication through the server, the com application fires up just
> > fine. When I switch over to the anonymous IUSR accound, I keep getting
> > this ASP error:
> >
> > Error Type:
> > Microsoft VBScript runtime (0x800A0046)
> > Permission denied: 'CreateObject'
> >
> > The com server, by the way, is an MFC app written in VC++.net.
> >
> > I really need this to work. I gave the IUSR account read/write access
> > to the directory with the com app in it, but that didn't seem to work.
> > I'd really appeciate any hints!!!! Do I need to run this as a service?
> > If the com server is run in the background or under the sys account,
> > what can I set in the MFC app to keep it the object from dissapearing
> > after the page is done with it?
> >

Chris - Thanks for your excellent reply (sorry for the delay on mine,
though). So, assuming my component is called something like
"ThisApp.ThisComponent", do I still use
createobject("ThisApp.ThisComponent") to call it, or do I use the name
of the application I created? The Component, by the way, is an exe MFC
server with a type library and not a DLL. Does it matter?