Process version migration utility

  • 10 October 2009
  • 9 replies

a utility to migrate running instances of processes to a different version of the process definition

9 replies

Retroactive changes to process design are not supported

This is expected behaviour. The utility will only apply changes to the process definition from the current point forward.

You may use the 'Redirect each instance to it's current activity' to force K2 to recreate the current activity. This is useful for cases where the destination rule has changed, for example, or you have added additional actions ot the activity. This option will however cause all code in the activity to execute again, so you could get duplicate notificaitons and the worklist item serial numbers will change.

How to install and use?

We are looking for a tool to help us migrate existing process instances to a new version in our production environment.  I have downloaded the exe and config and I was looking for some documentation on where to place them and how to run it.  Does it matter which directory on the server it needs to run?


Thank you for your help!



I found that this tool didn't work with version 4.6.7 (not sure if it works with other 4.6 dot releases or not). The database reader command strings aren't right for the newer database formats.


Feel free to contact me if you need some assistance.

PLease see the updated version of this utility for handling 4.6.7 and later version of K2 here:

I followed the link, but I can't find the utility.

Userlevel 2
Badge +6

K2 database name is hardcoded


I believe the K2 database is hardcorded as "K2" in the source code. I found this section:


public partial class Form1 : Form

private const string mergedServerLogStatus = "k2.serverlog.Status";
private const string unMergedServerLogStatus = "K2ServerLog.dbo._Status";
private const string mergedServerLogAct = "k2.serverlog.Act";
private const string unMergedServerLogAct = "[K2serverLog].dbo._Act";
private const string mergedServerLogActInst = "k2.serverlog.ActInst";
private const string unMergedServerLogActInst = "[K2serverLog].dbo._ActInst";



I basically just changed the entries in bold above to the name of the DB I needed and recompiled the solution, but I think you should upload a newer version that uses the name of the DB specified in the .config file connection string.


I haven't tried this utility yet, at the time of writing it was last updated on 2016-05-19:


The above utility has a few changes / improvements so it would probably be better if you used that.


Kind regards,


Badge +5
Hello, is this utility working in K2 Five ?? Br, Mahjooob
Userlevel 3
Badge +6



The current last version is on


I just generated a new version compatible with K2 Five. But currently some issues appears with K2 Five new designer workflow in case of Client Event performed. The new version of the tool will prevent the migration in this case.


Olivier Chatagnon


Userlevel 3
Badge +6

Oups... comment to be deleted