XSIApplication.InstallAddon
 
 
 

XSIApplication.InstallAddon

Description

Installs an .xsiaddon file in Softimage. An add-on file is a set of customized items (like layout, toolbar, preset, etc.) that are packaged in a single file. You can package, install and uninstall an add-on through the Softimage object model.

C# Syntax

XSIApplication.InstallAddon( String in_bszFileName, siInstallationPath in_eInstallDir, Boolean in_bBatch );

Scripting Syntax

XSIApplication.InstallAddon( FileName, [InstallDir], [NoUI] );

Parameters

Parameter Type Description
FileName String File path of the add-on file to install.
InstallDir siInstallationPath Destination directory, where the add-on is installed.

siUserAddonPath and siWorkgroupAddonPath are the recommended values. If siUnknownPath is specified then the add-on will be installed at the default location specified inside the add-on file.

Note: In the case of multiple workgroups, this method always installs to the first workgroup in the list.

Default Value: siUnknownPath

NoUI Boolean Use this optional parameter to avoid displaying the warning message boxes that are shown during the installation of certain addons. This is automatically set when running Softimage in batch mode.

Default Value: false

Examples

JScript Example

//
// This example demonstrates how to install an add-on package.
//
// Get the first available workgroup as the add-on destination 
var sPath = Application.InstallationPath( siWorkgroupPath );
if ( !sPath ) {
        // If the workgroup doesn't already exist, then add it
        var tmppath = XSIUtils.BuildPath( Application.InstallationPath(siUserPath), "TempWorkgrp" );
        var fso = new ActiveXObject( "Scripting.FileSystemObject" );
        if ( !fso.FolderExists(tmppath) ) { fso.CreateFolder(tmppath); }
        Application.AddWorkgroup( tmppath );
        sPath = Application.InstallationPath( siWorkgroupPath );
}
var sHTMLName = makeHTMLPage();
// Create the add-on package object
var 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 );
var 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
        var sUserPath = Application.InstallationPath( siUserPath );
        var sHelpFileName = XSIUtils.BuildPath( sUserPath, "Data", "HelpMe.html" );
        // Create a standard hello world script file
        var fso = new ActiveXObject( "Scripting.FileSystemObject" );
        var fHWFile = fso.CreateTextFile( sHelpFileName );
        fHWFile.WriteLine( "<html>" );
        fHWFile.WriteLine( "<head>" );
        fHWFile.WriteLine( "\t<title>Help Page for Testing Add-ons</title>" );
        fHWFile.WriteLine( "</head>" );
        fHWFile.WriteLine( "<body>" );
        fHWFile.WriteLine( "\n<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
        return sHelpFileName;
}

See Also

XSIApplication.UnInstallAddon XSIApplication.CreateAddon PackageAddon