Control the loading of a Dynamo .dll package programmatically

Dear All,

I was wondering if it’s possible to control the loading of a .dll package during startup of Dynamo and programmatically decide if…

  • package is loaded as usual
  • package is not loaded and does not show up in the interface

For example to make sure the package only loads…

  • in the proper version of Dynamo
  • when all required other packages installed
  • when all required 3rd party dll’s available on the PC
  • etc.

Where to put this code for evaluation to control loading?

Thank you very much
Best regards, Eckart

May be possible with an extension. Check out the latest article in the blog section of this site.

This is a good question. you might be able to use your own extension to do the package loading or use an extension to unload a package.

another option, make your toplevel package a launcher/loader which goes and downloads /loads your real package after checking the system. - you might want an extension to do this.

Hmmm, I don’t think I can use an extension, because they…

  • need to be installed to installation folder [admin rights] and not AppData
  • need to be installed and updated separately on each computer and can’t use the package path we use for the whole office
  • can’t be distributed via Package Manager, yet

It would be much easier if they would work like a regular package

indeed…it would be easier. :wink: .

At my firm I made an extension to load certain packages from a network drive depending on dynamo version and host application. It’s managed by a small JSON config (again, on network drive) which I can update to roll out global changes and have control about which features are exposed to user or admin. The extension does a whole load more than this, but I wanted to ensure that our core internal and 3rd party packages are loaded on start up.

For getting around the deployment, our IT department just deploy over the network with privileges targeting all machines that have dynamo. It would be nice though to have some built in method though. Something like PM.

1 Like

:wink: indeed