Expand Minimize

Do not start Process.Start in a feature and event receiver

Do not start a new process in a feature and event receiver. Sometimes this may be used to run PowerShell or a batch command but this can bring the execution into timeout issues, block the process e.g. in case of errors or opening message boxes.

CheckId SPC030206
TypeName DoNotStartProcessInReceiver
Severity Error
Type Assembly

Remove the instruction to start a new process. If you want to run PowerShell convert the powershell code to managed code and include it in the receiver.

To suppress this violation in managed code add the following attribute to the method which contains the instruction (available since SPCAF version v5.2). Learn more about SuppressMessage here.

// Important: Ensure to have #define CODE_ANALYSIS at the beginning of your .cs file
[SuppressMessage("SPCAF.Rules.SupportabilityGroup", "SPC030206:DoNotStartProcessInReceiver", Justification = "Provide reason for suppression here")]
Disclaimer: The views and opinions expressed in this documentation and in SPCAF do not necessarily reflect the opinions and recommendations of Microsoft or any member of Microsoft. SPCAF and RENCORE are registered trademarks of Rencore. All other trademarks, service marks, collective marks, copyrights, registered names, and marks used or cited by this documentation are the property of their respective owners.