# 1.1 Installation

These are the prerequisites for installing Karamba3D:

* Rhino 6.0 (PC only), Rhino 7.0 or Rhino 8.0.
* Grasshopper
* Windows 10 or above / macOS 12 or above

In case you do not possess [Rhino](https://www.rhino3d.com/), download a fully featured, free trial version.

## Installation via Installer Program

{% embed url="<https://youtu.be/eWdkANwKIHU>" %}

[Download ](https://www.karamba3d.com/download/)one of the installers and double-click on the msi-file.&#x20;

The installation procedure lets you set the physical units used for calculation. By default Karamba3D assumes input to be in SI units (e.g. meters for point coordinates). You can switch to Imperial units either on installation or later via the Grasshopper/Karamba3D menu under "Physical Units". When using Imperial Units coordinates will be interpreted to be in “feet”, force in “kips”, material strength in “ksi” and so on.

For [Rhino8](https://www.rhino3d.com/en/docs/guides/netcore/) there exist two installer files: one for .NETFramework and on for .NETCore. By default Rhino 8 runs on .NETCore. In orer to run old plug-ins, Rhino 8 can be switched to .NETFramework mode with the command 'SetDotNetRuntime'. In these situations the .NETFramework version of Karamba3D can be used. &#x20;

Upon successful installation you should see a Karamba3D tab when you open Grasshopper in Rhino. Additionally, as a default setting a shortcut to the installation folder will be placed on your desktop. Double-click on the Karamba3D desktop-icon will get you to the standard installation directory which is in the Plug-ins-folder of your Rhino installation directory.&#x20;

If Karamba3D does not show up, please refer to our [troubleshooting ](https://manual.karamba3d.com/troubleshooting/4.3.-miscellaneous-problems/4.3.1-installation-issues)guide.

Karamba3D license can be activated as cloud or network licenses. Standalone licenses are only valid for workshops or universities.

{% content-ref url="1.2-licenses/1.2.1-cloud-licenses" %}
[1.2.1-cloud-licenses](https://manual.karamba3d.com/1-introduction/1.2-licenses/1.2.1-cloud-licenses)
{% endcontent-ref %}

{% content-ref url="1.2-licenses/1.2.4-standalone-licenses" %}
[1.2.4-standalone-licenses](https://manual.karamba3d.com/1-introduction/1.2-licenses/1.2.4-standalone-licenses)
{% endcontent-ref %}

{% content-ref url="1.2-licenses/1.2.2-network-licenses" %}
[1.2.2-network-licenses](https://manual.karamba3d.com/1-introduction/1.2-licenses/1.2.2-network-licenses)
{% endcontent-ref %}

## Installation via the YAK Package Manager

{% hint style="danger" %}
Karamba3D can only be installed via msi-file **or** yak. If both are installed at the same time, the 'Karamba3DGetLicense'-command will not work.\
If you happen to have installed both: uninstall them and remove the Karamba3DLicense-plugin in Rhino via Options/Plug-ins, unhooking 'Enabled' and restarting Rhino.
{% endhint %}

{% embed url="<https://www.youtube.com/watch?feature=youtu.be&v=-lj_u15k420>" %}

YAK is the Package Manager for Rhino. It can automatically download and install plug-ins required for a specific Grasshopper definition. Thus one possibility of installing Karamba3D is to open a GH definition with some Karamba3D components in it. Alternatively the package manager can be started in Rhino by typing 'PackageManager' in the command window. Make sure to activate 'Include pre-releases' in the window that pops-up. Under YAK Karamba3D comes as 'karambaGH' which installs the FULL version of Karamba3D.

The Rhino8 Package Manager installs the .NETCore version of Karamba3D under Windows to the folder %appdata%\AppData\Roaming\McNeel\Rhinoceros\packages\8.0 - which is different from where it is placed by the msi-installer.&#x20;

When starting Grasshopper for the first time after a YAK-installation of Karamba3D, a window with copyright notice and terms and conditions will appear.&#x20;

Copyright notice and license agreement can be found on Windows under C:\ProgramData\Karamba3D\\.

{% hint style="info" %}
The path to Karamba3D depends on whether installation was done via the msi-installer or YAK. This means that scripts which make use of the Karamba3D API may be broken. In case of GH C# scripting components one needs to adapt the path via "Manage Assemblies..." in the components context menu.
{% endhint %}

{% hint style="warning" %}
To run Karamba3D in Rhino8 for Mac, make sure to enable [Rosetta](https://manual.karamba3d.com/troubleshooting/4.3.-miscellaneous-problems/4.3.1-installation-issues#karamba3d-for-rhino8-mac-does-not-seem-to-show-up).
{% endhint %}

## Rhino6, Rhino7 and Rhino8 in parallel

You can install the Rhino 6, 7 and 8 versions of Karamba3D simultaneously by installing one with the msi installer, and the other with the Package Manager.

## Silent Installation

To install Karamba3D on remote machines without triggering the installer’s graphical user interface, you can use the `msiexec.exe` tool from the Windows Command Prompt. First, navigate to the directory containing the Karamba3D installer, then run a command like the following in a single line:

`msiexec.exe /i karamba3d_2_0_0_RH6.msi /passive ADDLOCAL=DLLs,LicensePlugin,SIUnits,LicensePublicKey,Tables,Examples`

This installs Karamba3D with SI units (`SIUnits`), cross-section and material tables (`Tables`), and example files (`Examples`).

**License Setup Without GUI**

A static license can be provided without using a graphical interface. Simply rename your license file to `licensePRO.lic` and place it in the `License` folder under: ...\Rhino\Plug-ins\Karamba.

**Using msiexec on Windows together with Karamba3D:**

The basic syntax for *msiexec* is:

`msiexec /option <required parameter> [optional parameter]`

**Install Options for msiexec:**

To install a package, you can use the */i* option followed by the path to the package:

`msiexec /i "C:\path\to\karamba.msi"`

Other install options include:

* */a*: Administrative installation.
* */ju*: Advertise the product to the current user.
* */jm*: Advertise the product to all users.
* */x*: Uninstall the package

Installation Options via `ADDLOCAL`

You can customize the installation by specifying components using the `ADDLOCAL` parameter:

* `DLLs`: Installs the FEM kernel DLLs.
* `LicensePlugin`: Adds the Rhino plugin used for license activation.
* `SIUnit` or `IMPUnits`: Sets the default unit system (modifiable later in Grasshopper via the Karamba3D menu).
* `LicensePublicKey`: Installs the public key required to validate the license.
* `Tables`: Installs cross-section and material tables.
* `Examples`: Installs sample Grasshopper definitions.

## **Automate installation**

The following files and folder will be copied to your machine during installation:

* “karamba.dll” and “libiomp5md.dll” to C:\Windows.
* “karambaCommon.dll”, “karamba.gha” and the Karamba-folder to the “Plug-ins”-folder of Rhino. The Karamba3D-folder contains material- and cross section libraries, examples, the karamba.ini- file and the license-folder. This is typically *C:\Program Files\Rhinoceros 6\Plug-ins* or *C:\Program Files\Rhino 6\Plug-ins.*
* If not already present the C++ runtime libraries of Visual Studio 2019 will be copied to your machine.

Karamba3D is installed for all users by default. In order to get Karamba3D running without the installer simply copy the above files and the Karamba3D-folder from one machine to the next.\
Unless deselected, the installer places a Karamba3D-icon on the desktop. Double-click on it to open the Karamba3D-folder.
