Das Cumulative Update (CU) aus September 2024 für alle SharePoint-Versionen (2016/2019/SE) enthält unter anderem ein Sicherheitsupdate, das einen Bug bei der Workflow-Serialisierung behebt.
Als Nebeneffekt tritt nach der Installation dieses Sicherheitsupdates ein Problem auf, das die Deserialisierung von benutzerdefinierten Typen betrifft, die von IDictionary erben. Weitere Informationen finden Sie auf der Microsoft-Webseite unter „Bestimmte Typen, die von IDictionary erben, werden an der Deserialisierung gehindert“ (KB5043462).
Insbesondere führt dies dazu, dass SharePoint-Workflows (und damit auch Nintex-Workflows) nicht veröffentlicht oder ausgeführt werden können, da der nicht autorisierte Typ blockiert ist. Dieses Problem erzeugt auch das Ereignistag „c42q0“ in den ULS-Protokollen von SharePoint. Die Anwender sehen dann in den Workflow-Protokollen, dass die Workflows nicht gestartet werden können bzw. durch das Systemkonto abgebrochen werden.
Lösungsschritte
Um die Workflows wiederherzustellen, sind folgende Änderungen notwendig:
Änderungen an der Web.config-Datei: In der Web.config-Datei müssen zusätzliche authorizedTypes für den Namespace System.Workflow.ComponentModel.WorkflowCompiler
hinzugefügt werden:.
<authorizedTypes>
<targetFx version="v4.0">
<authorizedType Assembly="Microsoft.SharePoint.WorkflowActions, Version=16.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="Microsoft.SharePoint.WorkflowActions.WithKey" TypeName="*" Authorized="True" />
<authorizedType Assembly="Microsoft.SharePoint.WorkflowActions, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WorkflowActions.WithKey" TypeName="*" Authorized="True" />
</targetFx>
</authorizedTypes>
Anpassungen der OWSTimer.exe.config-Datei: Die gleichen Typen müssen auch in der OWSTimer.exe.config freigeschaltet werden, da der SharePoint Timer-Dienst Workflows verwaltet. Dazu kopiert man die Einträge aus der Web.config in die OWSTimer-Konfiguration auf allen SharePoint-Servern. Falls dort noch keine „authorizedTypes“ vorhanden sind, muss der gesamte Abschnitt <System.Workflow.ComponentModel.WorkflowCompiler>
übernommen werden.
Finaler Schritt
Nach diesen Änderungen sollten Sie den SharePoint Timer-Dienst neu starten, um die Änderungen zu aktivieren. Dadurch sollten Ihre SharePoint- und Nintex-Workflows wieder korrekt ausgeführt werden.
Kein Fehler, sondern erwartetes Verhalten
Wichtig ist, dass es sich bei diesem Verhalten nicht um einen Fehler handelt, sondern um eine Sicherheitsmaßnahme, die im Rahmen des Updates implementiert wurde. Das Problem wird daher in zukünftigen Cumulative Updates nicht behoben oder verändert.
Fazit
Dieses Update kann Auswirkungen auf Ihre Workflow-Umgebung haben, aber mit den oben beschriebenen Konfigurationsänderungen lassen sich die Probleme schnell beheben. Bei weiteren Fragen oder wenn Sie Unterstützung benötigen, steht unser Support-Team bereit.