tis-zimbra-connector-outlook

1946-5
Connecteur Zimbra pour Microsoft Outlook
3274 téléchargements
Télécharger
Voir le résultat de la construction Voir l'analyse de VirusTotal
tis-zimbra-connector-outlook icon
  • package : tis-zimbra-connector-outlook
  • name : Zimbra Connector for Microsoft Outlook
  • version : 1946-5
  • categories : Messaging
  • maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Jordan ARNAUD
  • editor : Synacor, Inc.
  • licence : opensource_free,wapt_public
  • locale : all
  • target_os : windows
  • impacted_process :
  • architecture : x64
  • signature_date : 2025-03-08 08:08
  • size : 44.65 Mo
package           : tis-zimbra-connector-outlook
version           : 1946-5
architecture      : x64
section           : base
priority          : optional
name              : Zimbra Connector for Microsoft Outlook
categories        : Messaging
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Jordan ARNAUD
description       : Zimbra Connector for Microsoft Outlook
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : Connecteur Zimbra pour Microsoft Outlook
description_pl    : Konektor Zimbra dla programu Microsoft Outlook
description_de    : Zimbra-Anschluss für Microsoft Outlook
description_es    : Conector Zimbra para Microsoft Outlook
description_pt    : Conector Zimbra para Microsoft Outlook
description_it    : Connettore Zimbra per Microsoft Outlook
description_nl    : Zimbra Connector voor Microsoft Outlook
description_ru    : Коннектор Zimbra для Microsoft Outlook
audit_schedule    : 10m
editor            : Synacor, Inc.
keywords          : 
licence           : opensource_free,wapt_public
homepage          : 
package_uuid      : 10371781-58d6-4d00-8755-52769aebd4a2
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 960bd49aacb32b189f0afcb8ea14ba56662cc2c42ed80992436da555cf0ce46a
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-03-08T08:08:41.000000
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
signature         : gCuD/WiWdQdtkL27Y4oQ1441PvnlQ/xjk9Yri8FkgE1kHiZ5tbQ59ERwsTVLTSUFoP48nok0f6tJ9mK6imnTw0hgYMIMN1nqYMGBc8/fVNCvN4ay6fKXHg7zgiXX3ehYn5qcKPwy3EU7VOzOxEGXWEFTbKiRF7rSmrzViAl0vVxzinLDGfD+JLvTRlpTiDNL8CoYzDpjjk0bnvGtVd61Gfs477EhEQzL0T6ixMCqFGcVRsaVvzZ7xX0jupdGAsN7E3LT8UdRDt11/Cs7jJP61N2w/zxzEKBZshSGomVIsTXt8ciEMPln8UZbIgbMUMvMgHUn2D/H8yaNTJb3d+voyg==
# -*- coding: utf-8 -*-
from setuphelpers import *

"""
{
   "key":"{E42A1466-88E2-4CD4-BB10-5DDF858232B5}",
   "name":"Zimbra Connector for Microsoft Outlook",
   "version":"0.0.0.1945",
   "install_date":"2025-01-06 00:00:00",
   "install_location":"",
   "uninstall_string":"MsiExec.exe /I{E42A1466-88E2-4CD4-BB10-5DDF858232B5}",
   "publisher":"Synacor, Inc.",
   "system_component":0,
   "win64":false
  }

"""


