My company is trying to deploy an ArcGIS Pro 2.3 add-in to end users accessing ArcGIS Pro via Citrix. We had found a workaround to install the add-in on the Citrix server and update the following registry key to make the add-in available to all users on the server.
So when a user would connect to Pro through Citrix, the instance of Pro would find the add-in that was installed at the location we updated the registry key with. The .esriAddInX file was placed under "C:\ProgramData". This workaround had seemed to work initially, but there is a process that purges the user profiles on Citrix every night. This causes the dlls for the add-in to be purged from the user's profile that installed the add-in on the server. Therefore, when a user goes to access the add-in via Citrix the next day, the add-in is picked up by Pro, but when the tool is run, the dlls aren't there anymore and the tool can't function.
Now that we have context, my question has two parts:
- Can one specify where the dlls for an add-in are unpacked to? If so, we will be able to install the dlls in a shared location. Then, the second part of this question would be a feasible second step to a solution.
- Is it possible to tell Pro where to look for the dlls of an add-in?. The thought is we install the add in where each user can access the .esriAddInX file through Citrix. Then, once we specify where the dlls are located, Pro loads the add in and looks for the dlls in said location (not in the user profile). Therefore, ArcGIS Pro will be able to read the files from a shared location on the server and the add-in will be available for all users accessing Pro through Citrix.
I'm also open to hearing any other ideas on how to approach the problem. We are using ArcGIS Pro 2.3.2.
Thanks in advance!