While working with SharePoint workflows I have a scenario to upgrade the logic for workflow. But there are many items already running on the existing workflow. So new workflow shouldn’t override on existing. We need to create an upgrade for existing workflow.
TO do that we have to follow the steps below,
Change Workflow assembly version number by right clicking on the workflow project, In Application section, Click on Assembly Info button. Change Assembly Version number and file version number in Assembly information
Update the assembly version number in workflow.xml file workflow element. Change the Solution ID in the manifest.xml file
Change .wsp name. For example we have Site.DataRequestWorkFlow.wsp previously, update it to Site.DataRequestWorkflowV1.wsp.
Deploy new wsp file using PowerShell commands or stsadm commands and we have to Run IISReset command
Change the old workflow to not allowing any new instances and disable the options to start manually or Item created. By doing this there will not any new instances for old workflow. Create a new workflow association using new workflow that deployed.