Hi McNeel,
the latest 8SR15 has broken yak.exe on our machines.
Related posts:
Rhino 8 - Yak install command fails
Installing package for Rhino 8 using Yak.exe
We deploy our in-house plugins by dropping them into a folder on our network drive, e.g. \\x-drive\yak_folder. A Rhino start-up script runs once every day, and checks if the package version on X: drive is newer than the one installed, and runs yak if this is the case:
"C:\\Program Files\Rhino 8\System\yak.exe" search --source="\\x-drive\yak_folder"
With the latest 8 SR15, running yak.exe search/install with a --source folder option is broken:
System.AggregateException: One or more errors occurred. (Could not load file or assembly 'System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.)
---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
File name: 'System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at Yak.PackagesClient.GetAll()
at Yak.Cli.Commands.SearchCommand.Search(String query, String source, Boolean pre, Boolean all)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Yak.Cli.Commands.SearchCommand.Execute(String[] args)
at Yak.Cli.Program.Main(String[] args)
I tried both, the UNC path '\x-drive' and the drive letter âX:â
What are my options?
a) Download the latest(?) yak.exe from https://files.mcneel.com/yak/tools/latest/yak.exe
as per this post:
Installing package for Rhino 8 using Yak.exe
This seems to work. Why is yak.exe from https://files.mcneel.com newer than the yak.exe that comes with the latest SR?
Would I put the âlatestâ yak.exe on the same network drive, and run it from there instead of the installed version in C:\Program Files.âŚ? How do I know that the latest version from https://files.mcneel.com is not more broken than the one that comes with Rhino? I guess I would have to try both, and hope that one works?
b) Add the local network path to
Options > Advanced > Rhino.Options.PackageManager.Sources, as per this page:
I canât get this to work. PackageManager does not list any of the yak packages that sit in our network folder.
c) as b), but copy our local yak packages to C:\temp\Yak8 first.
Options > Advanced > Rhino.Options.PackageManager.Sources now points to
C:\temp\Yak8;https://yak.rhino3d.com
Make sure âAutomatically update packages when Rhino startsâ is enabled in the PackageManager
This works rather nicely. Are there any other robust approaches to deploying local packages that I have not considered?
Thank you
-axel