We talked about the Revit Addin Manifest file quite a while back. We are going to talk about the application type addin manifest format in a bit more detail in this post.
The root node is RevitAddIns for both external applications and external commands as introduced before. The Type attribute of the AddIn node is Application for external applications. The Addin node provides four sub nodes, Assembly, FullClassName, ClientId, and Name.
The Assembly, FullClassName and ClientId are mandatory. It is easy to understand since they are all necessary to identify external applications. The Assembly specifies the full name of the executable that has the class definition; the FullClassName the full name of the external application class, which is derived from the IExternalApplication interface; the ClientId (not AddInId, please note) a GUID to identify the external application universally.
The Name is also required in the manifest though it does not seem to be used either for identification purpose (as different external applications can have the same name) or in normal UI elements (except for some error message boxes).
Here is a sample of the external application manifest:
<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Application">
<Assembly>C:\Temp\RevitAddinCS1\bin\Debug\RevitAddinCS1.dll</Assembly>
<FullClassName>RevitAddinCS1.ExtApp</FullClassName>
<ClientId>809fa6b4-8e99-484e-84ba-cdfbac07ce99</ClientId>
<Name>RevitAddinCS1</Name>
</AddIn>
</RevitAddIns>
As mentioned earlier, the Name node is required though not really used. If it is omitted, a ‘No Name Node for Application Add-in’ error will show up:
The ClientId (not AddInId) is critical. If another external application is given the same GUID as follows, for example:
<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Application">
<Assembly>C:\Temp\RevitAddinCS2\bin\Debug\RevitAddinCS2.dll</Assembly>
<FullClassName>RevitAddinCS2.ExtApp</FullClassName>
<ClientId>809fa6b4-8e99-484e-84ba-cdfbac07ce99</ClientId>
<Name>RevitAddinCS2</Name>
</AddIn>
</RevitAddIns>
The following ‘External Tools – Invalid Format AddInId’ error message will show up when Revit is trying to load the Addin:
RevitAddinCoder provides an Application Manifest Creator which can create a manifest file automatically for any existing external applications in a visual studio project.
Related posts:
Deploy & Install: Revit Application Addin Manifest
Deploy & Install: Revit Command Addin Manifest
Deploy & Install: Revit Addin Roaming Folders
Deploy & Install: The Registry of Revit 2011
Deploy & Install: The Registry of Revit 2012
Deploy & Install: Where Are Revit Products Installed
Deploy & Install: Manifest Navigator of RevitAddinWidget
Deploy & Install: RegEdit Launcher of RevitAddinWidget
Deploy & Install: Revit Locator of RevitAddinWidget
Deploy & Install: Manifest Encoding
Deploy & Install: Manifest Loading
Deploy & Install: Manifest ClientId
Deploy & Install: Manifest ClientId and AddinId
Deploy & Install: Manifest Integrity
Deploy & Install: Revit Manifest Organizer
Deploy & Install: Create New Of Revit Manifest Organizer
Deploy & Install: Check Integrity New Of Revit Manifest Organizer
Deploy & Install: Detect Duplicate New Of Revit Manifest Organizer
Deploy & Install: View Selected Of Revit Manifest Organizer
Deploy & Install: Edit Selected Of Revit Manifest Organizer
Deploy & Install: Merge Selected Of Revit Manifest Organizer
Deploy & Install: Dismantle Selected Of Revit Manifest Organizer
Deploy & Install: Copy/Move/Delete Selected Of Revit Manifest Organizer
Deploy & Install: Miscellaneous Of Revit Manifest Organizer
Deploy & Install: Create Revit Manifest Files Programmatically With C#
Deploy & Install: Programmatically Detect Windows Versions And Find Revit Addin Roaming Folders
Deploy & Install: Revit Addin Project Output And API Dependencies
Deploy & Install: Revit Addin Projects and Visual Studio Setup Custom Actions
Deploy & Install: Deploy Revit Manifest Files with C# Using Installer Custom Actions
Recent Comments