Dear Richard,
Here is the best info I was able to dig up on the fly:
http://thebuildingcoder.typepad.com/blog/2013/04/whats-new-in-the-revit-2014-api.html
What's New in the Revit 2014 API
Automatic load of add-ins without restarting Revit
Revit now automatically loads addins from newly added .addin manifest files without restarting Revit.
After placing a new .addin manifest file into one of the dedicated addins folders, the running Revit session will attempt to load the corresponding addin. Loaded ExternalCommands will be added to the External Tools pulldown menu. ExternalApplication and ExternalDBApplication OnStartup methods will be executed upon loading. An addin's installer may leverage this feature – but it must do so by creating the new .addin file at the end of installation to the dedicated Revit addin folders (the installer must ensure that the addin's assembly is already deployed to the target machine and the assembly path can be resolved in the add-in manifest file).
Add-ins may decline the ability for Revit to load the .addin in the middle of a session. To decline this options, add an tag (set to “NO”) in the add-in manifest file.
Note that when Revit starts an add-in in the middle of the session, some add-in logic may not function identically because of the different interactions with the session. Specifically:
- If the application's goal is to prevent something from happening, the application may not be able to handle the fact that this activity has already happened in the existing session.
- If the application's goal is to manage external information in synch with documents loaded in the session, the application may not be able to handle documents that were loaded before the application started.
- If the application's logic depends on the ApplicationInitialized event, this event has already been called before the add-in was loaded.
Also, some add-ins may not be able to fully initialize when loading in the middle of the session. This is because some activities must take place at the start of the Revit session:
- Creation of custom failure definitions
- Establishment of a system-wide IFailureProcessor to handle all failures.
- Registering ExternalServices.
Revit also offers a new UI API method
- UIApplication.LoadAddIn()
to programmatically load the add-in(s) listed in the provided add-in manifest file. Typically, this API would not be needed because Revit is already loading new .addin files automatically.
I hope this helps.
Cheers,
Jeremy