Johan Björnfot
Optimizely
Jan 19, 2010
visibility 7234
star star star star star
(0 votes)

Workflow image generation failure

In EPiServer it is possible to view images of workflows. These images are generated on the server side by using the workflow designer (same designer as you see in Visual Studio).

On Windows7 or Windows 2008 R2 there might be an exception thrown during the image generation. The reason for this is that there is a bug (see Workflow Theme exception) in .NET that the class System.Workflow.ComponentModel.Design.WorkflowTheme has a static constructor that retrieves the location of the theme files from the registry but it doesn't catch the exception if there is an exception accessing the registry. In IIS7.5 the default account for an application pool is ApplicationPoolIdentity (compared to NetworkService which was the default account on IIS7) which does not have access to the registry.

Workarounds

Below are two workaround alternatives:

  • Change the application to run under another account, e.g. NetworkService.
  • Add permission for IIS APPPOOL\DefaultAppPool on registry key Computer\HKEY_USERS\.Default

You do this by rightclick on the node in regedit and selecting “Permissions”. Then you click on “Add…” and in the dialog you type in IIS APPPOOL\DefaultAppPool in the text field for object name and then press “Check Names”. Then you press “OK” and select “Full Control” and press “OK”.

NOTE: You may have to restart the application (e.g. through IISReset) before the registry changes has effect. In one case I had to set the application to run under NetworkService and then set it back to DefaultAppPool before the change took action.

Jan 19, 2010

Comments

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026