## 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