What Can You Distribute?

Some STEP Tools® software licenses permit distributing fully-linked applications built with the programming libraries. If your license allows this, you may need to include supporting DLLs and runtime data as discussed below.

Redistributing DLL Files

If permitted by the "USE IN PRODUCTS" clause of your STEP Tools® software license, you may redistribute the DLL files found in the "dlls" subdirectory of the STEP Tools® software install directory. You are only permitted to do so in support of a fully linked executable for direct use by a customer. You are not permitted to redistribute them to support an SDK, DLL or other indirect application used for third party development.

STEP Tools® software ships with many versions of each DLL for different compiler versions. You should only include those DLLs that your application actually requires. Use the Microsoft Dependency Walker to see what DLLs your application is actually loading.

Redistributing ST-Runtime

Applications built with STEP Tools® software libraries require EXPRESS data dictionary information and other runtime support. When using the STEP Programming API or IFC Programming API, this runtime support is compiled into the library.

In other cases, you should include the ST-Runtime package to provide compiled schema files for your applications. You are allowed to ship ST-Runtime with applications distributed according to the terms of your STEP Tools® software license. This package contains compiled schema packages for published schemas.

We provide ST-Runtime as a Windows Installer, a merge module, and a zip file. These files are in redist directory under the STEP Tools® software installation directory. The latest version can be found on our website.

redist/struntime_20_0.msi
redist/struntime_20_0.msm
redist/struntime_20_0.zip

The MSI/MSM installers will set a registry key so that Windows applications can find the support data. For MacOS, Linux, or Unix, unpack the zipped version and set the $ROSE_RUNTIME environment variable to the location of the struntime_<ver> directory. For example:

> cd /path/to/extract
> unzip $ROSE/struntime_20_0.zip

> setenv ROSE_RUNTIME /path/to/extract/struntime_20