### Method

# Fwupd Client install_release_async

since: 2.0.0

#### Declaration [src]

    void
    fwupd_client_install_release_async (
      FwupdClient* self,
      FwupdDevice* device,
      FwupdRelease* release,
      FwupdInstallFlags install_flags,
      FwupdClientDownloadFlags download_flags,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer callback_data
    )

#### Description [src]

Installs a new release on a device, downloading the firmware if required.

NOTE: This method is thread-safe, but progress signals will be emitted in the global default main context, if not explicitly set with `fwupd_client_set_main_context()`.

Available since: 2.0.0

This method completes asynchronously. Use `fwupd_client_install_release_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`device`

  Type: `FwupdDevice`

  A device.

  The data is owned by the caller of the method.

`release`

  Type: `FwupdRelease`

  A release.

  The data is owned by the caller of the method.

`install_flags`

  Type: `FwupdInstallFlags`

  Install flags, e.g. `FWUPD_INSTALL_FLAG_ALLOW_REINSTALL`.

`download_flags`

  Type: `FwupdClientDownloadFlags`

  Download flags, e.g. `FWUPD_CLIENT_DOWNLOAD_FLAG_ONLY_P2P`.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`callback`

  Type: `GAsyncReadyCallback`

  The function to run on completion.

  The argument can be `NULL`.

`callback_data`

  Type: `gpointer`

  The data to pass to `callback`.

  The argument can be `NULL`.
  The data is owned by the caller of the method.