Any help on what authentication settings are required on the application pools for the below simplified scenario:

  1. My List item has two fields. "Title" and "Flag"
  2. I create a new List Item with the value in title and with Flag value to NO.
  3. A VS Workflow starts on Item Creation and in that workflow there is a code activity which creates 10 items in the same list with same title as the current item, but setting flag to YES.
  4. There is an SPD WF configured on the same list to send an email to myself, when a new item is created and the flag is set to YES.

    for ( int i=0; i<10; i++)
    {
    current = workflowProperties.Item;
     newItem = workflowProperties.List.Items.Add();
     newItem["Title"]= current["Title"];
     newItem["Flag"]="YES";
    newItem.Update();
    }
    

The problem is.. the SPD workflow doesn’t start at all on any of the newly created 10 items.

The new items created via code activity carry the creator name as "System Account"

I have read through different posts on the same kind of scenario, and learned that the application pool Identity must be changed (maybe?) to an account other than System Account.

Please suggest what could be the possible solution for this. Any ideas are welcome.

link|improve this question
feedback

1 Answer

I have the same @#&^! issue. It is probably due to your VS WF creating the list items using the system account. If you look at the items in SP in edit mode, they probably say "edited by" and "created by" the system account. Since SP1, the system account can't execute declarative workflows (those made in SP designer). Even if you change the app pool to a domain user, the problem still occurs. I have read that you have to use impersonation in your VS WF code. I have even read you have to use explicit (vs implicit) impersonation because WF event handlers don't allow implicit impersonation. I don't know if that is true however.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.