tis-microsoft-edge icon

Microsoft Edge

Silent install package for Microsoft Edge

109.0.1518.78-36

  • package: tis-microsoft-edge
  • name: Microsoft Edge
  • version: 109.0.1518.78-36
  • categories: Internet
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • editor: Microsoft
  • licence: Proprietary
  • locale: all
  • target_os: windows
  • impacted_process: msedge,msedge_proxy,msedgewebview2,msedge_proxy,msedge_pwa_launcher,msedgewebview2,msedge_proxy,msedge_pwa_launcher
  • architecture: x64
  • signature_date:
  • size: 145.91 Mo
  • installed_size: 1.20 Go
  • homepage : https://www.microsoft.com/edge/

package           : tis-microsoft-edge
version           : 109.0.1518.78-36
architecture      : x64
section           : base
priority          : optional
name              : Microsoft Edge
categories        : Internet
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : Microsoft Edge is a cross-platform web browser created and developed by Microsoft
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.1
sources           : https://www.microsoft.com/edge/business/download
installed_size    : 1196867584
impacted_process  : msedge,msedge_proxy,msedgewebview2,msedge_proxy,msedge_pwa_launcher,msedgewebview2,msedge_proxy,msedge_pwa_launcher
description_fr    : Microsoft Edge est un navigateur web multiplateforme créé et développé par Microsoft
description_pl    : Microsoft Edge to wieloplatformowa przeglądarka internetowa stworzona i rozwijana przez firmę Microsoft
description_de    : Microsoft Edge ist ein plattformübergreifender Webbrowser, der von Microsoft entwickelt wurde
description_es    : Microsoft Edge es un navegador web multiplataforma creado y desarrollado por Microsoft
description_pt    : Microsoft Edge é um navegador web multiplataforma criado e desenvolvido pela Microsoft
description_it    : Microsoft Edge è un browser web multipiattaforma creato e sviluppato da Microsoft
description_nl    : Microsoft Edge is een cross-platform webbrowser gemaakt en ontwikkeld door Microsoft
description_ru    : Microsoft Edge - это кросс-платформенный веб-браузер, созданный и разработанный компанией Microsoft
audit_schedule    : 
editor            : Microsoft
keywords          : microsoft,edge,web,browser
licence           : Proprietary
homepage          : https://www.microsoft.com/edge/
package_uuid      : 21034730-ef4b-4c55-bfda-389cf5ed57e2
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://docs.microsoft.com/deployedge/microsoft-edge-relnote-stable-channel
min_os_version    : 6.1
max_os_version    : 
icon_sha256sum    : a7c6b09372ea7c19abbbf1e40c70610177a814692ce9d17a0096bfae2f4437c0
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : MAu7HaNv0nX9MyMEY8KrRSBoA5an5XpJQsD6b50vVwq+wNrU3jOHB3lQhLoDThpoIRlfQj6XD7fK7FpFDRLKx7hG724J5p9jbb+t5WiF+vpcXA/AiAIprl36Pq4jAduSWB6iuWgn4p2Ql9TP9/1DaIlucZlVIAvHrHzdXc5X4cb1e1/ZEftXHNOY1Pm7ZnvZFmi68u1s/HGslXeO/OvVob8K82Dx4LysViw9b7ARlpNFbsssPyrTPZjy/oXe3tCxpejBdFvZwsaqQYBaOE1mJXZHxFzSbff7AkMcpVRRJrx+5X2wWHnDMnbNIBx3AoEgM3eLcWKtI3THVAoJnHfi0A==
signature_date    : 2023-02-03T00:01:28.325283
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 *

