Workflows fail to start after Windows updates
Description:
After installing Windows updates all Organice Workflows fail on start
The logging shows "
Validation error: <Error><CompilerError Line="-1"Column="-1" Text="Type System.CodeDom.CodeMethodInvokeExpressionis not marked as authorized in the application configuration file."/><CompilerError Line="-1" Column="-1"Text="Type System.CodeDom.CodePrimitiveExpression is not marked asauthorized in the application configuration file." /><CompilerErrorLine="-1" Column="-1" Text="Type System.CodeDom.CodeMethodInvokeExpressionis not marked as authorized in the application configuration file."/><CompilerError Line="-1" Column="-1"Text="Type System.CodeDom.CodePrimitiveExpression is not marked asauthorized in the application configuration file." /><CompilerErrorLine="0" Column="0" Text="Activity 'ID4' validationfailed: Property "Condition" has invalid value. Conditionexpression is invalid. The expression to the left of operator"ValueEquality" can not be null." /><CompilerErrorLine="0" Column="0" Text="Activity 'ID4' validation failed:Property "Condition" has invalid value. Condition expressionis invalid. The expression to the right of operator"ValueEquality" can not be null." /><CompilerErrorLine="0" Column="0" Text="Activity 'ID11' validationfailed: Property "Condition" has invalid value. Conditionexpression is invalid. The expression to the left of operator"ValueEquality" can not be null." /><CompilerErrorLine="0" Column="0" Text="Activity 'ID11' validationfailed: Property "Condition" has invalid value. Conditionexpression is invalid. The expression to the right of operator"ValueEquality" can not be null." /></Error>
TYPICAL SOLUTION
If you have been using Organice Process System SDK check SDKDocumentation for this Error.
If you haven't been using SDK try to reinstall Organice Process System,it could be needed to restart machine before. If problem is continuing contactOrganice."
Cause
Installing ".NET security patches to address CVE-218-8421" SharePoint workflows stop working.
For more information see:
Solution
The solution is to explicitly add the necessary types to all web applications' web.config files.
For SharePoint 2013 and later versions
For SharePoint 2013 and later versions, add the following lines:
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeBinaryOperatorExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePrimitiveExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodInvokeExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeFieldReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeThisReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePropertyReferenceExpression" Authorized="True" />
For SharePoint versions earlier than SharePoint 2013
For SharePoint versions earlier than 2013, add the following lines instead:
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeBinaryOperatorExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePrimitiveExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodInvokeExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeMethodReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeFieldReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodeThisReferenceExpression" Authorized="True" />
<authorizedType Assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" NameSpace="System.CodeDom" TypeName="CodePropertyReferenceExpression" Authorized="True" />