How Revit Load Addins?

When Revit starts it looks for some ‘addin’ files on this specific location on the computer.

User Folders:
%appdata%\Autodesk\Revit\Addins\
%appdata%\Autodesk\ApplicationPlugins\

Machine Folders:
%programdata%\Autodesk\Revit\Addins\
%programdata%\Autodesk\ApplicationPlugins\

Each ‘addin’ file has a specific format that contains all the information needed to load a pre-compiled DLL file with these 3 types below.

Command

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="Command">
    <Name>RevitAddin Command</Name>
    <Assembly>RevitAddin.dll</Assembly>
    <FullClassName>RevitAddin.Revit.Commands.Command</FullClassName>
    <Text>RevitAddin Command</Text>
    <Description>RevitAddin Command Example</Description>
    <AddInId>22e57161-deb0-4aad-b9fe-43a576143d62</AddInId>
    <VendorId>RevitAddin</VendorId>
    <VendorDescription>RevitAddin</VendorDescription>
  </AddIn>
</RevitAddIns>

Application

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="Application">
    <Name>RevitAddin Application</Name>
    <Assembly>RevitAddin.dll</Assembly>
    <FullClassName>RevitAddin.Revit.App</FullClassName>
    <AddInId>22e57161-deb0-4aad-b9fe-43a576143d61</AddInId>
    <VendorId>RevitAddin</VendorId>
    <VendorDescription>RevitAddin</VendorDescription>
  </AddIn>
</RevitAddIns>

DBApplication

<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
  <AddIn Type="DBApplication">
    <Name>RevitAddin Application</Name>
    <Assembly>RevitAddin.dll</Assembly>
    <FullClassName>RevitAddin.Revit.DBApp</FullClassName>
    <AddInId>22e57161-deb0-4aad-b9fe-43a576143d63</AddInId>
    <VendorId>RevitAddin</VendorId>
    <VendorDescription>RevitAddin</VendorDescription>
  </AddIn>
</RevitAddIns>

References