Skip to content

Commit ee62d15

Browse files
authored
Merge pull request #110772 from kgremban/apr7-missinginstallinfo
Clarify offline/specific version installation
2 parents 253d5f7 + 9310529 commit ee62d15

File tree

2 files changed

+62
-28
lines changed

2 files changed

+62
-28
lines changed

articles/iot-edge/how-to-install-iot-edge-windows.md

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.reviewer: veyalla
88
ms.service: iot-edge
99
services: iot-edge
1010
ms.topic: conceptual
11-
ms.date: 03/12/2020
11+
ms.date: 04/09/2020
1212
ms.author: kgremban
1313
---
1414
# Install the Azure IoT Edge runtime on Windows
@@ -134,33 +134,45 @@ For more information about these installation options, continue reading this art
134134

135135
## Offline or specific version installation
136136

137-
During installation two files are downloaded:
137+
During installation three files are downloaded:
138138

139-
* Microsoft Azure IoT Edge cab, which contains the IoT Edge security daemon (iotedged), Moby container engine, and Moby CLI.
140-
* Visual C++ redistributable package (VC runtime) MSI
139+
* A PowerShell script, which contains the installation instructions
140+
* Microsoft Azure IoT Edge cab, which contains the IoT Edge security daemon (iotedged), Moby container engine, and Moby CLI
141+
* Visual C++ redistributable package (VC runtime) installer
141142

142-
If your device will be offline during installation, or if you want to install a specific version of IoT Edge, you can download one or both of these files ahead of time to the device. When it's time to install, point the installation script at the directory that contains the downloaded files. The installer checks that directory first, and then only downloads components that aren't found. If all the files are available offline, you can install with no internet connection.
143+
If your device will be offline during installation, or if you want to install a specific version of IoT Edge, you can download these files ahead of time to the device. When it's time to install, point the installation script at the directory that contains the downloaded files. The installer checks that directory first, and then only downloads components that aren't found. If all the files are available offline, you can install with no internet connection.
143144

