How to use the command line interface for LogicBase


Article ID: 180350


Updated On:


Workflow Solution




Logicbase has a Command Line Utility (CLU), ".\Altiris\Workflow\Tools\LBUtil.exe", which can be leveraged to interact with the Logicbase server.  Usage of this utility is as follows:

LogicBase Studio Command Line Utility v Version 2007.0.3 build number 1314

To use the clu, you must invoke it with parameters.  There are several uses for the clu. 
 Validate LogicBase projects
 Build LogicBase projects
 Deploy LogicBase projects

Most clu actions require a project parameter.  LButil -project location -validate

                Converts the data from old message style to new message style

                Version takes no parameters.

                Use sign with with a directory name, where project is located.
                -sign directoryname

                WriteRootDirToFile Action is used to write the root LogicBase path in file 'LogicBase_ToolCLI_RootDir' or specified file in system temporary folder.
                usage: -writeRootDirToFile [<file name>]

                Repoints libraries to search paths.

                Repoints libraries to specified path.
  usage: -repointlibstospecifiedpaths <path>;<path>;<path>

                Updates libraries with libraries from search paths. This task DOES NOT repoint original resource paths.

                Updates libraries with libraries from specified path. This task DOES NOT repoint original resource paths.
  usage : -refreshlibsfromspecifiedpaths <path>;<path>;<path>

                Updates libraries with libraries from original resource paths. You may want to do repoints before running this task.

                Validate takes the project to validate as a parameter.  It will process this project and report any validity problems.  Validate uses the output mechanism of the command line utility.
  if the -verbose parameter is sent in, it will also print off any details
  if the -treatWarningMessagesAsFatal parameter is sent in, warning validations will stop validation

                Use the build action as follows: -build to-location.
                -build c:\temp\ will create a deployable package.
                -build c:\temp\myProjectName will create a fully expanded deployment image.
                -build myProjectName will create a deployment image in your default deploy directory.

                Updates version of project to same version as tool. generally want to do this following a library refresh.

                Use deploy with one of the following parameters.
                -deployInstaller - main argument to specify the full path to the installer
                Optional parameters:
                        -productName - installer product name
                        -version - installer product version
                        -publisher - installer product publisher
                        -site - installer product site
                        -instdir - installation directory where to install product
                        -lbpath - the root directory where LogicBase installed
                        -desktopshortcut - if true creates desktop shortcut
                        -startmenushortcut - if true creates start menu shortcut
                        -grantaspnet - if true grants APSNET user full access
                        -includecustomlibs - if true includes custom libraries
                        -outputscript - if true outputs installer sources

                Create project package and put it in a  specified directory. Usage:
                lbutil -project <project path> -createProjectPackage <package path>
                       -includeCustomLibraries <true|false> -exludeCoreLibraries <true|false> -exludeLibrariesInSearchPath <true|false>

                Run project tests by names or all tests if empty parameter.
  Usage LBUtil -runTests <test name 1; test name 2...>

                Deploy Decision project as executable file. Usage:
                lbutil -project <project path> -deployProjectAsExe <output path>

                Create an SMP Solution Pack and put it in a  specified directory.

* Any parameter value with spaces must be double quoted.

        lbutil -smppack
               -project <project path>
               -vdir <virtual directory>
               -targetdirectory <directory where files are created>
               -deletetargetdirectory <true|false>
               -autodeploy <true|false>
               -ismodifiable <true|false>
               -path <path installer puts workflow zip - %smpdir%\MyNsSolution\>
               -projectnotes <project notes>
               -tags <repo tags comma seperated>
               -createitemaction <true|false>
               -itemactionname <name of item action>
               -entrypoint <entry point name>
               -actionmulti <true|false>
               -isspcaction <true|false>
               -useprojectid <true|false>
               -pseudotranslation <true|false>

               For product dependencies use the following syntax:
               -pd:<groupguid>:<productguid> <minversion>:<maxversion>
               -pd:<groupguid>:<productguid> <minversion> (for unlimited maxversion)
               Group is an arbitrary guid that groups different versions of the same product. A group must have the same product guid and only one version in the group needs to match to for the dependency to be met. If multiple version of the same product are required each version should have a unique group id.

                installs custom library from a specified directory. Usage:
                LBUtil -InstallCustomLibs -fromDir <dir> [-warn] [-stopServer]
                -fromDir         Directory containing the libraries to install

                Copies files from one directory to another under LogicBase shared. Usage:
                LBUtil -MoveFilesIntoPlatform -fromDir <dir> -searchString <logicbase*.dll> -dirUnderShared <logicbaselib> [-warn] [-stopServer]
                -fromDir         Source directory (from which files to be copied)
                -searchString    File mask, specifies which files to be copied
                -dirUnderShared  Destination directory (under Shared directory)
                -warn            Prompt to overwrite existing files
                -stopServer      Stop server before copying ans start it after

                -log <message> -level <level>
                level: {debug, error, fatal, info, warn}

                lbutil -publishToEnsembleForms <project path> -formName <form name>-description <description> -categoryName <category name> -virtualDir <virtual directory>-viewInWindow <true|false> -withChrome -isWebPart  -width <width> -height <height>

                lbutil -addExchangeConfiguration <Exchange Name> -owningConfigurationId <Owning Configuration Name> -isTemplateConfiguration-isExternalConfiguration -messageKeyGenerationStrategy <Guid | Sequence | TimeStamp> -autoSyncTables -cachingExchangeQueueName <"ExchangeName-QueueName"> -connectionString <Connection string to SQL Server database> -storeTypeMapping

                lbutil -server <nickname> -ipAddress <ipAddress | hostname> -addRole <role name> -isDefault <true | false> -portNumber <number>

                lbutil -setToolPreferences -debuggingWebServer <IIS | InternalWebServer>

                lbutil -smpcheckoutprj -prjVersion versionGuidOfProject -baseDir destinationForProject
         Optional parameters:
                -hostname hostname
                -session smpUserSessionId

                lbutil -deploysmprepoprj -prjVersion versionGuidOfProject
  Optional Pamaters
                -hostname hostname
                -session smpUserSessionId
                -virtDir virtualDirectoryName
                -resultfile filePath
         For Project Properties:
                -P:propertyname propertyvalue

                lbutil -smpdeploypkgprj -session smpUserSessionId -projectPath tempDirForUnpacking -resultfile tempFileForDeployResults -virtDir virtualDirectoryOfProject