tis-wampserver icon

WampServer

Paquet d’installation silencieuse pour WampServer

3.3.8-14

package           : tis-wampserver
version           : 3.3.8-14
architecture      : x64
section           : base
priority          : optional
name              : WampServer
categories        : System and network
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Clément BAZIRET
description       : WampServer is a Web development platform on Windows that allows you to create dynamic Web applications with Apache2, PHP, MySQL and MariaDB
depends           : tis-vcredist2008,tis-vcredist2010,tis-vcredist2012,tis-vcredist2013,tis-vcredist
conflicts         : tis-wamp5
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://wampserver.aviatechno.net/
installed_size    : 2832973824
impacted_process  : wampmanager
description_fr    : WampServer (anciennement WAMP5) est une plateforme de développement Web de type WAMP, permettant de faire fonctionner localement (sans avoir à se connecter à un serveur externe) des scripts PHP
description_pl    : WampServer to platforma do tworzenia stron internetowych na Windows, która pozwala na tworzenie dynamicznych aplikacji internetowych z Apache2, PHP, MySQL i MariaDB
description_de    : WampServer ist eine Webentwicklungsplattform für Windows, mit der Sie dynamische Webanwendungen mit Apache2, PHP, MySQL und MariaDB erstellen können
description_es    : WampServer es una plataforma de desarrollo web en Windows que permite crear aplicaciones web dinámicas con Apache2, PHP, MySQL y MariaDB
description_pt    : WampServer é uma plataforma de desenvolvimento Web em Windows que lhe permite criar aplicações Web dinâmicas com Apache2, PHP, MySQL e MariaDB
description_it    : WampServer è una piattaforma di sviluppo Web per Windows che consente di creare applicazioni Web dinamiche con Apache2, PHP, MySQL e MariaDB
description_nl    : WampServer is een webontwikkelingsplatform op Windows waarmee u dynamische webapplicaties kunt maken met Apache2, PHP, MySQL en MariaDB
description_ru    : WampServer - это платформа для веб-разработки под Windows, которая позволяет создавать динамические веб-приложения с Apache2, PHP, MySQL и MariaDB
audit_schedule    : 
editor            : 
keywords          : 
licence           : opensource_free,cpe:/a:gnu:gpl_v2,wapt_public
homepage          : https://wampserver.aviatechno.net/
package_uuid      : c30c50be-5763-4196-85c3-661da636bb64
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://sourceforge.net/projects/wampserver/files/WampServer%203/WampServer%203.0.0/readme.txt/download
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : d4ceccad754042ec16dc41821f2355eae957f832209f71393b668fda1006b538
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-07-27T09:01:56.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         : eKbw5Pr7Jvb0QlSFkWxBRB+L/G33LJPKdrA+7JnDoSPf35f7WnsoWJ22gVrbIwDA+MTheYIesD/b7wEcUHa4tkPQ2vAlsij0YnMfIX24Fi/UKYog9tQyKGqZp1pJPXRSjqlLeBs04e7u7NqozsO7nb178mS9GqKC54RQG+++tb1V+gQk4vnF3Yyqmn9o4OCxWlTengmmi2IwbSeVxHAYNBrKTlfwgR087SoB10TorblvDpWufnSbFUqLs4m9Tgm8GvAd1X+7PXBETdr/2rDWXGuNm8/eERzLhu4Gph7HYxBUWbFGws3fdSnVJkydnBGPIaKvKjhVVli4J3MjUrQrHg==

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

r"""
Install/Update informations: https://wampserver.aviatechno.net/
"""


def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = glob.glob("wampserver3*.exe")[0]
    update_bin_name = glob.glob("wampserver3_x64_update*.exe")[0]
    app_name = control.name
    installed_version = None
    if control.architecture == "x64":
        app_uninstallkey = r"{wampserver64}_is1"
        app_software_name = "Wampserver64 %s" % package_version
    else:
        app_uninstallkey = r"{wampserver32}_is1"
        app_software_name = "Wampserver32 %s" % package_version
    install_dir = makepath(systemdrive, "wamp")

    # Handle other paths of the software
    app_installed_list = installed_softwares(name=r"\bWampserver")
    for app_info in app_installed_list:
        install_dir = app_info["install_location"]
        installed_version = app_info["version"]

    silent_args = '/DIR="%s" /VERYSILENT /SUPPRESSMSGBOXES' % install_dir

    # Installing the software
    if installed_version is None:
        print("Installing: %s in: %s" % (bin_name, install_dir))
        install_exe_if_needed(
            bin_name,
            silentflags=silent_args,
            name="Wampserver",
            min_version=get_version_from_binary(bin_name),
            timeout=1800,
        )

    if need_install(key=app_uninstallkey, min_version=package_version):
        print("Updating: %s from: %s to: %s" % (app_name, installed_version, package_version))
        update_script = update_bin_name + f" {silent_args}"
        subprocess.Popen(update_script,creationflags=subprocess.CREATE_NEW_CONSOLE)
        time.sleep(60)

        wait_file(makepath(install_dir,"save",f"wampmanager_before-{package_version}.ini"))
        
        killalltasks(update_bin_name)
        register_uninstall("{wampserver64}_is1",display_version=package_version,display_name=f"Wampserver64 {package_version}")

