Home All Groups Group Topic Archive Search About

Global.asa problems with IIS 6



Author
25 Feb 2005 7:42 PM
Dave Anderson
I have one IIS 6 machine that seems to ignore global.asa completely. I can't
get *anything* to fire -- not Session_OnStart(), not typelib declarations.
This is true in the web root as well as in any application folder.

In particular, this is preventing me from loading the ADO 2.8 type library,
but I cannot even force an error by using a malformed GUID.

This is my only machine that appears to have this problem. Any ideas?



--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.

Author
25 Feb 2005 7:57 PM
Curt_C [MVP]
I havent had an issue with it myself. Few things first.. I'm assuming that
ASP has been enabled in IIS6? Also,nothing has remapped the .ASA extention
to a different dll has it? You said you have it in the root of the VD/Site
AND it's enabled as an App right? Is the App pool tweaked at all or the
standard/default setup?

--
Curt Christianson
Site & Scripts: http://www.Darkfalz.com
Blog: http://blog.Darkfalz.com


Show quote
"Dave Anderson" <GTSPXOESSGOQ@spammotel.com> wrote in message
news:etQzmG3GFHA.4084@TK2MSFTNGP14.phx.gbl...
>I have one IIS 6 machine that seems to ignore global.asa completely. I
>can't
> get *anything* to fire -- not Session_OnStart(), not typelib declarations.
> This is true in the web root as well as in any application folder.
>
> In particular, this is preventing me from loading the ADO 2.8 type
> library,
> but I cannot even force an error by using a malformed GUID.
>
> This is my only machine that appears to have this problem. Any ideas?
>
>
>
> --
> Dave Anderson
>
> Unsolicited commercial email will be read at a cost of $500 per message.
> Use
> of this email address implies consent to these terms. Please do not
> contact
> me directly or ask me to contact you directly for assistance. If your
> question is worth asking, it's worth posting.
>
>
Author
25 Feb 2005 9:48 PM
Dave Anderson
Curt_C [MVP] wrote:
> I havent had an issue with it myself. Few things first.. I'm assuming
> that ASP has been enabled in IIS6? Also,nothing has remapped the .ASA
> extention to a different dll has it? You said you have it in the root
> of the VD/Site AND it's enabled as an App right? Is the App pool
> tweaked at all or the standard/default setup?

• ASP is enabled. This is the specific error:

    Microsoft JScript runtime error '800a1391'
    'adCmdStoredProc' is undefined
    /(my path)/(my file).asp, line 56

• The .asa extension maps to \WINDOWS\system32\inetsrv\asp.dll
  with verbs: GET,HEAD,POST,TRACE (as does .asp)

• I have the same problem in the root as I do in any application
  folder. And by application folder, I mean I used the IIS Manager
  to browse to the folder, selected properties and created
  application.

• Just to be sure, I created a new Application Pool with defaults,
  but this made no difference.



--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.
Author
25 Feb 2005 10:28 PM
Bob Barrows [MVP]
Dave Anderson wrote:
Show quote
> Curt_C [MVP] wrote:
>> I havent had an issue with it myself. Few things first.. I'm assuming
>> that ASP has been enabled in IIS6? Also,nothing has remapped the .ASA
>> extention to a different dll has it? You said you have it in the root
>> of the VD/Site AND it's enabled as an App right? Is the App pool
>> tweaked at all or the standard/default setup?
>
> . ASP is enabled. This is the specific error:
>
>     Microsoft JScript runtime error '800a1391'
>     'adCmdStoredProc' is undefined
>     /(my path)/(my file).asp, line 56
>
> . The .asa extension maps to \WINDOWS\system32\inetsrv\asp.dll
>   with verbs: GET,HEAD,POST,TRACE (as does .asp)
>
> . I have the same problem in the root as I do in any application
>   folder. And by application folder, I mean I used the IIS Manager
>   to browse to the folder, selected properties and created
>   application.
>
> . Just to be sure, I created a new Application Pool with defaults,
>   but this made no difference.
>
Are any other ADO constants undefined? I had an issue once where all the ADO
constants EXCEPT adCmdStoredProc were defined by the type library. I have
not seen this issue since ...

