## Addon.Save

### Description

Saves the add-on in an .xsiaddon file.

### C# Syntax

    Addon.Save( String in_bstrFilename );

### Scripting Syntax

    Addon.Save( in_bstrFilename );

### Parameters

Parameter | Type | Description
--- | --- | ---
in_bstrFilename | String | The .xsiaddon file that contains the add-on. After you save an add-on, all items are deselected, which means that you can start packaging another add-on without interfering with the previous selection.

### Examples

#### VBScript Example

    '

    ' This example shows how to create and save an add-on package.

    '

    sPath = Application.InstallationPath( siWorkgroupPath )

    if sPath = "" then

    	' If the workgroup doesn't already exist, then add it

    	tmppath = XSIUtils.BuildPath( Application.InstallationPath(siUserPath), "TempWorkgrp" )

    	set fso = CreateObject( "Scripting.FileSystemObject" )

    	if Not fso.FolderExists(tmppath) then

    		fso.CreateFolder tmppath

    	end if

    	Application.AddWorkgroup tmppath

    	sPath = Application.InstallationPath( siWorkgroupPath )

    end if

    sHTMLName = makeHTMLPage()

    ' Create the add-on package object

    set 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, 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

    ' **********************************

    ' This function just provide the means to remove the details of

    ' creating the HTML page.

    function makeHTMLPage()

    	' Build the filename & path

    	sUserPath = Application.InstallationPath( siUserPath )

    	sHelpFileName = XSIUtils.BuildPath( sUserPath, "Data", "HelpMe.html" )

    	' Create a standard hello world script file

    	set fso = CreateObject( "Scripting.FileSystemObject" )

    	set fHWFile = fso.CreateTextFile( sHelpFileName )

    	fHWFile.WriteLine "<html>"

    	fHWFile.WriteLine "<head>"

    	fHWFile.WriteLine vbTab & "<title>Help Page for Testing Add-ons</title>"

    	fHWFile.WriteLine "</head>"

    	fHWFile.WriteLine "<body>"

    	fHWFile.WriteLine vbTab & "<p>Help! I'm trapped inside this HTML code!</p>"

    	fHWFile.WriteLine "</body>"

    	fHWFile.WriteLine "</html>"

    	fHWFile.Close

    	' Return the name of the new html page

    	makeHTMLPage = sHelpFileName

    end function