def uninstall():
    app_uninstallkey = r"{wampserver64}_is1"
    for to_uninstall in installed_softwares(app_uninstallkey):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])

def wait_file(file, timeout=120):
    current_time = 0
    while not isfile(file):
        current_time += 1
        if current_time > timeout:
            error("Timeout : file not present")
        time.sleep(1)

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

bin_contains = "wampserver3."


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    url = "https://wampserver.aviatechno.net/"
    api_url = "https://sourceforge.net/projects/wampserver/best_release.json"
    bin_contains = "wampserver3."
    if control.architecture == "x64":
        bin_ends = "_x64.exe"
    else:
        bin_ends = "_x86.exe"

    # Getting latest version information from official sources
    print("API used is: %s" % api_url)
    json_load = json.loads(wgets(api_url, proxies=proxies))
    for download in json_load["platform_releases"]:
        if bin_contains in json_load["platform_releases"][download]["filename"]:
            download_url = json_load["platform_releases"][download]["url"].replace("x64", control.architecture)
            latest_bin = json_load["platform_releases"][download]["filename"].split("/")[-1].replace("x64", control.architecture)
            version = latest_bin.split("_")[0].replace("wampserver", "")
            break

    # Getting latest version from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(url, "a", proxies=proxies):
        if bs_search.string.startswith("Wampserver update"):
            update_version = bs_search.string.split("update ")[-1]
            update_latest_bin = bs_search["href"].split("/")[-1]
            update_download_url = url + bs_search["href"]
            break

    print("Latest %s version is: %s" % (app_name, version))
    print("Download URL is: %s" % download_url)

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Downloading latest binaries
    if not isfile(update_latest_bin):
        print("Downloading: %s" % update_latest_bin)
        wget(update_download_url, update_latest_bin, proxies=proxies, connect_timeout=30)

    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies, connect_timeout=30)

    # Checking version from file
    version_from_file = get_version_from_binary(latest_bin)
    if Version(version) != Version(version_from_file) and version_from_file != "":
        print("Changing version to the version number of the binary (from: %s to: %s)" % (version, version_from_file))
        os.rename(latest_bin, "wampserver%s%s" % (version_from_file, bin_ends))
        version = version_from_file
    else:
        print("Binary file version corresponds to online version")

    # Checking version of the update
    update_version_from_file = get_version_from_binary(update_latest_bin)
    if Version(update_version_from_file) > Version(version_from_file):
        if Version(version) != Version(update_version_from_file) and update_version_from_file != "":
            print("Changing version to the version number of the update binary (from: %s to: %s)" % (version, update_version_from_file))
            version = update_version_from_file
        else:
            print("Binary file version corresponds to online version")

    # 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
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    # control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating update-package-sources
    return result

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
1b97b730d4fe7e91e85334863f127464322fbb509735ffa4e2b664435c090ec0 : WAPT/changelog.txt
e1f464f6a2b55b6297ffc538b4bc45b2f3ba116209d4eb472279da0a361c3545 : WAPT/control
d4ceccad754042ec16dc41821f2355eae957f832209f71393b668fda1006b538 : WAPT/icon.png
55c649509a22231913253714b38ff056ba225986d1216b9280d9276eb9ce5b9e : luti.json
87d1179be01b9611750751ee64e8109c383e403f7ff59538856ba1a17d81c548 : setup.py
59645e1fb1648eafa14be1cccfa82f7aa8d1c219acf850d71f3a8a4410eb239d : update_package.py
cf28bbefc7c46388caf70f08dfaa65a54f015e0a4fe5d5741386b1972d5eb6bc : wampserver3.3.7_x64.exe
6c430620b4ef90373a058fa80fd09c961ebb7de9e5319111e4766aeb430c957e : wampserver3_x64_update3.3.8.exe