> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuro-tech.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Install and update software packages

> Verify, install, distribute, update, and remove signed Neuron packages

Neuron packages distribute web content, scripts, schemas, configuration, and .NET assemblies. Content-only packages can normally be applied without a runtime restart; assembly packages require a restart so the runtime can load the new code.

## Package artifacts

| Artifact         | Purpose                                                     |
| ---------------- | ----------------------------------------------------------- |
| `.package`       | Encrypted package payload and manifest-listed files         |
| `.signature`     | Provider signature over the package                         |
| Installation key | Provider public key plus the package decryption key         |
| `.manifest`      | Build-time list of included files and installation metadata |

<Warning>
  An installation key includes secret key material. Transfer and store it as a credential. The signature proves the provider; it does not make an untrusted package safe to execute.
</Warning>

## Install from the administration UI

1. Open the Neuron's **Software → Packages** page.
2. Upload the `.package` and matching `.signature` files, or choose an available package distributed by the parent Neuron.
3. Enter the installation key received through a trusted channel.
4. Review the provider identity, package name, and version.
5. Install the package.
6. If it contains assemblies, wait for the controlled restart.
7. Inspect the event and exception logs, then exercise the package's health check.

Uploading a package to a Neuron can propagate it to child Neurons in the configured software-distribution tree. Availability does not necessarily mean automatic installation.

## Update a package

Upload the new signed version. An operator can then approve the update or use chat administration:

```text theme={null}
upgrade PACKAGE_NAME.package
```

The `nobackup` form skips the pre-upgrade backup:

```text theme={null}
upgrade nobackup PACKAGE_NAME.package
```

Use it only when another verified recovery point exists.

## Command-line installation

For offline or automated installation, stop the Neuron and run the `Waher.Utility.Install` version that matches the target runtime:

```powershell theme={null}
Waher.Utility.Install.exe `
  -d "<PROGRAM_DATA>" `
  -s "<NEURON_SERVICE_EXECUTABLE>" `
  -p "<PACKAGE_FILE>" `
  -k "<DECRYPTION_KEY>" `
  -v
```

Do not guess program-data or executable paths; multiple Neuron instances can be installed on one host.

## Verify and roll back

* Confirm the package version in the Installed list.
* Confirm required web resources and modules registered successfully.
* Search the event log by package/module name.
* Run one functional request through the new capability.
* To roll back, use the package's supported uninstall or install the previously approved version. Restoring arbitrary files by hand can leave persistence migrations or module state inconsistent.

To create packages, see [Building packages](/neuron-development/building-packages).
