Skip to content

Commit 7ff1b63

Browse files
authored
Merge pull request #103702 from kgremban/feb7-winrcinstalls
Update instructions for Windows offline and RC installs
2 parents d04c832 + b66c575 commit 7ff1b63

File tree

3 files changed

+49
-35
lines changed

3 files changed

+49
-35
lines changed

articles/iot-edge/how-to-configure-proxy-support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This article walks through the following four steps to configure and then manage
1717

1818
1. **Install the IoT Edge runtime on your device.**
1919

20-
The IoT Edge installation scripts pull packages and files from the internet, so your device needs to communicate through the proxy server to make those requests. For detailed steps, see the [Install the runtime through a proxy](#install-the-runtime-through-a-proxy) section of this article. For Windows devices, the installation script also provides an [Offline installation](how-to-install-iot-edge-windows.md#offline-installation) option.
20+
The IoT Edge installation scripts pull packages and files from the internet, so your device needs to communicate through the proxy server to make those requests. For detailed steps, see the [Install the runtime through a proxy](#install-the-runtime-through-a-proxy) section of this article. For Windows devices, the installation script also provides an [Offline installation](how-to-install-iot-edge-windows.md#offline-or-specific-version-installation) option.
2121

2222
This step is a one-time process performed on the IoT Edge device when you first set it up. The same connections are also required when you update the IoT Edge runtime.
2323

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

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -128,14 +128,14 @@ When you install and provision a device automatically, you can use additional pa
128128

129129
For more information about these installation options, continue reading this article or skip to learn about [All installation parameters](#all-installation-parameters).
130130

131-
## Offline installation
131+
## Offline or specific version installation
132132

133133
During installation two files are downloaded:
134134

135135
* Microsoft Azure IoT Edge cab, which contains the IoT Edge security daemon (iotedged), Moby container engine, and Moby CLI.
136-
* Visual C++ redistributable package (VC runtime) msi
136+
* Visual C++ redistributable package (VC runtime) MSI
137137

138-
You can download one or both of these files ahead of time to the device, then point the installation script at the directory that contains the files. The installer checks the 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. You can also use this feature to install a specific version of the components.
138+
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.
139139

140140
For the latest IoT Edge installation files along with previous versions, see [Azure IoT Edge releases](https://github.com/Azure/azure-iotedge/releases).
141141

@@ -146,7 +146,17 @@ To install with offline components, use the `-OfflineInstallationPath` parameter
146146
Deploy-IoTEdge -OfflineInstallationPath C:\Downloads\iotedgeoffline
147147
```
148148

149-
You can also use the offline installation path parameter with the Update-IoTEdge command, introduced later in this article.
149+
>[!NOTE]
150+
>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+
152+
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.
153+
154+
```powershell
155+
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
156+
Initialize-IoTEdge
157+
```
158+
159+
You can also use the offline installation path parameter with the Update-IoTEdge command.
150160

151161
## Verify successful installation
152162

@@ -200,29 +210,6 @@ The engine URI is listed in the output of the installation script, or you can fi
200210

201211
For more information about commands you can use to interact with containers and images running on your device, see [Docker command-line interfaces](https://docs.docker.com/engine/reference/commandline/docker/).
202212

203-
## Update an existing installation
204-
205-
If you've already installed the IoT Edge runtime on a device before and provisioned it with an identity from IoT Hub, then you can update the runtime without having to reenter your device information.
206-
207-
For more information, see [Update the IoT Edge security daemon and runtime](how-to-update-iot-edge.md).
208-
209-
This example shows an installation that points to an existing configuration file, and uses Windows containers:
210-
211-
```powershell
212-
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
213-
Update-IoTEdge
214-
```
215-
216-
When you update IoT Edge, you can use additional parameters to modify the update, including:
217-
218-
* Direct traffic to go through a proxy server, or
219-
* Point the installer to an offline directory
220-
* Restarting without a prompt if necessary
221-
222-
You can't declare an IoT Edge agent container image with script parameters because that information is already set in the configuration file from the previous installation. If you want to modify the agent container image, do so in the config.yaml file.
223-
224-
For more information about these update options, use the command `Get-Help Update-IoTEdge -full` or refer to [all installation parameters](#all-installation-parameters).
225-
226213
## Uninstall IoT Edge
227214

228215
If you want to remove the IoT Edge installation from your Windows device, use the following command from an administrative PowerShell window. This command removes the IoT Edge runtime, along with your existing configuration and the Moby engine data.

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

Lines changed: 34 additions & 7 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: 11/19/2019
8+
ms.date: 02/07/2020
99
ms.topic: conceptual
1010
ms.service: iot-edge
1111
services: iot-edge
@@ -27,14 +27,19 @@ Check the version of the security daemon running on your device by using the com
2727

2828
### Linux devices
2929

30-
On Linux x64 devices, use apt-get or your appropriate package manager to update the security daemon.
30+
On Linux x64 devices, use apt-get or your appropriate package manager to update the security daemon to the latest version.
3131

3232
```bash
3333
apt-get update
3434
apt-get install libiothsm iotedge
3535
```
3636

37-
On Linux ARM32 devices, use the steps in [Install Azure IoT Edge runtime on Linux (ARM32v7/armhf)](how-to-install-iot-edge-linux-arm.md) to install the latest version of the security daemon.
37+
If you want to update to a specific version of the security daemon, find the version you want to target from [IoT Edge releases](https://github.com/Azure/azure-iotedge/releases). In that version, locate the appropriate **libiothsm-std** and **iotedge** files for your device. For each file, right-click the file link and copy the link address. Use the link address to install the specific versions of those components:
38+
39+
```bash
40+
curl -L <libiothsm-std link> -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb
41+
curl -L <iotedge link> -o iotedge.deb && sudo dpkg -i ./iotedge.deb
42+
```
3843

3944
### Windows devices
4045

@@ -46,7 +51,16 @@ On Windows devices, use the PowerShell script to update the security daemon. The
4651

4752
Running the Update-IoTEdge command removes and updates the security daemon from your device, along with the two runtime container images. The config.yaml file is kept on the device, as well as data from the Moby container engine (if you're using Windows containers). Keeping the configuration information means that you don't have to provide the connection string or Device Provisioning Service information for your device again during the update process.
4853

49-
If you want to install a specific version of the security daemon, download the appropriate Microsoft-Azure-IoTEdge.cab file from [IoT Edge releases](https://github.com/Azure/azure-iotedge/releases). Then, use the `-OfflineInstallationPath` parameter to point to the file location. For more information, see [Offline installation](how-to-install-iot-edge-windows.md#offline-installation).
54+
If you want to update to a specific version of the security daemon, find the version you want to target from [IoT Edge releases](https://github.com/Azure/azure-iotedge/releases). In that version, download the **Microsoft-Azure-IoTEdge.cab** file. Then, use the `-OfflineInstallationPath` parameter to point to the local file location. For example:
55+
56+
```powershell
57+
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Update-IoTEdge -ContainerOs <Windows or Linux> -OfflineInstallationPath <absolute path to directory>
58+
```
59+
60+
>[!NOTE]
61+
>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.
62+
63+
For more information about update options, use the command `Get-Help Update-IoTEdge -full` or refer to [all installation parameters](how-to-install-iot-edge-windows.md#all-installation-parameters).
5064

5165
## Update the runtime containers
5266

@@ -103,14 +117,27 @@ If you use specific tags in your deployment (for example, mcr.microsoft.com/azur
103117

104118
## Update to a release candidate version
105119

106-
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 the testing and validation processes required for a stable release. If you want to test a new feature early, you can install the RC version and provide feedback through GitHub.
120+
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.
107121

108122
Release candidate versions follow the same numbering convention of releases, but have **-rc** plus an incremental number appended to the end. You can see the release candidates in the same list of [Azure IoT Edge releases](https://github.com/Azure/azure-iotedge/releases) as the stable versions. For example, find **1.0.7-rc1** and **1.0.7-rc2**, the two release candidates that came before **1.0.7**. You can also see that RC versions are marked with **pre-release** labels.
109123

110-
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. Depending on your IoT Edge device operating system, use the following sections to update IoT Edge to a specific version:
124+
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**.
125+
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+
```
134+
135+
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.
136+
137+
If you're installing IoT Edge on a new machine, use the following links to learn how to install a specific version depending on your device operating system:
111138

112139
* [Linux](how-to-install-iot-edge-linux.md#install-a-specific-runtime-version)
113-
* [Windows](how-to-install-iot-edge-windows.md#offline-installation)
140+
* [Windows](how-to-install-iot-edge-windows.md#offline-or-specific-version-installation)
114141

115142
## Next steps
116143

0 commit comments

Comments
 (0)