At Geometry Gym, We’ve switched to Yak as the primary way to deploy our plugins, and the response so far has been very positive from both developer and user perspective.
But I’ve identified an aspect that isn’t ideal, and would suggest it might be improved if others agree.
When using a .msi, we could control the plugin path to a constant location such as C:\Program Files\Geometry Gym\Rhino7
When a user ran a newer version installer, the files would be updated and any references preserved.
However, when using Yak, the assembly path includes the version number, and this will change from build to build. Ie C:\Users\JonMirtschin\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\ggRhinoIFC\126.96.36.199
This is a problem when referencing an assembly in a grasshopper script component such as c#. This suggestion might not be practical, but it would be nice if the assembly is stored/resolved by it’s GUID if detected in a yak installation path. This isn’t just for version, the username is now in the path so if a script is shared between multiple users, the path will need to be revised when a different user opens the script.
Let me know if this isn’t clear, and if there are ways of working around this that I haven’t identified.