Share This Post

Error “The WebDAV server extension is either not installed or not configured properly” in Configuration Manager 2007

In addition to the following article:

TechNet post here.

It looks like if you see this in your logs:

401 WebDav Authorization OSD MDT GetDirectoryListing oDavRequest.GetDirectoryListing

Then the webdav_schema.xml is also the culprit. Use the fix below to resolve it.

Issue:

The SMS Site Component Manager fails to install the SMS_MP_CONTROL_MANAGER component on a Windows Server 2008 based computer. The error is as follows:

The WebDAV server extension is either not installed or not configured properly.
Solution: Make sure WebDAV is installed and enabled. Make sure there is an authoring rule that allow “All users” read access to “All content”. Make sure the WebDAV settings “Allow anonymous property queries” and “Allow property queries with infinite depth” are set to “true” and “Allow Custom Properties” is set to false.

If you go to the IIS management console, connect to the local server and open the “WebDAV Authoring Rules” option you will find everything enabled but it still doesn’t seem to recognize it.

Cause:

This can occur if the settings for the WebDAV Authoring Rules become out of sync with the WebDAV_schema.xml file.

Resolution:

We need to go the location of the configuration file of Webdav which isC:\Windows\System32\inetsrv\config\schema\WebDAV_schema.xml. After opening this file you may notice that the settings in this file were different from the settings that were configured in the IIS Manager. The settings were configured as:

<attribute name=”allowAnonymousPropfind” type=”bool” defaultValue=”false” />
<attribute name=”allowInfinitePropfindDepth” type=”bool” defaultValue=”false” />
<attribute name=”allowCustomProperties” type=”bool” defaultValue=”true” />

However they should be:

<attribute name=”allowAnonymousPropfind” type=”bool” defaultValue=”true” />
<attribute name=”allowInfinitePropfindDepth” type=”bool” defaultValue=”true” />
<attribute name=”allowCustomProperties” type=”bool” defaultValue=”false” />

After correcting these settings (remember we have to take ownership of the file to be able to change it) and restarting the World Wide Web Publishing Service and the SMS_SITE_COMPONENT_MANAGER the Management Point should install correctly. You can check if the installation is successful in the log fileMPSetup.log in your SCCM\Logs directory. If successful the log should have entries similar to this:

<04-01-2010 13:15:58> ======== Completed Installion of Pre Reqs for Role SMSMP ========
<04-01-2010 13:15:58> Installing the SMSMP
<04-01-2010 13:15:58> Passed OS version check.
<04-01-2010 13:15:58> IIS Service is installed.
<04-01-2010 13:15:58> checking WebDAV configuraitons
<04-01-2010 13:15:58> WebDAV is configured
<04-01-2010 13:15:58> No versions of SMSMP are installed. Installing new SMSMP.
<04-01-2010 13:15:58> Enabling MSI logging. mp.msi will log to E:\SCCM\logs\mpMSI.log
<04-01-2010 13:15:58> Installing E:\SCCM\bin\i386\mp.msi CCMINSTALLDIR="E:\SMS_CCM" CCMSERVERDATAROOT="E:\SCCM" USESMSPORTS=TRUE SMSPORTS=80 USESMSSSLPORTS=TRUE SMSSSLPORTS=443 USESMSSSL=TRUE SMSSSLSTATE=0 CCMENABLELOGGING=TRUE CCMLOGLEVEL=1 CCMLOGMAXSIZE=1000000 CCMLOGMAXHISTORY=1
<04-01-2010 13:16:32> mp.msi exited with return code: 0
<04-01-2010 13:16:32> Verifying CCM_CLIENT virtual directory.
<04-01-2010 13:16:32> Website path is IIS://LocalHost/W3SVC/1.
<04-01-2010 13:16:32> Connecting to IIS.
<04-01-2010 13:16:32> CCM_CLIENT is currently E:\SCCM\Client.
<04-01-2010 13:16:32> Installation was successful.

Note: As you do any time you modify an XML file, please make a backup of WebDAV_schema.xml before making changes to it.

As an alternative resolution you can also run the following commands:

C:\Windows\system32\inetsrv\appcmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

C:\Windows\system32\inetsrv\appcmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:true /commit:apphost

C:\Windows\system32\inetsrv\appcmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /+[users=’*’,path=’*’,access=’Read’] /commit:apphost

