## XSIApplication.CreateAddon

### Description

Creates a new add-on package object to be used to package plug-ins. For example, you can package SPDL files, presets, layouts, toolbars, custom commands, devices, library files, etc.
For more information on the kinds of items that can be part of and add-on package, see siAddonItemType.
Note: In many cases it can be easier to create an add-on by calling PackageAddon.

### C# Syntax

    Addon XSIApplication.CreateAddon();

### Scripting Syntax

    oReturn = XSIApplication.CreateAddon();

### Return Value

Addon

### Examples

#### Python Example

    #
    # This example demonstrates how to install an add-on package.
    #
    import os                                                       # for directory handling
    from win32com.client import constants as c
    # **********************************
    # This function just provide the means to remove the details of
    # creating the HTML page.
    def makeHTMLPage() :
            # Build the filename & path
            sUserPath = Application.InstallationPath( c.siUserPath )
            sHelpFileName = XSIUtils.BuildPath( sUserPath, "Data", "HelpMe.html" )
            # Create a standard hello world script file
            fHWFile = open( sHelpFileName, "w" )
            fHWFile.write( "<html>\n" )
            fHWFile.write( "<head>\n" )
            fHWFile.write( "\t<title>Help Page for Testing Add-ons</title>\n" )
            fHWFile.write( "</head>" )
            fHWFile.write( "<body>\n" )
            fHWFile.write( "\n<p>Help! I'm trapped inside this HTML code!</p>\n" )
            fHWFile.write( "</body>\n" )
            fHWFile.write( "</html>" )
            fHWFile.close()
            # Return the name of the new html page
            return sHelpFileName
    # **********************************
    # Get the first available workgroup as the add-on destination
    sPath = Application.InstallationPath( c.siWorkgroupPath )
    if not sPath :
            # If the workgroup doesn't already exist, then add it
            tmppath = XSIUtils.BuildPath( Application.InstallationPath(c.siUserPath), "TempWorkgrp" )
            if ( not os.access(tmppath, os.F_OK) ) :
                    os.mkdir( tmppath )
            Application.AddWorkgroup( tmppath )
            sPath = Application.InstallationPath( c.siWorkgroupPath )
    sHTMLName = makeHTMLPage()
    # Create the add-on package object
    oAddOn = Application.CreateAddon()
    # Add the HTML page to the add-on package
    oAddOn.AddOtherItem( sHTMLName )
    # Save the package in the Addons directory
    sPath = XSIUtils.BuildPath( sPath, "Addons" )
    XSIUtils.EnsureFolderExists( sPath )
    sAddOnFileName = XSIUtils.BuildPath( sPath, "myHelpPkg.xsiaddon" )
    oAddOn.Save( sAddOnFileName )
    Application.LogMessage( "Created add-on file: " + sAddOnFileName )
    # Install the add-on package containing the HTML page
    Application.InstallAddOn( sAddOnFileName, c.siWorkgroupAddonPath )
    # Comment out the following line if you want to see the add-on file
    # (you will have to uninstall the add-on manually):
    Application.UnInstallAddon( sAddOnFileName )
    #INFO : &lt;YourWorkgrpPath&gt;\Addons\myHelpPkg.xsiaddon