This article will discuss some considerations when deploying a custom assembly SDK workflow application in WorkflowGen, namely the assembly location, the reference to WorkflowGen.My, and the reference to other software libraries.
There are two ways of deploying an assembly file in WorkflowGen:
Method 1: Reference by assembly’s full name
The assembly file must be copied to the three bin folders containing the WorkflowGen executable files: \wfgen\bin, \wfgen\ws\bin, and DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin.
Method 2: Reference by assembly’s path (full physical path with file name)
The assembly file can be copied to a custom folder such as DRIVE:\MyWorkflowApps\Assembly.dll, and then use that specific path in the workflow application’s definition.
Reference to WorkflowGen.My
WorkflowGen.My v3.1.0 and earlier
WorkflowGen.My versions 3.1.0 and earlier are strong-named, which means your assembly must be built with and use the same version as your target WorkflowGen. This requires recompiling your assembly whenever you upgrade WorkflowGen to a newer version.
You can use one of the following workarounds to overcome this requirement:
- Install the required WorkflowGen.My version in the system's Global Assembly Cache (GAC). For instructions on how to do this, see https://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.110).aspx.OR
- Add a delegate to handle the assembly resolve event in order to load the current WorkflowGen.My version. For instructions on how to do this, see the How to add an assembly resolve event delegate to overcome WorkflowGen.My dependency issue when deploying custom assembly SDK workflow application topic.
- Add a web configuration setting to redirect the required version to the current version of WorkflowGen.My. For more information, see https://msdn.microsoft.com/en-us/library/twy1dw1e(v=vs.110).aspx.
Note: If your assembly is built with WorkflowGen.My v3.1.0 or earlier, it can be used in WorkflowGen version 6.2.0 and later if one of the above workarounds has been implemented.
WorkflowGen.My v3.2.0 and later
As of version 3.2.0, WorkflowGen.My is no longer strong-named in order to allow non-specific version dependency when referenced by your assembly. You can simply deploy your assembly file using one of the two methods in the Assembly location section above in WorkflowGen 6.2.0 and later.
Note: If your assembly is built with WorkflowGen.My v3.2.0 or later, it can be used in WorkflowGen versions prior to 6.2.0 if you have implemented either workaround 2 or 3 above.
Reference to other software libraries
If your assembly uses third-party libraries, then these must also be deployed into the three WorkflowGen executable \bin folders. Alternatively, they can be installed into the system’s Global Assembly Cache (GAC) if they are strong-named assemblies.