Custom dll, where to put it so it can be used in BPM and client customisation

I have a custom dll that i want to use in a BPM and in a customization in the client. Where should i put so that it is easily accessible from either?

Alternatively can you manually trigger a BPM from a customization?


I haven’t tried using a custom dll in a BPM, but there is a mechanism for getting them to clients for use in customizations which we use for a couple of odd things.

In 10.1 at least, you put it in the ClientDeployment/Custom folder on the server. Then a line in the config file tells the clients to download it, at which point it becomes accessible like any other. Does that sound like what you’re after?

What does this BPM do? Why a custom dll? The reason I ask is this makes staying up to date more work.

Mark W.

Custom dll will access our CAD system and pull pdf’s of the drawings and attached them to the relevant part in Epicor. I intend to use the REST api for the Epicor part…

I plan to trigger the code in a BPM when a new rev is created in Epicor but if something goes wrong i want to make an option to manually trigger the code from the part entry screen.



Then you will be able to Invoke via the External BO in BPM Designer Widget. I think also Reference it in Custom Code.

For the client you will have to Create a .ZIP and put it inside:


Then in your .sysconfig typically located under:


// in the customizations node specify the ZIP and version is just datestamped
<customization name="YourZipName" directoryName="CSG" version="20171205" deploymentType="ZIP" />

You can also define a diff folder if you don’t want CSG… Then once you restart your Epicor Client it will download the ZIP and extract it to its Client Directory. You should be able to References it when in Customization Mode (there is a Add Assembly button under Actions or so) you should be able to use it then and of course everyones Client will have it so it should all work. I typically have a with folders/subfolders of resource images, sound files, dlls and other 3rd party dlls I use in Customizations so they get deployed via Epicors Auto-Update Client process.


How is the new revision being created in Epicor, why not make attaching the PDF part of that process (if your CAD system is communicating with Epicor)?