r"""
Procedures: 
https://docs.microsoft.com/deployedge/microsoft-edge-update-policies
> This policy is available only on Windows instances that are joined to a Microsoft® Active Directory® domain.
https://admx.help/?Category=EdgeChromium&Policy=Microsoft.Policies.Update::Pol_DefaultUpdatePolicy

UninstallKey                           Software                                                              Version             Uninstallstring
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft Edge Update                  Microsoft Edge Update                                                 1.3.161.35
Microsoft EdgeWebView                  Microsoft Edge WebView2 Runtime                                       101.0.1210.53       "C:\Program Files (x86)\Microsoft\EdgeWebView\Application\101.0.1210.53\Installer\setup.exe" --uninstall --msedgewebview --system-level --verbose-logging
{235B0AE8-4971-3AF7-80AE-CEE8C161E846} Microsoft Edge                                                        101.0.1210.53       MsiExec.exe /X{235B0AE8-4971-3AF7-80AE-CEE8C161E846}

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
app_schtasks_list = ["MicrosoftEdgeUpdateTaskMachineCore", "MicrosoftEdgeUpdateTaskMachineUA", "MicrosoftEdgeUpdateBrowserReplacementTask"]
app_services_list = ["MicrosoftEdgeElevationService", "edgeupdatem", "edgeupdate"]
try:
    app_dir_list = glob.glob("%s" % makepath(programfiles32, "Microsoft", "Edge"))
except:
    app_dir_list = []
# app_extra_key_list = ["Microsoft EdgeWebView", "Microsoft Edge Update"]


def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = glob.glob("*MicrosoftEdgeEnterprise*.msi")[0]
    app_uninstallkey = get_msi_properties(bin_name)["ProductCode"]

    # Uninstalling Microsoft Edge when installed with an exe
    for to_uninstall in installed_softwares(uninstallkey="Microsoft Edge"):
        if not uninstall_key_exists(to_uninstall["key"]):
            continue
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        uninstall_app_cmd = to_uninstall["uninstall_string"] + " --force-uninstall"
        run_notfatal(uninstall_app_cmd)
        wait_uninstallkey_absent(to_uninstall["key"])

    # # Uninstalling Microsoft EdgeWebView
    # for to_uninstall in installed_softwares(uninstallkey="Microsoft EdgeWebView"):
    #     if not uninstall_key_exists(to_uninstall["key"]):
    #         continue
    #     print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
    #     uninstall_app_cmd = to_uninstall["uninstall_string"] + " --force-uninstall"
    #     run_notfatal(uninstall_app_cmd)
    #     wait_uninstallkey_absent(to_uninstall["key"])

    registry_deletekey(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft", "EdgeUpdate")
    # Disabling auto-update and adding minimal preferences
    registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\EdgeUpdate", "AutoUpdateCheckPeriodMinutes", 0, type=REG_DWORD)
    # registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\EdgeUpdate", "CreateDesktopShortcutDefault", 0, type=REG_DWORD)
    registry_setstring(
        HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\EdgeUpdate", "UpdaterExperimentationAndConfigurationServiceControl", 0, type=REG_DWORD
    )

    # Installing the package
    print("Installing: %s" % bin_name)
    install_msi_if_needed(
        bin_name,
        min_version=package_version,
        timeout=900,
    )

    # Avoiding the usage by WAPT of the app built-in Uninstallstring
    uninstallkey.remove(app_uninstallkey)

    # # Deny updates and installs
    # registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\EdgeUpdate", "UpdateDefault", 0, type=REG_DWORD)
    # registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\EdgeUpdate", "InstallDefault", 0, type=REG_DWORD)
    # registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\EdgeUpdate", "Install%s" % app_uninstallkey, 0, type=REG_DWORD)
    # registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft\EdgeUpdate", "Update%s" % app_uninstallkey, 0, type=REG_DWORD)

    # Removing application desktop shortcut if allowed
    if params.get("remove_desktop_shortcuts"):
        remove_desktop_shortcut(control.name)

    # Disabling application scheduled tasks
    for task in app_schtasks_list:
        if task_exists(task):
            try:
                disable_task(task)
            except:
                print("Unable to disable the task: %s" % task)

    # Changing default start mode of the application services
    for service_name in app_services_list:
        set_service_start_mode(service_name, "Manual")


def audit():
    # Declaring local variables
    package_version = control.version.split("-", 1)[0]
    app_name = control.name
    installed_version = None

    # Getting installed software version
    for installed_app in installed_softwares(name=r"Microsoft Edge$"):
        installed_version = installed_app["version"]
        break

    # Auditing software
    print("Auditing: %s" % control.package)
    if installed_version is None:
        print("%s is not installed" % app_name)
        return "ERROR"
    elif Version(installed_version) != Version(package_version):
        print("%s is installed in version (%s) instead of (%s)" % (app_name, installed_version, package_version))
        return "WARNING"
    else:
        print("%s is installed in correct version (%s)" % (app_name, installed_version))
        return "OK"


def removing_extra_edge_apps():
    for to_uninstall in installed_softwares(name="Microsoft Edge "):
        if not to_uninstall["uninstall_string"]:
            unregister_uninstall(uninstallkey=to_uninstall["key"])
            continue
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        uninstall_app_cmd = to_uninstall["uninstall_string"] + " --force-uninstall"
        run_notfatal(uninstall_app_cmd)
        wait_uninstallkey_absent(to_uninstall["key"])


def uninstall():
    # Avoiding unexpected behavoir by rolling-back install changes
    registry_deletekey(HKEY_LOCAL_MACHINE, r"SOFTWARE\Policies\Microsoft", "EdgeUpdate")

    # # Uninstalling all other Microsoft Edge apps
    # removing_extra_edge_apps()

    # Force uninstalling Microsoft Edge
    for to_uninstall in installed_softwares(name=r"Microsoft Edge\b"):
        print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
        killalltasks(control.impacted_process.split(","))
        try:
            run(uninstall_cmd(to_uninstall["key"]))
        except:
            wait_uninstallkey_absent(to_uninstall["key"])
            unregister_uninstall(uninstallkey=to_uninstall["key"])

    # Removing Microsoft Edge remaining files
    for app_folder in app_dir_list:
        if isdir(app_folder):
            killalltasks(control.get_impacted_process_list())
            try:
                remove_tree(app_folder)
            except:
                print("Unable to remove: %s" % app_folder)

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


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    if control.architecture == "x64":
        bin_name_sub = "MicrosoftEdgeEnterprise_%s_X64.msi"
        bin_temp = "MicrosoftEdgeEnterpriseX64.msi"
        url_dl = "http://go.microsoft.com/fwlink/?LinkID=2093437"
    else:
        bin_name_sub = "MicrosoftEdgeEnterprise_%s_X86.msi"
        bin_temp = "MicrosoftEdgeEnterpriseX86.msi"
        url_dl = "http://go.microsoft.com/fwlink/?LinkID=2093505"

    print("Download url is: %s" % url_dl)

    # Deleting binaries
    for f in glob.glob("*.exe") + glob.glob("*.msi"):
        remove_file(f)

    # Downloading latest binaries
    if not isfile(bin_temp):
        print("Downloading: %s" % bin_temp)
        wget(url_dl, bin_temp, proxies=proxies)

        # Getting version from binary and renaming binary
        version = get_version_from_binary(bin_temp)
        latest_bin = bin_name_sub % version
        if not isfile(latest_bin):
            print("Renaming binary with the version number of the binary (%s)" % latest_bin)
            os.rename(bin_temp, latest_bin)

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        result = True
    control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    # control.set_software_version(Version(version))
    control.save_control_to_wapt()

    # Validating update-package-sources
    return result

e5726b00de38651d04549bcd1e4a16ea4ecb35e6f3c7b67a37ea42375ac9ab66 : setup.py
3cf2fe45e8080a6bcf5c8daaa21bdc7749d720ec655974cc557824bcd9871380 : update_package.py
820c014c971da4b19be14c40a2753dd35712573ae6e1ab4f555d36a21ac5bd57 : MicrosoftEdgeEnterprise_109.0.1518.78_X64.msi
a7c6b09372ea7c19abbbf1e40c70610177a814692ce9d17a0096bfae2f4437c0 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
e07c7e15dbca3682659a2092520a7a2a52965afa6566026ff6b7882817a96bb6 : WAPT/changelog.txt
b4b5434cdb28303c281bfc83dc0772bdad748a8a0dcd173aca3a4e228e971162 : luti.json
e529957a6d78c0a9eae86cc2cf4d5f349ed6241270c85e6b65ebdcd895cb27d9 : WAPT/control

https://docs.microsoft.com/deployedge/microsoft-edge-relnote-stable-channel
104.0.1293.47-36
No longer deny updates and installs completely since it interfere with tis-webview2 package


103.0.1264.44-35

No longer removing Microsoft EdgeWebView since it can break some other apps
No longer deny updates and installs on a specific key
min_wapt_version  : 2.1


101.0.1210.53-33

Updating installed_size and impacted_process
Now auditing manually
Registry cleaning as fail over
Now removing Microsoft EdgeWebView
Package cleanup improved, fixed the package upgrade on W11
min_wapt_version  : 2.0