rgl / packer-plugin-windows-update

Packer plugin for installing Windows updates
Mozilla Public License 2.0
299 stars 71 forks source link

Win2022 - "Optional quality update available" #111

Open username-is-already-taken2 opened 2 years ago

username-is-already-taken2 commented 2 years ago

Hi there

Firstly, Thanks very much for this plugin. I'm using it for the first time as I look to build out a Windows 2022 a image.

I wondered if its possible to also include these updates?

Optional_updates

Within my build config I call the plugin a few times as it works through the updates, the last time I call the plugin it reports that there is No Windows updates found so I wondered if these are treated differently or out of scope?

Thanks very much for your help

Gary

rgl commented 2 years ago

Did you read and follow the Search Criteria, Filters and Update Limit section on the README?

For example, to install everything you can use filters = ["include:$true"].

GertVanderstukken commented 2 years ago

Hello all,

I have the same "issue" on Windows 2022 image

My settings are:

  provisioner "windows-update" {
    search_criteria = "IsInstalled=0"
    filters = [
      "include:$true",
    ]
  }
rgl commented 2 years ago

Maybe set a search_criteria that explicitly searches for optional updates, have a look at the docs at https://docs.microsoft.com/en-us/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search

GertVanderstukken commented 2 years ago

Thanks for the (fast) input. I tried some options, but now I found this article: https://docs.microsoft.com/en-us/answers/questions/412149/wuapilibiupdatesearcher-not-returning-patches-list.html

it mentions: "IsInstalled = 0 And DeploymentAction=*"

I'm running an install now and it seems to include the patch with these settings:

  provisioner "windows-update" {
    search_criteria = "IsInstalled = 0 And DeploymentAction=*"
    filters = [
      "include:$true",
    ]
  }

I have to leave now, but I will come back on this this evening and let you know if it is all OK now.

Thanks!

GertVanderstukken commented 2 years ago

OK, it's working. However, it seems best not to install the optional updates at the same time. I run it like this:

  # All "Normal" Updates
  provisioner "windows-update" {
    search_criteria = "IsInstalled = 0"
    filters = [
      "include:$true",
    ]
  }

  provisioner "windows-restart" {
    pause_before = "1m"
    restart_timeout = "30m"
  }

  # This run installs Optional updates => best run seperately 
  provisioner "windows-update" {
    pause_before = "1m"
    search_criteria = "IsInstalled = 0 And DeploymentAction=*"
    filters = [
      "include:$true",
    ]
  }

Hopefully this will one day help somebody. Enjoy and thanks for the great tool!