def __virtual__():
    """
    Only works on Windows systems with PyWin32
    """
    if not salt.utils.platform.is_windows():
        return False, "WUA: Only available on Windows systems"

    if not HAS_PYWIN32:
        return False, "WUA: Requires PyWin32 libraries"

    if not salt.utils.win_update.HAS_PYWIN32:
        return False, "WUA: Missing Libraries required by salt.utils.win_update"

    if salt.utils.win_service.info("wuauserv")["StartType"] == "Disabled":
        return (
            False,
            "WUA: The Windows Update service (wuauserv) must not be disabled",
        )

    if salt.utils.win_service.info("msiserver")["StartType"] == "Disabled":
        return (
            False,
            "WUA: The Windows Installer service (msiserver) must not be disabled",
        )

    if salt.utils.win_service.info("BITS")["StartType"] == "Disabled":
        return (
            False,
            "WUA: The Background Intelligent Transfer service (bits) must not "
            "be disabled",
        )

    if not salt.utils.win_service.info("CryptSvc")["StartType"] == "Auto":
        return (
            False,
            "WUA: The Cryptographic Services service (CryptSvc) must not be disabled",
        )

    if salt.utils.win_service.info("TrustedInstaller")["StartType"] == "Disabled":
        return (
            False,
            "WUA: The Windows Module Installer service (TrustedInstaller) must "
            "not be disabled",
        )

    return True