@oliver.green The below seems to work for me. It adds the new path to the Custom Folder, then loads the packages for any “pkg.json” files it finds.
string NewPackageLocation = "C:\\Temp2";
List<IExtension> extensions = startupParams.ExtensionManager.Extensions.ToList();
PackageManagerExtension dynamoPackageManager = extensions.FirstOrDefault(x => x.Name == "DynamoPackageManager") as PackageManagerExtension;
List<string> CurrentPackagePaths = startupParams.Preferences.CustomPackageFolders;
if (!CurrentPackagePaths.Contains(NewPackageLocation) && System.IO.Directory.Exists(NewPackageLocation))
{
startupParams.Preferences.CustomPackageFolders.Add(NewPackageLocation);
foreach (string PkgFile in Directory.GetFiles(NewPackageLocation, "pkg.json", SearchOption.AllDirectories))
{
dynamoPackageManager.PackageLoader.Load(dynamoPackageManager.PackageLoader.ScanPackageDirectory(PkgFile.Replace("pkg.json", "")));
}
}