Bob Barrows
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
Author
25 Feb 2005 11:21 PM
Dave Anderson
Bob Barrows [MVP] wrote:
> Are any other ADO constants undefined? I had an issue once where all
> the ADO constants EXCEPT adCmdStoredProc were defined by the type
> library. I have not seen this issue since ...

I tried a few, but with no luck. And here's where it gets strange: I created
a new web site on port 8000 with the same root directory, and it has no
problems whatsoever.

Now, you might suggest I just replace the old with the new and stop there,
but I am not convinced that this isn't because of a deliberate setting, so I
thought I don't just want to destroy the old in case someone did something
to it deliberately that is causeing this.

I opened two instances of the IIS manager and looked at every setting screen
side-by-side for the two web sites. Except for the port and logging paths,
they are identical.

I then considered the possibility that there is a metabase setting that
differs, but I could find none. In fact, the new site has practically
nothing:

    <IIsWebServer Location ="/LM/W3SVC/1765172442"
        AuthFlags="0"
        LogPluginClsid="{FF160663-DE82-11CF-BC0A-00AA006111E0}"
        ServerAutoStart="TRUE"
        ServerBindings=":8000:"
        ServerComment="New Web Site"
        >
    </IIsWebServer>

Quite a puzzler. I am going to ask around next week and see if I can get
consent from my team to swap the instances.



--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.
Author
1 Mar 2005 9:13 PM
Dave Anderson
I wrote:
> I have one IIS 6 machine that seems to ignore global.asa completely.
> I can't get *anything* to fire -- not Session_OnStart(), not typelib
> declarations. This is true in the web root as well as in any
> application folder.

[Aaron - consider adding to http://aspfaq.com/show.asp?id=2076
    (c) you are looking at the wrong global.asa ]

OK, I have isolated the problem, and found that it is not new to IIS 6. Let
me see if I can explain it adequately...

I have two IIS applications - call them /App1/ and /App2/. /App2/ contains a
utility that is meant to be executed from anywhere on the server:

    Server.Execute("/App2/MyUtility.asp") [1]

I was using a typelib declaration in the global.asa in /App2/, but not in
/App1/. The error message read something like this:

    'adCmdStoredProc' is undefined
    /App2/MyUtility.asp, line xxx

Because of the error message, I focused all of my attention on global.asa in
/App2/, which bore no fruit. I was unable to get *anything* to register. I
then looked outward, to the root global.asa document. Again, I could not get
the script to recognize the typelib declaration.

When troubleshooting this, I set up a parallel web site on port 8000, with
the same root and with identical IIS settings [2]. It appeared to function
properly. But I was only looking at one aspect of functionality. When I
realized I needed to create an application for the /App1/ folder, it broke
again, and I figured out the original problem: Even though MyUtility.asp
runs in its own space and has its own application, the global.asa (and
presumably the application variables) of the CALLING script applies.

It turns out that those typelib constants are not inherited by nested
applications. When I set up the parallel web site, the root global.asa
(which I had modified when troubleshooting the original) applied to the
nested *folder*. When that folder became an *application* it no longer
applied.

So it appears that the red herrings were (a) that this occured on the new
server (IIS 6), but not on the old IIS 5 one [3], (b) the path provided by
the error message, and (c) my mistaken belief that I had mirrored all
settings.

Ugh.



[1] Server.Execute is used instead of #include because (a) the scripts need
not communicate, and more importantly, (b) it can be called from either
VBScript or JScript
[2] Or so I thought
[3] The need for an IIS application was also new, and the developer did not
adequately explain this to me or I did not adequately listen

--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.

AddThis Social Bookmark Button