tis-hp-support-assistant icon

HP Support Assistant

Paquet d’installation silencieuse pour HP Support Assistant

8.8.34.31-1

  • package: tis-hp-support-assistant
  • name: HP Support Assistant
  • version: 8.8.34.31-1
  • categories: System and network
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • editor: HP Inc.
  • licence: proprietary_free,wapt_public
  • target_os: windows
  • impacted_process: HPCF,HPSupportSolutionsFrameworkService,HPAudioCheck,HPBC,HPDIA,HPDeviceCheck,HPHelpUpdater,HPNetworkCheck,HPOSCheck,HPPerformanceTuneup,HPPrintSpooler,HPPrinterOfflineCheck,HPSALauncher,HPSAObjectMetrics,HPSASearch,HPSF,HPSFReport,HPSFViewer,HPSF_Tasks,HPSF_Utils,HPSSFUpdater,HPWPD,HPWSD,HPWarrantyChecker,HPPSDrPrinterHealthMonitor,HPPrinterLowInk,HPSAAppLauncher,HPUpdate
  • architecture: all
  • signature_date:
  • size: 38.05 Mo
  • installed_size: 90.31 Mo
  • depends:

package           : tis-hp-support-assistant
version           : 8.8.34.31-1
architecture      : all
section           : base
priority          : optional
name              : HP Support Assistant
categories        : System and network
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : Maintain your HP devices with automated support, updates, and fixes
depends           : tis-dotnetfx
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 90305269
impacted_process  : HPCF,HPSupportSolutionsFrameworkService,HPAudioCheck,HPBC,HPDIA,HPDeviceCheck,HPHelpUpdater,HPNetworkCheck,HPOSCheck,HPPerformanceTuneup,HPPrintSpooler,HPPrinterOfflineCheck,HPSALauncher,HPSAObjectMetrics,HPSASearch,HPSF,HPSFReport,HPSFViewer,HPSF_Tasks,HPSF_Utils,HPSSFUpdater,HPWPD,HPWSD,HPWarrantyChecker,HPPSDrPrinterHealthMonitor,HPPrinterLowInk,HPSAAppLauncher,HPUpdate
description_fr    : 
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : HP Inc.
keywords          : 
licence           : proprietary_free,wapt_public
homepage          : 
package_uuid      : 0a8b1548-a5cf-4144-a391-f7103f3a03a6
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : a44d45009fe218dcb1e863226108d3dca6e83f3d722537eed021018c1997accd
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : KlFeK3fyzCTfJ99lHqKAiMonwMQaQsvJTPnOK6eu/H5CQAOdrRD336E3GCriodsX6prZX4Xsqyx5/jDG11adoB3J5bcOMWRT6SpatMyYA0rbLXjwkJKRnRwzxYKR04967YtBt40GcGCvMjaCtu2vymxYfmyHn2yfEph9y7fstQL5NxXde0sPkcnuDVX8bD98yMgl6FqHkCXGvQBMx31IKDj4TaL1cs51KsthOfx84ydeL4cgFoxZcNikCrNUS2XKaiAVTTXHDdsqR/s7zAQbztaJLHjuDKuAKLKwoJbr0wu9ttLLWpieMjNYoOsunnxuVbaud+7A/o5NyyeLZB08wA==
signature_date    : 2024-02-14T13:01:07.029637
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes

# -*- coding: utf-8 -*-
from setuphelpers import *


"""
{
    "key": "{2A6B6DA3-0A09-43E0-BBF1-B0A6EDBEE779}",
    "name": "HP Support Solutions Framework",
    "version": "12.18.34.21",
    "install_date": "2024-02-08 00:00:00",
    "install_location": "",
    "uninstall_string": "MsiExec.exe /X{2A6B6DA3-0A09-43E0-BBF1-B0A6EDBEE779}",
    "publisher": "HP Inc.",
    "system_component": 0,
    "win64": false,
},
{
    "key": "{54ECA61C-83AE-4EE3-A9F7-848155A33386}",
    "name": "HP Support Assistant",
    "version": "8.8.34.31",
    "install_date": "2024-02-08 00:00:00",
    "install_location": "C:\\Program Files (x86)\\Hewlett-Packard\\HP Support Framework\\",
    "uninstall_string": '"C:\\Program Files (x86)\\InstallShield Installation Information\\{54ECA61C-83AE-4EE3-A9F7-848155A33386}\\setup.exe" -runfromtemp -l0x0409  -removeonly',
    "publisher": "HP Inc.",
    "system_component": 0,
    "win64": false,
}

https://community.spiceworks.com/topic/2110039-is-it-possible-to-make-specific-changes-to-hp-assistant-using-gpo-s
https://silentinstallhq.com/hp-support-assistant-silent-install-how-to-guide/

"""


app_uninstallkey = "{54ECA61C-83AE-4EE3-A9F7-848155A33386}"


