# 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.