win_hotfix – Install and uninstalls Windows hotfixes — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# win_hotfix – Install and uninstalls Windows hotfixes

New in version 2.4.

- Synopsis
- Parameters
- Notes
- See Also
- Examples
- Return Values
- Status

## Synopsis

- Install, uninstall a Windows hotfix.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
hotfix_identifier string |  | The name of the hotfix as shown in DISM, see examples for details. This or `hotfix_kb` MUST be set when `state=absent`. If `state=present` then the hotfix at `source` will be validated against this value, if it does not match an error will occur. You can get the identifier by running 'Get-WindowsPackage -Online -PackagePath path-to-cab-in-msu' after expanding the msu file.
hotfix_kb string |  | The name of the KB the hotfix relates to, see examples for details. This or `hotfix_identifier` MUST be set when `state=absent`. If `state=present` then the hotfix at `source` will be validated against this value, if it does not match an error will occur. Because DISM uses the identifier as a key and doesn't refer to a KB in all cases it is recommended to use `hotfix_identifier` instead.
source path |  | The path to the downloaded hotfix .msu file. This MUST be set if `state=present` and MUST be a .msu hotfix file.
state string | Choices: absent present ← | Whether to install or uninstall the hotfix. When `present`, `source` MUST be set. When `absent`, `hotfix_identifier` or `hotfix_kb` MUST be set.

## Notes

Note

- This must be run on a host that has the DISM powershell module installed and a Powershell version >= 4.
- This module is installed by default on Windows 8 and Server 2012 and newer.
- You can manually install this module on Windows 7 and Server 2008 R2 by installing the Windows ADK https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit, see examples to see how to do it with chocolatey.
- You can download hotfixes from https://www.catalog.update.microsoft.com/Home.aspx.

## See Also

See also

win_package – Installs/uninstalls an installable package
  The official documentation on the win_package module.
win_updates – Download and install Windows updates
  The official documentation on the win_updates module.

## Examples

    - name: Install Windows ADK with DISM for Server 2008 R2
      win_chocolatey:
        name: windows-adk
        version: 8.100.26866.0
        state: present
        install_args: /features OptionId.DeploymentTools

    - name: Install hotfix without validating the KB and Identifier
      win_hotfix:
        source: C:\temp\windows8.1-kb3172729-x64_e8003822a7ef4705cbb65623b72fd3cec73fe222.msu
        state: present
      register: hotfix_install

    - win_reboot:
      when: hotfix_install.reboot_required

    - name: Install hotfix validating KB
      win_hotfix:
        hotfix_kb: KB3172729
        source: C:\temp\windows8.1-kb3172729-x64_e8003822a7ef4705cbb65623b72fd3cec73fe222.msu
        state: present
      register: hotfix_install

    - win_reboot:
      when: hotfix_install.reboot_required

    - name: Install hotfix validating Identifier
      win_hotfix:
        hotfix_identifier: Package_for_KB3172729~31bf3856ad364e35~amd64~~6.3.1.0
        source: C:\temp\windows8.1-kb3172729-x64_e8003822a7ef4705cbb65623b72fd3cec73fe222.msu
        state: present
      register: hotfix_install

    - win_reboot:
      when: hotfix_install.reboot_required

    - name: Uninstall hotfix with Identifier
      win_hotfix:
        hotfix_identifier: Package_for_KB3172729~31bf3856ad364e35~amd64~~6.3.1.0
        state: absent
      register: hotfix_uninstall

    - win_reboot:
      when: hotfix_uninstall.reboot_required

    - name: Uninstall hotfix with KB (not recommended)
      win_hotfix:
        hotfix_kb: KB3172729
        state: absent
      register: hotfix_uninstall

    - win_reboot:
      when: hotfix_uninstall.reboot_required

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
identifier string | success | The DISM identifier for the hotfix. Sample: Package_for_KB3172729~31bf3856ad364e35~amd64~~6.3.1.0
kb string | success | The KB the hotfix relates to. Sample: KB3172729
reboot_required string | success | Whether a reboot is required for the install or uninstall to finalise. Sample: True

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Jordan Borean (@jborean93)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.