def install():
    bin_name = glob.glob("sp*.exe")[0]
    if isdir("sp"):
        remove_tree("sp")
    run(bin_name + " /s /e /f sp", accept_returncodes=[0, 1168, 3010])
    os.chdir("sp")
    install_exe_if_needed(
        "InstallHPSA.exe",
        silentflags="/S /v/qn",
        key=app_uninstallkey,
        min_version=control.get_software_version(),
    )
    uninstallkey.clear()

    # Adding QuietUninstallString
    quiet_uninstall_string = rf'"{programfiles32}\Hewlett-Packard\HP Support Framework\UninstallHPSA.exe" /S /v/qn'
    register_uninstall(app_uninstallkey, quiet_uninstall_string=quiet_uninstall_string)

    # Debloating software
    if iswin64():
        reg_editor_path = r"SOFTWARE\WOW6432Node\Hewlett-Packard"
    else:
        reg_editor_path = r"SOFTWARE\WOW6432Node\Hewlett-Packard"
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPHC"), "Install", "0")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPHC"), "Auto", "No")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPHC"), "CheckAll", "False")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPHC"), "FlagReset", "No")

    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF"), "HPUSchedule", 0)
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF"), "ServicesEnabled", 0)
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF"), "Startup", "No")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF"), "NotifyPopup", "0")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF"), "NotifyTray", "0")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF"), "NotifyServiceOffers", "0")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF"), "CIPOptin", "0")

    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF\Warranty"), "Optin", "0")

    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF\ContactOption"), "Cancel", "True")
    registry_set(HKEY_LOCAL_MACHINE, makepath(reg_editor_path, r"HPActiveSupport\HPSF\ContactOption"), "AnalysisStep", "0")

    # Disabling application scheduled tasks
    app_scheduled_tasks = [
        "\\Hewlett-Packard\\HP Web Products Detection",
        "\\Hewlett-Packard\\HPDeviceCheck",
        "\\Hewlett-Packard\\HP Support Assistant\\HP Support Assistant Quick Start",
        "\\Hewlett-Packard\\HP Support Assistant\\HP Support Solutions Framework Report",
        "\\Hewlett-Packard\\HP Support Assistant\\HP Support Solutions Framework Updater",
        r"\Hewlett-Packard\HP Support Assistant\HP Support Solutions Framework Updater - Resources"
        r"\Hewlett-Packard\HP Support Assistant\Opt-in For HP Support Assistant Quick Start"
        "\\Hewlett-Packard\\HP Support Assistant\\PC Health Analysis",
        "\\Hewlett-Packard\\HP Support Assistant\\Product Configurator",
    ]
    for task_name in app_scheduled_tasks:
        if task_exists(task_name):
            try:
                disable_task(task_name)
            except:
                print(f"Unable to disable the task_name: {task_name}")

    # Changing default start mode of the application services
    app_services = ["HPSupportSolutionsFrameworkService"]
    for service_name in app_services:
        set_service_start_mode(service_name, "Manual")


def uninstall():
    for to_uninstall in installed_softwares("HP Support "):
        if to_uninstall["name"] == "HP Support Assistant":
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(ensure_list(control.impacted_process))
            run(uninstall_cmd(to_uninstall["key"]))
            # unregister_uninstall(to_uninstall["key"])
        if to_uninstall["name"] == "HP Support Solutions Framework":
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(ensure_list(control.impacted_process))
            run(uninstall_cmd(to_uninstall["key"]))

    remove_empty_directories(makepath(programfiles32, "HP"))
    remove_empty_directories(makepath(programfiles32, "Hewlett-Packard"))
    # editor_dir = makepath(programfiles32, "HP")
    # app_dir = makepath(editor_dir, "HP Support Framework")
    # if isdir(app_dir):
    #     remove_tree(app_dir)
    # if dir_is_empty(editor_dir):
    #     remove_tree(editor_dir)

    # editor_dir = makepath(programfiles32, "Hewlett-Packard")
    # app_dir = makepath(editor_dir, "HP Customer Feedback")
    # if isdir(app_dir):
    #     remove_tree(app_dir)
    # app_dir = makepath(editor_dir, "HP Support Framework")
    # if isdir(app_dir):
    #     remove_tree(app_dir)
    # app_dir = makepath(editor_dir, "HP Support Solutions")
    # if isdir(app_dir):
    #     remove_tree(app_dir)
    # if dir_is_empty(editor_dir):
    #     remove_tree(editor_dir)


def remove_empty_directories(root_directory):
    if os.path.exists(root_directory):
        for dirpath, dirnames, filenames in os.walk(root_directory, topdown=False):
            if not any(os.scandir(dirpath)):
                os.rmdir(dirpath)
                print(f"Removed empty directory: {dirpath}")

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    download_url = "https://ftp.hp.com/pub/softpaq/sp114001-114500/sp114036.exe"
    latest_bin = download_url.split("/")[-1]

    # Deleting binaries
    remove_outdated_binaries(latest_bin)

    # Downloading latest binaries
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print("Binary is present: %s" % latest_bin)

    # Checking version from file
    if get_os_name() == "Windows" and "windows" in control.target_os.lower():
        # version = ".".join(get_version_from_binary(latest_bin).split('.')[:3])
        version = get_version_from_binary(latest_bin)
    else:
        version = control.get_software_version()

    # Changing version of the package
    if Version(version, 4) > Version(control.get_software_version(), 4):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating update-package-sources
    return package_updated

    # # Changing version of the package and validating update-package-sources
    # return complete_control_version(control, version)

843602cd22e9f7872301f54221a4cd97aa6e998c999464c69a506c3e83179449 : setup.py
de26d139d613e888b2b302fd3c2ee22b8f02402682d31197343a3d081dc8d852 : sp114036.exe
51de7386daee16274327cff10865db80fe337dc968cd4e62627263506b405d95 : update_package.py
a44d45009fe218dcb1e863226108d3dca6e83f3d722537eed021018c1997accd : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
74c66b0caf33667aced11e8485b0aab32673b076df18b6e4a5a2755de0dafbfd : luti.json
26218cb647577e1474d70344974ee7ed4a8256770aa8497cce839d68607771c7 : WAPT/control