C:\Windows\system32\inetsrv\appcmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /properties.allowAnonymousPropfind:true /properties.allowInfinitePropfindDepth:true /properties.allowCustomProperties:false /commit:apphost

Then just restart the World Wide Web Publishing Service and the SMS_SITE_COMPONENT_MANAGER and the Management Point should install correctly.

Share This Post

I am a Microsoft MVP for System Center Configuration Manager and owner of Nackers Consulting Services, LLC. I focus primarily on System Center Configuration Manager and the Microsoft Deployment Toolkit. In addition to helping clients leverage the technologies they use, I enjoy spending a lot of time on the forums and email lists helping answer questions and just seeing what people are doing with the deployment technologies available to them. I have spoken at Microsoft Management Summit on ConfigMgr/MDT integration and I have spoken at user groups around the country. If you have any questions, please feel free to contact me, I am always willing to help.

1 Comment

  1. APPCMD.EXE is an awesome tool, we use it all the time with our Windows 2008 R2 server build outs for SCCM. We run a powershell script with the appcmd commands at the end and then install the site server. Setting up a Windows 2008 R2 server manually is fine for a server here and there, but when it comes to mass deployment powershell is where its at!

    # Load servermanager module

    import-module servermanager

    # Install IIS Components/Features

    Add-Windowsfeature Web-Server
    Add-Windowsfeature Web-WebServer
    Add-Windowsfeature Web-Common-Http
    Add-Windowsfeature Web-Static-Content
    Add-Windowsfeature Web-Default-Doc
    Add-Windowsfeature Web-Dir-Browsing
    Add-Windowsfeature Web-Http-Errors
    Add-Windowsfeature Web-Http-Redirect
    Add-Windowsfeature Web-DAV-Publishing
    Add-Windowsfeature Web-App-Dev
    Add-Windowsfeature Web-Asp-Net
    Add-Windowsfeature Web-Net-Ext
    Add-Windowsfeature Web-ASP
    Add-Windowsfeature Web-ISAPI-Ext
    Add-Windowsfeature Web-ISAPI-Filter
    Add-Windowsfeature Web-Health
    Add-Windowsfeature Web-Http-Logging
    Add-Windowsfeature Web-Log-Libraries
    Add-Windowsfeature Web-Request-Monitor
    Add-Windowsfeature Web-Http-Tracing
    Add-Windowsfeature Web-Security
    Add-Windowsfeature Web-Windows-Auth
    Add-Windowsfeature Web-Filtering
    Add-Windowsfeature Web-Performance
    Add-Windowsfeature Web-Stat-Compression
    Add-Windowsfeature Web-Mgmt-Tools
    Add-Windowsfeature Web-Mgmt-Console
    Add-Windowsfeature Web-Mgmt-Compat
    Add-Windowsfeature Web-Metabase
    Add-Windowsfeature Web-WMI
    Add-Windowsfeature BITS
    Add-Windowsfeature BITS-Compact-Server
    Add-Windowsfeature BITS-IIS-Ext
    Add-Windowsfeature RDC

    # Configure and Setup WebDAV for SCCM

    # Load AppCmd Directory

    $AppCmdDirectory = $env:SystemRoot + “\System32\inetsrv”

    cd $AppCmdDirectory

    # Enable WebDav

    .\appcmd.exe set config “Default Web Site/” /section:system.webServer/webdav/authoring /enabled:true /commit:apphost

    # Add Authoring Rule

    .\appcmd.exe set config “Default Web Site/” /section:system.webServer/webdav/authoringRules /+”[Users=’*’,path=’*’,access=’Read’]” /commit:apphost

    # Enable “Allow Anonymous Property Queries”

    .\appcmd.exe set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowAnonymousPropfind:True /commit:apphost

    # Enable “Allow Anonymous Property Queries with infinite depth”

    .\appcmd.exe set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowInfinitePropfindDepth:True /commit:apphost

    # Disable “Allow Custom Properties”

    .\appcmd.exe set config “Default Web Site/” /section:system.webServer/webdav/authoring /properties.allowCustomProperties:false /commit:apphost

    # Enable “Allow Hidden Files to be listed”

    .\appcmd.exe set config “Default Web Site/” /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:True /commit:apphost

Leave a Reply