Softimage にアドオン ファイルをインストールします。 このコマンドを実行するには、ディスク上にアドオン ファイルが保存されていなければなりません。 Softimage のアドオン ファイルの拡張子は .xsiaddon です。 アドオン ファイルは、Softimage のレイアウト、ツールバー、キーマップ、カスタム コマンドなどの設定を格納しています。
このコマンドは、メイン メニューの[ファイル] > [アドオン]から[インストール]を実行する操作に相当するスクリプトです。
InstallAddon( FileName, [InstallPath] ); |
パラメータ | タイプ | 説明 |
---|---|---|
FileName | 文字列 | xsiaddon ファイル |
InstallPath | siInstallationPath |
このオプションを使用してアドオンのインストール先を指定します。 推奨値は siUserAddonPath および siWorkgroupAddonPath です。 siUnknownPath を指定すると、アドオンファイルに指定されているデフォルトの場所にアドオンがインストールされます(「Addon.DefaultInstallationPath」を参照)。
デフォルト値: 7 (siUnknownPath) |
'--------------------------------------------------------- ' This script demonstrates how to install and uninstall ' user add-ons and factory add-ons. '--------------------------------------------------------- ' Get the filename of an available add-on file, and install it, in the user add-on path. myAddonFile = createAddonForDemo( siUserPath ) Application.LogMessage "Installing: " & myAddonFile InstallAddon myAddonFile, siUserAddonPath ' Now find the installed file. myAddonFile = XSIUtils.BuildPath( Application.InstallationPath(siUserAddonPath), "DemoAddon.xsiaddon" ) Application.LogMessage "Uninstalling: " & myAddonFile UnInstallAddon myAddonFile killCmdForDemo ' clean up the command that was loaded from the add-on ' Now re-install it to the AddonPath. myAddonFile = createAddonForDemo( siFactoryPath ) Application.LogMessage "Installing: " & myAddonFile InstallAddon myAddonFile, siAddonPath ' Now uninstall the add-on (again). myAddonFile = XSIUtils.BuildPath( Application.InstallationPath(siAddonPath), "DemoAddon.xsiaddon" ) Application.LogMessage "Uninstalling: " & myAddonFile UnInstallAddon myAddonFile killCmdForDemo ' the plug-in is not automatically unloaded when the add-on is uninstalled '--------------------------------------------------------- ' Output from this script: 'INFO : "Installing: <UserPath>\Addons\DemoAddon.xsiaddon" 'INFO : "Uninstalling: <UserPath>\Addons\DemoAddon.xsiaddon" 'INFO : "Installing: <FactoryPath>\Addons\DemoAddon.xsiaddon" 'INFO : "Uninstalling: <FactoryPath>\Addons\InstalledAddons\DemoAddon.xsiaddon" '--------------------------------------------------------- ' *** Helper functions *** ' ' Create an add-on package on the fly function createAddonForDemo( in_Where ) dim l_AddonFile, l_PluginFile, l_AddonObj l_AddonFile = GetAddonFileLocation( in_Where ) l_PluginFile = createCmdForDemo() Set l_AddonObj = Application.CreateAddon() l_AddonObj.AddItem siPluginAddonItemType, l_PluginFile l_AddonObj.Save l_AddonFile ' Now that it's in the .xsiaddon file, kill the source killCmdForDemo createAddonForDemo = l_AddonFile end function ' Validate the add-on file location function GetAddonFileLocation( in_Where ) dim l_folderLocation, l_fso If in_Where = siUserPath Then l_folderLocation = Application.InstallationPath( siUserAddonPath ) Else l_folderLocation = Application.InstallationPath( siAddonPath ) End If Set l_fso = CreateObject( "Scripting.FileSystemObject" ) ' Make sure the Addons folder exists If Not l_fso.FolderExists(l_folderLocation) Then l_fso.CreateFolder l_folderLocation End If GetAddonFileLocation = XSIUtils.BuildPath( l_folderLocation, "DemoAddon.xsiaddon" ) end function ' Create the self-installing command plug-in on disk and load it function createCmdForDemo() dim l_fileLocation, l_fso, l_ts l_fileLocation = XSIUtils.BuildPath( Application.InstallationPath(siUserPath), _ "Application", "Plugins", "VBSCmdForAddonsDemoPlugin.vbs" ) Set l_fso = CreateObject( "Scripting.FileSystemObject" ) Set l_ts = l_fso.CreateTextFile( l_fileLocation ) l_ts.Write writeCmdImpl() l_ts.Close Application.LoadPlugin l_fileLocation createCmdForDemo = l_fileLocation end function ' Supply the implementation of the self-installing command plug-in function writeCmdImpl() writeCmdImpl = "function XSILoadPlugin( in_reg )" & vbCrLf _ & vbTab & "in_reg.Author = " & Chr(34) & "InstallAddonDemo" & Chr(34) & vbCrLf _ & vbTab & "in_reg.Name = " & Chr(34) & "VBSCmdForAddonsDemoPlugin" & Chr(34) & vbCrLf _ & vbTab & "in_reg.Major = 1" & vbCrLf _ & vbTab & "in_reg.Minor = 0" & vbCrLf _ & "" & vbCrLf _ & vbTab & "in_reg.RegisterCommand " & Chr(34) & "VBSCmdForAddonsDemo" & Chr(34) & ", " & Chr(34) & "VBSCmdForAddonsDemo" & Chr(34) & vbCrLf _ & vbTab & "XSILoadPlugin = True" & vbCrLf _ & "end function" & vbCrLf _ & "" & vbCrLf _ & "function VBSCmdForAddonsDemo_Init( in_ctxt )" & vbCrLf _ & vbTab & "Set oCmd = in_ctxt.Source" & vbCrLf _ & vbTab & "oCmd.Description = " & Chr(34) & "'Hello World' command for demonstration" & Chr(34) & vbCrLf _ & vbTab & "oCmd.ReturnValue = False" & vbCrLf _ & vbTab & "VBSCmdForAddonsDemo_Init = True" & vbCrLf _ & "end function" & vbCrLf _ & "" & vbCrLf _ & "function VBSCmdForAddonsDemo_Execute( )" & vbCrLf _ & vbTab & "Application.LogMessage " & Chr(34) & "Hello, World!" & Chr(34) & ", siInfo" & vbCrLf _ & vbTab & "VBSCmdForAddonsDemo_Execute = True" & vbCrLf _ & "end function" end function ' Remove the self-installing command plug-in (and delete from disk) sub killCmdForDemo() For Each p In Application.Plugins If p.Name = "VBSCmdForAddonsDemoPlugin" Then Application.UnloadPlugin p.Filename, true Exit For End If Next end sub |