Distribution of Dynamo


#1

I know this has been discussed before, responses I have found were from older versions.

At your firm, how do you manage the distribution of scripts, and ensure that each user has the correct nodes on their machine.

Currently we have a server location dedicated to hosting the scripts. The part we are struggling with is ensuring that everyone has the necessary nodes to run the scripts.

I am not the IT person so I do not know the correct terminology, but can the custom nodes and packages be on a server location or do they all need to be on the local machine


Installing packages to network location
#2

Packages can be on a server location. You should deploy a dynamosettings.xml that has been altered accordingly.


#3

can you elaborate on this process


#4

Push the altered dynamosettings.xml to all users’ computers? That depends entirely on how your IT handles such tasks. Some firms have dedicated tools for software deployment, others rely on scripting.


#5

I typically use the Node to Code function on a sketch prior to releasing it for others to use. This helps minimize the number of packages other users need to have installed.

Since a lot of the nodes out there just bundle Dynamo’s built-in functions into a easy to use node, Dynamo can easily convert them to native Code thus eliminating the need to have the package a node came from.

This doesn’t work for all nodes however, so you will probably still want to deploy the XML file as Andreas suggested above.


#6

As Andreas said, you can deploy Dynamo packages to users in a shared network environment by editing or adding to the CustomPackageFolders path in the dynamosettings.xml file. However searching for how to deploy a modified dynamosettings.xml file without either replacing users’ existing files or manually editing each user’s file, I found no solutions, so I wrote a powershell script to do it.

This script can be run by whatever means you wish; it can be called from a BAT file with a line like this:
powershell.exe -ExecutionPolicy Bypass -Command "**YourPath**DynamoSettings.ps1"
You may have to run it as administrator.

The paths in the script need to be edited to suit your network.
Make a backup of your DynamoSettings.xml before modifying and testing.
The last line in the script is just to verify the results and could be deleted once tested it.

I can’t upload the script to here as I’m apparently a “new user” so here is a Google Docs link. Copy/paste the contents into a text file with a .ps1 extension to run it.

  • Rusty

#7

so each time someone downloads a new version of dynamo they will have to re-run this powershell script to re-establish the network environment link?


#8

That appears to be the case.


#9

I think that rerunning it would only be required in case of a major version update. I had previously installed an earlier version of 1.3 in August and edited my DynamoSettings.xml file and those settings persisted when I installed version 1.3.2 last week.

Rerunning it does no harm; it won’t insert the line if it already exists.

After a major update, say to 1.4, the script would need to be edited to change the path anyway.

In any case, I use Prism Deploy to install, monitor, update and alter user settings users of various programs, and I can set it to watch for users who need this setting and run or rerun it as needed.

(BTW, after Revit and Dynamo are installed, this settings XML file isn’t created until after the user opens Dynamo.)

  • Rusty