Package/Library Search Paths (Dynamo Revit 2.18)

Since packages can not live on a shared drive for users to consume (or has that changed?), we had been scripting a copy to the appdata\roaming\Dynamo\DynamoRevit default path. The problem is that the user needs to be logged in to initially deploy that, so setting up new machines for new employees always ends up missing it. We dont use a startup script. It is often a complaint that the shared dynamo graphs aren’t working to get us to push the packages to the user profile path.

I tried using the other default path under programdata, but dynamo is not finding the packages when installed in this location. I believe this to be a bug? Seems to work when I add other custom folders to C:\ outside of the user profile and map packages to that location, but why doesn’t dynamo read from the c:\ProgramData\Autodesk\RVT 2024\Dynamo\2.18\Packages folder? Seems like that would solve my issues.

Are there other best practices for sharing scripts and packages I am missing here?

This is for internal (ie. Autodesk) packages only. I believe it has additional security/requirements that prevent other packages from loading.

There’s nothing that prohibits packages from being stored on a shared network drive, they just tend to have lots of issues when being accessed across the network. Our standard package library is on a shared network, but we have a completely virtualized environment, so the data is technically local even on a network drive. Most environments will have trouble with this though, so best practice is to copy them locally.

Because Dynamo is localized to the user, all solutions (that I can think of) are going to require the user’s app data be available. Even if you stored the packages outside of the user profile directory, the settings file that points to those package locations is in the local user’s Dynamo folder. Best practice is to use the default folder path and the DynamoSettings.xml file. That probably means you’ll need to use a startup script.

Correct. These will need to be ‘approved by windows’, not just moved there.

This is another security thing; you wouldn’t want someone running DLLs directly off some random website, and computers treat network drives the same as web locations for the purposes of security.

This is the easy way - make it part of the logon script. The other way is to have a deployed graph (ie: _configure Dynamo Environment_.dyf) which migrates custom packages, and embed some code that checks if the standard packages are installed.

Has anyone tried Fetch by @john_pierson? This seems to be working well so far.

1 Like

Link for those who might want to take a looksie:

2 Likes