WebMatrix: Check Compatibility shows exclamation mark and states ASP.NET version Not Available

Enabling Web Management Service Failed Request Tracinghelped me to troubleshoot the WebMatrix (client)--- Web Deploy (server) communication. A special account (installed by Web Deploy) is used on the server on behalf of the requesting WebMatrix client to perform higher priviledge operations (e.g. config changes) however this account seems to have a problem:

Failed Request tracing shows:

53.

view trace

Error

- AspNetModuleDiagErrorEvent

Uri

/msdeploy.axd

eventData

Tracing deployment agent exception. Request ID ''. Request Timestamp: '10/24/2011 12:17:08'. Error Details:

Microsoft.Web.Delegation.DeploymentAuthorizationException: Not able to log on the user '.\WDeployConfigWriter' . ---> System.Runtime.InteropServices.COMException (0x80070532): Logon failure: the specified account password has expired. (Exception from HRESULT: 0x80070532)

Tracing deployment agent exception. Request ID ''. Request Timestamp: '10/24/2011 12:17:08'. Error Details: Microsoft.Web.Delegation.DeploymentAuthorizationException: Not able to log on the user '.\WDeployConfigWriter'. ---> System.Runtime.InteropServices.COMException (0x80070532): Logon failure: the specified account password has expired. (Exception from HRESULT: 0x80070532) --- End of inner exception stack trace --- at Microsoft.Web.Deployment.LogonUserHandle.LogonUser(String userName, String domain, String password) at Microsoft.Web.Delegation.SpecificUserDelegationContext.get_UserHandle() at Microsoft.Web.Delegation.SpecificUserDelegationContext.Impersonate() at Microsoft.Web.Deployment.DelegationHelper.ImpersonateForOperation(String deploymentAction, String deploymentProvider, String deploymentPath, DelegationContextCache cache) at Microsoft.Web.Deployment.DelegationHelper.ImpersonateForOperation(String deploymentAction, DeploymentObject deploymentObject) at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext) at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject) at Microsoft.Web.Deployment.DeploymentSyncContext.HandleUpdate(DeploymentObject destObject, DeploymentObject sourceObject) at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source) at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source) at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject) at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable) at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentWorkerRequest workerRequest)

at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentWorkerRequest workerRequest)

Reason and Solution:

The WDeployConfigWriter has had "change password at next logon" option checked. After checking the option "Password never expires" ASP.NET version compatibility check in WebMatrix works J