I have deployed compute to IIS following the guide (Deployment to Production Servers with C#, VB). But compute seems to not be detecting the plugins I have installed on the VM. I am using AWS EC2.
I have installed some plugins through the PackageManager (Heteroptera, LunchBox…) an others (e.g. Pufferfish) through the usual process (copying the libraries to the Libraries/UserObjects folder).
I have restarted the VM several times. The plugins work just fine when I open Rhino 7 through the VM.
I have another VM with compute deployed quite some time ago where all these plugins work.
Am I missing something new?
In case anybody get into the same situation, and also because I think my solution is bad.
I found the problem to be rhino.compute/compute.geometry processes being instantiated using the App Pool Identity user (RhinoComputeAppPool). To check that, open Task Manager on your VM and look for the compute.geometry processes.
Therefore Rhino.Compute was looking for the plugin libraries at C:\Users\RhinoComputeAppPool\…\Libraries. This folder was empty, since I am connecting and installing plugins on the VM through a different user (Administrator).
I found a work around which is to set the identity of the App Pool to be my Administrator account.
To do that:
- On your VM go to Start (Windows) and open Internet Information Services (IIS) manager
- On the left menu, click on the connection below “Start page”.
- Select Application Pools
- Select the RhinoComputeAppPool
- Some options on the right bar will appear, choose “Advanced Settings”
- Look for “Process Model → Identity”, click on the “…”
- Choose custom account and place your administrator account (with the domain). To check your account open Powershell and type “whoami”
- Confirm your changes, restart the VM.
Not sure how bad this is. But now compute.geometry processes are being instantiated by my Administrator user, and therefore reading the libraries I installed.