Deployment
The Deployment service handles the installation of software packages on the Edge device. When using the hopit Platform a private App Store can be used to store and download the packages. HEAP Engineering GmbH offers additionally an App Store, where all the packages used in the hopit Platform are hosted. The most important are:
hopit.edge: the hopit Edge service- Windows updates, which are approved by Beckhoff Automation GmbH
windows-10-iot-enterprise-2019-ltsc-cumulative-updatewindows-10-iot-enterprise-2019-ltsc-cumulative-update-for-netwindows-10-iot-enterprise-2019-ltsc-servicing-stack-update
 twincat-xar: the Beckhoff TwinCAT Runtimebeckhoff-plc-installer: helper software to install TwinCAT PLC packages- Other packages for a custom GitLab CI/CD runner set-up.
 
For information to generate custom packages of TwinCAT projects, please see the DevOps section.
App Store structure​
The hopit Edge service connects to a private App Store. This App Store automatically proxies package requests to the HEAP App Store if the package is not found.
If the hopit Portal service is not used, the Edge device can use the HEAP App Store directly.
Configuration​
Corresponding Edge configuration and Device Twin definition for the Deployment settings:
- Edge-UI Connection
 - Edge-UI Packages
 - Device Twin
 
The Deployment service can be enabled or disabled with the Enabled property. If a custom App Store is used, the connection details can be configured here. If the Registry properties are empty, the HEAP App Store is used.

To install new Packages, enter the Package Name and optionally the Desired Version. If no version is specified, the latest available stable version is used (a version is stable, if it has no text in the version tag; stable: 1.0.0, pre-release: 1.0.0-beta). With the Action buttons, you can update, retry, or delete a package.

The Deployment service can be enabled or disabled with the Enabled property. If a custom App Store is used, the connection details can be configured here. If the Registry properties are null, the HEAP App Store is used.
The package can be controlled via the Status property. It can be set to:
- INSTALL
 - RETRY
 - UPGRADE
 - REMOVE
 
The Deployment service the reports back the Status with:
- INSTALLED
 - FAILED
 - UPGRADING
 - REMOVING
 - REBOOTING
 
To upgrade to the latest stable version, set the DesiredVersion to an empty string ("") and Status to UPGRADE.
{
  "Deployment": {
      "RegistryUrl": "https://repo.<server>.hopit.at/repository/nuget-group/",
      "RegistryUser": "hopit-client",
      "RegistryPassword": "***",
      "Packages": {
          "hopit.edge": {
              "InstalledVersion": "1.0.0",
              "DesiredVersion": "1.0.0",
              "Status": "INSTALLED"
          },
          "plc-application": {
              "InstalledVersion": "2.1.4",
              "DesiredVersion": "2.1.4",
              "Status": "INSTALLED"
          },
          "microsoft-edge": {
              "InstalledVersion": "95.0.1020.30",
              "DesiredVersion": "",
              "Status": "INSTALLED"
          }
      },
      "Enabled": true
  },
},
}