I have a situation where I have some Outlook forms with voting buttons (actions) whose responses are not auto processed (tracking updated) if there is any vbscript code within the form. I have the Outlook tracking options checked for:
Automatically process meeting requests and responses to meeting requests and polls
Automatically update original sent item with receipt information
Update tracking information then delete responses that don't contain comments
When I ruled out these basic settings I used MFCMAPI to start troubleshooting. The property PR_Processed was ruled out as it was not present on any item in the inbox that should have been auto processed, but was not. Upon looking at the other properties I noticed one called PidLidAutoProcessState. It was here I saw any voting response from a form that contained vbscript had a value of SSonopen, while voting responses from the same form without any code had a value of SSonsniff. I thought maybe something was wrong with the coding. So, I removed all the code and just put in one commented line in the vbscript section behind the form. Just putting that comment in was enough to cause the PidLidAutoProcessState on responses to be SSonopen, while removing the comment (no code at all) caused the value to be SSonsniff. I removed all the Outlook add-ins and disabled all virus scanning with the same results to rule out those factors. I can reproduce this in Outlook 2016 (Windows 10) and Outlook 2007 (Windows 7). The Sniffer in Outlook will not auto process the response when SSonopen is the value, Thus, the item will not update the tracking until you open it. So, my question is what could be causing the PidLidAutoProcessState setting to change its value to SSonopen with something as simple as a commented line of vbscript or is there a way to manually set this value when responding with the voting? It would be interesting if anyone else could reproduce the issue and let me know. I checked both the sending and receiving mailboxes to make sure the property was the same value to rule out anything in between causing the problem. Thanks for any help you can provide.