def install():
    if params.get("install_with_luti", False):
        WAPT.install("tis-microsoft-office-365-business")

    office_arch = registry_readstring(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Office\ClickToRun\Configuration", "Platform")
    if office_arch == "x86":
        bin_name = 'ZimbraConnectorOLK_x86.msi'
    else:
        bin_name = 'ZimbraConnectorOLK_x64.msi'

    try:
        install_msi_if_needed(
            bin_name,
            min_version=control.get_software_version(),
            timeout=300,
            keywords="Zimbra Connector",
            get_version=get_version
        )
    except Exception as e:
        if not installed_softwares("Outlook"):
            print(f"INFO: Microsoft Outlook needs to be installed.")
        raise

    # Customize installation
    with reg_openkey_noredir(HKEY_LOCAL_MACHINE, 'SOFTWARE\Zimbra', sam=KEY_WRITE, create_if_missing=True) as key:
        reg_setvalue(key, 'SkipVersionUpgrade', '65535', REG_SZ)  # disable auto-update
        # reg_setvalue(key, 'ZimbraServerName', 'smtp.mydomain.tld', REG_SZ)  # Zimbra server name
        # reg_setvalue(key, 'ZimbraServerPort', 443, REG_DWORD)  # Zimbra server port
        # reg_setvalue(key, 'ZimbraConnectionMethod', 1, REG_DWORD)  # use SSL
        # reg_setvalue(key, 'GalSyncDisableAliases', 1, REG_DWORD)  # disable alias in GAL
        # reg_setvalue(key, 'SigSyncEnabled', 0, REG_DWORD)  # disable signature sync


def get_version(key):
    return key['version'].split('.')[-1]


def audit():
    audit_result = "OK"

    office_arch = registry_readstring(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Office\ClickToRun\Configuration", "Platform")
    regpath = 'SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Windows\Windows Search\Preferences'
    if is64() and office_arch == "x86":
        regpath = 'SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Windows\Windows Search\Preferences'

    # Fix Windows Search ZCO registry key if needed
    # https://wiki.zimbra.com/wiki/Summary_of_the_registry_keys_that_ZCO_uses
    # https://forums.zimbra.org/viewtopic.php?t=67734

    regpath = 'SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Windows\Windows Search\Preferences'
    for key in ['{D00FDE68-3E80-4f8c-899D-D9DD16BA7D1D}', '{FA9628A0-F223-4d5d-B314-E01BC8100572}']:
        if registry_readstring(HKEY_LOCAL_MACHINE, regpath, key) != "1":
                print(f'Fixing Windows Search ZCO registry key {key}...')
                registry_set(HKEY_LOCAL_MACHINE, regpath, key, 1, REG_DWORD)
                audit_result = "WARNING"

    return audit_result
# -*- 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()
    app_name = control.name
  
    url = "https://www.zimbra.com/product/addons/zimbra-connector-for-outlook-download/"
    print(f'URL used is: {url}')

    for arch in ['x86', 'x64']:

        print(f'Processing {arch} version')
        for bs_search in bs_find_all(url, 'a', 'rel', 'noopener', proxies=proxies):
            if f'_{arch}.msi' in bs_search.get('href', ''):
                download_url = bs_search['href']
                latest_bin = download_url.rsplit('/', 1)[-1]
                version = latest_bin.split('_')[1]
                break

        print(f'Latest {control.name} {arch} version is: {version}')
        print(f'Download URL for {arch} is: {download_url}')

        # Downloading latest binaries
        print(f'Downloading: {latest_bin}')
        latest_bin_split = latest_bin.split('_')
        latest_bin = f'{latest_bin_split[0]}_{latest_bin_split[2]}'
        wget(download_url, latest_bin, proxies=proxies)

        # Checking version from file
        version_from_file = get_version_from_binary(latest_bin).split('.')[-1]
        if Version(version_from_file, 4) == Version(version, 4):
            print(f'INFO: Binary file version ({version_from_file}) corresponds to online version ({version})')
        else:
            error(f'ERROR: Binary file version ({version_from_file}) do NOT corresponds to online version ({version})')

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating or not update-package-sources
    return package_updated
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
e2599341d4dc2d1a7062a843633264ca5d1e52cf5438d8c1115d866ff1e151b2 : WAPT/control
960bd49aacb32b189f0afcb8ea14ba56662cc2c42ed80992436da555cf0ce46a : WAPT/icon.png
200377ba2bfdc5505f617b440f5d341d4fe573268160a221089cbbd201386e6d : ZimbraConnectorOLK_x64.msi
8a97ff4925db6e0cd636922a9829bcb23ad7fdc6d8557f53b8c386822b86c502 : ZimbraConnectorOLK_x86.msi
d5fa444284aa7f18b88e044dd96ca9365945c519d65758a1d052056a24f05c7c : luti.json
a11584542b7514cfb9f0980fd385557837a666d52d51736fe0995dd6ab085b1e : setup.py
b925b198345396b6d41339af2a2c7e877a24050a70f7b85eea4888dc8cff4914 : update_package.py