IIS – Web Site Configuration Inspection using msdeploy

Background

I am trying to get this 3rd party Web Application to work properly, but it so happens that for one for virtual directory (vdir) the global.asa is read, but for another vdir the global config file is not being read.

 

Trouble-shooting

Eye Balling

Tried eye-balling, but I can’t figure out what is different.

WebDeploy

Download & Install

Download WebDeploy from http://www.iis.net/downloads/microsoft/web-deploy. The current version is 3.5 and so the rest of this post will assume that is the version we are using.

And, install it.

 

Where is it installed?


dir msdeploy.exe /s

Image:

WhereIsMsdeployPlaced

 

Usage


"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:dump -so
urce:appHostConfig="Default Web Site" -xml > c:\tmp\websiteconfigDefault.xml

 

Review

Using a text editor review the XML Configuration file.

DirPath

Let us review the directory path for both folders.

Please keep in mind that — “the IntegratedLogin works, but the Login does not work“.

 

IntegratedLogin

dirPath path="IntegratedLogin" securityDescriptor="D:" parentSecurityDescriptors="" attributes="Directory"

 

dirPath-Login

 

Login

dirPath path="IntegratedLogin" securityDescriptor="D:" parentSecurityDescriptors="" attributes="Directory"

 

dirPath-IntegratedLogin

 

Tabulated:

Verb Folder :- IntegratedLogin Folder :- Login
 path IntegratedLogin Login
 securityDescriptor  D:  D:
 parentSecurityDescriptors  [empty] [empty]
 attributes  Directory Directory

 

 

Things are same.

Application & Virtual Directory

Let us review the Application and Virtual Directory settings for both folders.

Please keep in mind that — “the IntegratedLogin works, but the Login does not work“.

 

XMLBrowser

 

 

Very Quick Explanation:

  • The Virtual directories are listed under application path=”/”
    • Neither /Login nor IntegratedLogin is listed
  • In the list of Application paths
    • /Login is listed
    • But, /IntegratedLogin is not

 

Let us go remove Login as an Application.

Here is IIS before the change:

iismanager-before

 

And, as we make the change we are prompted:

removeApplication

 

Here it is:

iismanager-after

Technical Summary

Things work for /IntegratedLog, but not for /Login as Login was defined as an Application.

Applications do not inherit \ access the global.asa file.

The global.asa file is where we initialized and populated our global variables.

Unfortunately, the original application contained the awful “on error resume next“.

Once we removed it, and added a code to show our Application variables, we were more comfortable with our solution.


Dim iNumberofApplicationContentObjects
Dim x

on error goto 0

iNumberofApplicationContentObjects = Application.Contents.Count
Response.Write "iNumberofApplicationContentObjects " & cstr(iNumberofApplicationContentObjects) & "<BR>"

for each x in Application.Contents
  
  Response.Write(x & "=" & Application.Contents(x) & "<br>")

next

 

Listening

Daryl Singletary: I Let Her Lie (video)
https://www.youtube.com/watch?v=zX0pQ0QdUg8

 

References

 

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s