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) & "
"

for each x in Application.Contents

  Response.Write(x & "=" & Application.Contents(x) & "
")

next

Listening

Daryl Singletary: I Let Her Lie (video)

Link ( Removed On 2018-12-12 )
Link ( Added On 2018-12-12 )

 

References

  • Web Deploy samples
    Link
  • Synchronize IIS
    Link

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 )

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s