/// <summary> /// Generate new addin files for all applicable /// versions of Revit. /// </summary> /// <param name="products">A collection of revit installs.</param> /// <param name="dynamos">DynamoProducts, a collection of installed Dynamo /// on this system.</param> /// <param name="dynamoUninstallPath">Path of Dynamo being uninstalled</param> internal static void GenerateAddins(IRevitProductCollection products, DynamoProducts dynamos, string dynamoUninstallPath = "") { foreach (var prod in products.Products) { Console.WriteLine("Generating addins in {0}", prod.AddinsFolder); var addinData = DynamoAddinData.Create(prod, dynamos, dynamoUninstallPath); if (null != addinData) { GenerateDynamoAddin(addinData); } } }
/// <summary> /// Generate new addin files for all applicable /// versions of Revit. /// </summary> /// <param name="products">A collection of revit installs.</param> /// <param name="dynamos">A collection of dynamo installs.</param> internal static void GenerateAddins(IRevitProductCollection products, IDynamoInstallCollection dynamos) { foreach (var prod in products.Products) { Console.WriteLine("Generating addins in {0}", prod.AddinsFolder); var addinData = new DynamoAddinData(prod, dynamos.GetLatest()); if (prod.ProductName == "Vasari Beta 3") { // Change the addin path because the AddinUtility // reports this incorrectly for vasari var dir = Path.GetDirectoryName(addinData.AddinPath); var newDir = dir.Replace("Revit", "Vasari"); addinData.AddinPath = Path.Combine(newDir, Path.GetFileName(addinData.AddinPath)); } GenerateDynamoAddin(addinData); } }
/// <summary> /// Deletes all existing Dynamo addins. /// This method will delete addins like Dynamo.addin and /// DynamoVersionSelector.addin /// </summary> /// <param name="products">A collection of revit installs.</param> internal static void DeleteExistingAddins(IRevitProductCollection products) { Console.WriteLine("Deleting all exisitng addins..."); foreach (var product in products.Products) { try { Console.WriteLine("Checking addins in {0}", product.AddinsFolder); var dynamoAddin = Path.Combine(product.AddinsFolder, "Dynamo.addin"); if (File.Exists(dynamoAddin)) { Console.WriteLine("Deleting addin {0}", dynamoAddin); File.Delete(dynamoAddin); } dynamoAddin = Path.Combine(product.AddinsFolder, "DynamoRevitVersionSelector.addin"); if (File.Exists(dynamoAddin)) { Console.WriteLine("Deleting addin {0}", dynamoAddin); File.Delete(dynamoAddin); } dynamoAddin = Path.Combine(product.AddinsFolder, "DynamoVersionSelector.addin"); if (File.Exists(dynamoAddin)) { Console.WriteLine("Deleting addin {0}", dynamoAddin); File.Delete(dynamoAddin); } } catch (Exception ex) { Console.WriteLine("There as an error deleting an addin {0}", product.AddinsFolder); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } }
/// <summary> /// Deletes all existing Dynamo addins. /// This method will delete addins like Dynamo.addin and /// DynamoVersionSelector.addin /// </summary> internal static void DeleteExistingAddins(IRevitProductCollection products) { foreach (var product in products.Products) { try { Console.WriteLine("Deleting addins in {0}", product.AddinsFolder); var dynamoAddin = Path.Combine(product.AddinsFolder, "Dynamo.addin"); if (File.Exists(dynamoAddin)) { Console.WriteLine("Deleting addin {0}", dynamoAddin); File.Delete(dynamoAddin); } dynamoAddin = Path.Combine(product.AddinsFolder, "DynamoRevitVersionSelector.addin"); if (File.Exists(dynamoAddin)) { Console.WriteLine("Deleting addin {0}", dynamoAddin); File.Delete(dynamoAddin); } dynamoAddin = Path.Combine(product.AddinsFolder, "DynamoVersionSelector.addin"); if (File.Exists(dynamoAddin)) { Console.WriteLine("Deleting addin {0}", dynamoAddin); File.Delete(dynamoAddin); } } catch (Exception ex) { Console.WriteLine("There as an error deleting an addin {0}", product.AddinsFolder); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } }
/// <summary> /// Generate new addin files for all applicable /// versions of Revit. /// </summary> /// <param name="products">A collection of revit installs.</param> /// <param name="dynamos">DynamoProducts, a collection of installed Dynamo /// on this system.</param> /// <param name="dynamoUninstallPath">Path of Dynamo being uninstalled</param> internal static void GenerateAddins(IRevitProductCollection products, DynamoProducts dynamos, string dynamoUninstallPath = "") { foreach (var prod in products.Products) { Console.WriteLine("Generating addins in {0}", prod.AddinsFolder); var addinData = DynamoAddinData.Create(prod, dynamos, dynamoUninstallPath); if(null != addinData) GenerateDynamoAddin(addinData); } }