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.
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. 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
.