2

We are running a classic ASP application on Windows 2016 Server under IIS 10. Now the application runs fine when I'm logged into the server. However, as soon as I log off the server I get the error when hitting the apps URL: ASP_0177_:_8000401a|Server.CreateObject_Failed.

Now I have seen this thread on the subject (Error ASP 0177: 8007007e Server.CreateObject fails for COM DLL) and registered my 32 bit application using the example (C:\Windows\SysWOW64>regsvr32 "C:\Windows\PCMSRV32.DLL") and set the The IIS Application Pool to run in 32 Bit Mode.

I should also point out this Server Object is is trying to connect to is a COM+ VB6 Application running under component services.

However, this does not help, as when I log off the server I get the server Object error. Other applications running in the default App pool run fine when logged off. Any idea how to fix this problem?

Off The Gold
  • 1,228
  • 15
  • 28
  • 2
    What Identity does the App Pool run under? – user692942 Apr 09 '18 at 17:32
  • I probably should edit that check list to also say "Does the account I'm using have permission to load the DLL?". – user692942 Apr 09 '18 at 17:38
  • 1
    Have [updated the check list](https://stackoverflow.com/revisions/35985827/28) adding Point 5. – user692942 Apr 09 '18 at 17:58
  • Looking at the advanced setting of the Application Pool I see the account: ApplicationPoolIdentity is listed under Identity. Not sure if looking in the right place. ApplicationPoolIdentity is what the defaultapppool runs under as well and it works when logged off the server. – Off The Gold Apr 09 '18 at 18:04
  • 1
    This is where it get's tricky, because in effect the `ApplicationPoolIdentity` account needs to have permission to load that file but there is a problem...there is no such account to apply NTFS permissions to, you might find [this Gist](https://gist.github.com/lankymart/4b8c9f650ee524d7ab4c3fca76b75611) I wrote a while back useful. – user692942 Apr 09 '18 at 18:11
  • 1
    My application has an html page that does serve up fine when logged off. So at least this likely narrows it down to being the account on the COM+ application having the right privs. I will try to add the applicationPoolIdentity account to it. – Off The Gold Apr 09 '18 at 18:24

1 Answers1

2

Issue resolved!. Under the COM+ properties of the application I changed the Account the application runs under from System Account: Interactive User to: System Account: Local Service - Built in service account.

Off The Gold
  • 1,228
  • 15
  • 28
  • 1
    Awesome, good to know...I'm guessing the sticking point was the "interactive" which would be why you got the different behaviour logged in and out. To be honest Component Services adds an extra layer of complexity which for most COM DLLs isn't necessary. Glad you got to the bottom of it though and good info for others with a similar issue. – user692942 Apr 09 '18 at 20:20