144-
For the latest IoT Edge installation files along with previous versions, see [Azure IoT Edge releases](https://github.com/Azure/azure-iotedge/releases).
145+
You can also use the offline installation path parameter to update IoT Edge. For more information, see [Update the IoT Edge security daemon and runtime](how-to-update-iot-edge.md).
145146

146-
To install with offline components, use the `-OfflineInstallationPath` parameter as part of the Deploy-IoTEdge command and provide the absolute path to the file directory. For example,
147+
1. For the latest IoT Edge installation files along with previous versions, see [Azure IoT Edge releases](https://github.com/Azure/azure-iotedge/releases).
147148

148-
```powershell
149-
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
150-
Deploy-IoTEdge -OfflineInstallationPath C:\Downloads\iotedgeoffline
151-
```
149+
2. Find the version that you want to install, and download the following files from the **Assets** section of the release notes onto your IoT device:
152150

153-
>[!NOTE]
154-
>The `-OfflineInstallationPath` parameter looks for a file named **Microsoft-Azure-IoTEdge.cab** in the directory provided. Starting with IoT Edge version 1.0.9-rc4, there are two .cab files available to use, one for AMD64 devices and one for ARM32. Download the correct file for your device, then rename the file to remove the architecture suffix.
151+
* IoTEdgeSecurityDaemon.ps1
152+
* Microsoft-Azure-IoTEdge-amd64.cab from releases 1.0.9 or newer, or Microsoft-Azure-IoTEdge.cab from releases 1.0.8 and older.
155153

156-
The `Deploy-IoTEdge` command installs the IoT Edge components, and then you need to continue to the `Initialize-IoTEdge` command to provision the device with its IoT Hub device ID and connection. Either run the command directly and provide a connection string from IoT Hub, or use one of the links in the previous section to learn how to automatically provision devices with Device Provisioning Service.
154+
Microsoft-Azure-IotEdge-arm32.cab is also available beginning in 1.0.9 for testing purposes only. IoT Edge is not currently supported on Windows ARM32 devices.
157155

158-
```powershell
159-
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
160-
Initialize-IoTEdge
161-
```
156+
It's important to use the PowerShell script from the same release as the .cab file that you use because the functionality changes to support the features in each release.
157+
158+
3. If the .cab file you downloaded has an architecture suffix on it, rename the file to just **Microsoft-Azure-IoTEdge.cab**.
159+
160+
4. Optionally, download an installer for Visual C++ redistributable. For example, the PowerShell script uses this version: [vc_redist.x64.exe](https://download.microsoft.com/download/0/6/4/064F84EA-D1DB-4EAA-9A5C-CC2F0FF6A638/vc_redist.x64.exe). Save the installer in the same folder on your IoT device as the IoT Edge files.
161+
162+
5. To install with offline components, [dot source](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-7#script-scope-and-dot-sourcing) the local copy of the PowerShell script. Then, use the `-OfflineInstallationPath` parameter as part of the `Deploy-IoTEdge` command and provide the absolute path to the file directory. For example,
163+
164+
```powershell
165+
. <path>\IoTEdgeSecurityDaemon.ps1
166+
Deploy-IoTEdge -OfflineInstallationPath <path>
167+
```
168+
169+
The deployment command will use any components found in the local file directory provided. If either the .cab file or the Visual C++ installer is missing, it will attempt to download them.
170+
171+
6. Run the `Initialize-IoTEdge` command to provision your device with an identity in IoT Hub. Either provide a device connection string for manual provisioning, or choose one of the methods described in the previous [automatically provision](#option-2-install-and-automatically-provision) section.
172+
173+
If your device restarted after running `Deploy-IoTEdge`, dot source the PowerShell script again before running `Initialize-IoTEdge`.
162174

163-
You can also use the offline installation path parameter with the Update-IoTEdge command.
175+
For more information about the offline installation option, skip ahead to learn about [all installation parameters](#all-installation-parameters).
164176

165177
## Verify successful installation
166178

articles/iot-edge/how-to-update-iot-edge.md

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ keywords:
55
author: kgremban
66
manager: philmea
77
ms.author: kgremban
8-
ms.date: 02/07/2020
8+
ms.date: 04/08/2020
99
ms.topic: conceptual
1010
ms.service: iot-edge
1111
services: iot-edge
@@ -115,6 +115,35 @@ If you use specific tags in your deployment (for example, mcr.microsoft.com/azur
115115

116116
1. Select **Review + create**, review the deployment, and select **Create**.
117117

118+
## Update offline or to a specific version
119+
120+
If you want to update a device offline, or update to a specific version of IoT Edge rather than the most recent version, you can do so with the `-OfflineInstallationPath` parameter.
121+
122+
Two components are used to update an IoT Edge device:
123+
124+
* A PowerShell script, which contains the installation instructions
125+
* Microsoft Azure IoT Edge cab, which contains the IoT Edge security daemon (iotedged), Moby container engine, and Moby CLI
126+
127+
1. For the latest IoT Edge installation files along with previous versions, see [Azure IoT Edge releases](https://github.com/Azure/azure-iotedge/releases).
128+
129+
2. Find the version that you want to install, and download the following files from the **Assets** section of the release notes onto your IoT device:
130+
131+
* IoTEdgeSecurityDaemon.ps1
132+
* Microsoft-Azure-IoTEdge-amd64.cab from releases 1.0.9 or newer, or Microsoft-Azure-IoTEdge.cab from releases 1.0.8 and older.
133+
134+
Microsoft-Azure-IotEdge-arm32.cab is also available beginning in 1.0.9 for testing purposes only. IoT Edge is not currently supported on Windows ARM32 devices.
135+
136+
It's important to use the PowerShell script from the same release as the .cab file that you use because the functionality changes to support the features in each release.
137+
138+
3. If the .cab file you downloaded has an architecture suffix on it, rename the file to just **Microsoft-Azure-IoTEdge.cab**.
139+
140+
4. To update with offline components, [dot source](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-7#script-scope-and-dot-sourcing) the local copy of the PowerShell script. Then, use the `-OfflineInstallationPath` parameter as part of the `Update-IoTEdge` command and provide the absolute path to the file directory. For example,
141+
142+
```powershell
143+
. <path>\IoTEdgeSecurityDaemon.ps1
144+
Update-IoTEdge -OfflineInstallationPath <path>
145+
```
146+
118147
## Update to a release candidate version
119148

120149
Azure IoT Edge regularly releases new versions of the IoT Edge service. Before each stable release, there is one or more release candidate (RC) versions. RC versions include all the planned features for the release, but are still going through testing and validation. If you want to test a new feature early, you can install an RC version and provide feedback through GitHub.
@@ -123,14 +152,7 @@ Release candidate versions follow the same numbering convention of releases, but
123152

124153
The IoT Edge agent and hub modules have RC versions that are tagged with the same convention. For example, **mcr.microsoft.com/azureiotedge-hub:1.0.7-rc2**.
125154

126-
As previews, release candidate versions aren't included as the latest version that the regular installers target. Instead, you need to manually target the assets for the RC version that you want to test. For the most part, installing or updating to an RC version is the same as targeting any other specific version of IoT Edge except for one difference for Windows devices.
127-
128-
In a release candidate, the PowerShell script that lets you install and manage the IoT Edge security daemon on a Windows device may have different functionality than the latest generally available version. In addition to downloading the IoT Edge .cab file for the RC, also download the **IotEdgeSecurityDaemon.ps1** script. Use [dot sourcing](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_scripts?view=powershell-7#script-scope-and-dot-sourcing) to run the downloaded script in the current source. For example:
129-
130-
```powershell
131-
. <path>\IoTEdgeSecurityDaemon.ps1
132-
Update-IoTEdge -OfflineInstallationPath <path>
133-
```
155+
As previews, release candidate versions aren't included as the latest version that the regular installers target. Instead, you need to manually target the assets for the RC version that you want to test. For the most part, installing or updating to an RC version is the same as targeting any other specific version of IoT Edge.
134156

135157
Use the sections in this article to learn how to update an IoT Edge device to a specific version of the security daemon or runtime modules.
136158

0 commit comments

Comments
 (0)