Structure of a Distribution Package
A distribution package is used to pass around and deploy distributions to RobotStudio that do not require a Microsoft Installer. Examples of packages are RobotWare add-ins and RobotStudio add-ins. A Distribution Package must have a manifest file manifest.xml in its root directory. The manifest file must contain the title of the distribution.
The Distribution Package format is based on the folder structure. Developer need not use a tool for creating the same.
Specification for files and folders
All distribution packages must conform to the structure specified in the following table. Elements without file extension represents a directory.
Directory | Content | Remarks |
---|---|---|
<RootPackageDirectory> | manifest.xml (0…1) Thumbnail.png (0…1) RobotPackages/ (0…1) RobotStudio/ (0…1) Documentation/ (0…1) RAPID/ (0…1) |
Must have a globally unique name. The name must be prefixed with company/organization name to ensure uniqueness, and be suffixed with the package version. Specifically it should be in the <orgname>.<packagename>-<version> format where <version> must contain one or more numbers separated by '.'. Recommended size for Thumbnail.png is 100x100 – 200x200 pixels. |
RobotPackages | <RPKsWithManifest>/ (0…n) | Contains robot package folders. |
<RPKsWithManifests> | <RPKFile>.rpk (1…n) <RPKManifestFiles> |
Contains a set of related RPKs with a set of manifest files (usually one, with the exception of RobotWare) |
RobotStudio/Add-In | <AddInName>.rsaddin (Add-In files) | RobotStudio add-in, including manifest file (.rsaddin), assemblies and other files as required by the add-in. This is an open content model, that is, author can customize content. See the .rsaddin specification in the RobotStudio API documentation. A distribution package can only contain at most one add-in. This is to avoid version confusion between add-in and package. Add-Ins and code-behind inside a smart component can carry an Authenticode signature. |
RobotStudio/LibraryComponents | <FileName>.rslib (0..n) LibraryTypes.xml (0..1) ControllerTemplates.xml (0..1) MechunitLibraryMap.xml (0..1) |
RobotStudio library components such as mechanism models and smart components. It can also contain xml files that determine how the components are presented and how mechanism models relate to a robot controller, see below. |
Documentation | (files) | Documentation belongs to the Distribution Package as a whole. This is an open content model, that is, author can customize the content. |
Tip
Text within < > are user-defined names, other names are literal.
Location of installed packages
Per machine: %CommonAppData%\ABB\DistributionPackages
Per user: %LocalAppData%\ABB\DistributionPackages
Package installers can use the following locations for the installed packages.
Important
You can specify an additional search location in the HKCU/Software/ABB/Robotics IT/DistributionPackages registry key. The location should be added as the default value of the key in REG_SZ format.
LibraryComponents contents
Besides library files (.rslib), a package can contain the following files in the RobotStudio/LibraryComponents folder.
Each xml file must adhere to the corresponding schema which is found in the SDK installation under the Schemas
folder.
- LibraryTypes.xml
Specifies how the library components are organized and presented in the RobotStudio menu system.
The format is specified and documented inLibraryTypes.xsd
.
If this file is not included, the components are added to a menu under Import Library. - ControllerTemplates.xml
Contains templates that specify RobotWare features required build a virtual controller for a robot or other mechanism model. Templates are used for creating a controller from layout, creating a solution with a controller or adding a new controller to a station.
The format is specified and documented inControllerTemplates.xsd
. - MechunitLibraryMap.xml
Specifies the RobotStudio model to load for a mechanical unit in a controller. Used for both virtual controllers in RobotStudio stations and real controllers in Online Monitor.
The format is specified and documented inMechunitLibraryMap.xsd
.