tis-vcredist2013 icon

Microsoft Visual C++ 2013 Redistributable

Silent install package for Microsoft Visual C++ 2013 Redistributable

12.0.30501.0-28
Development
System and network
Development
System and network

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a new VirusTotal scan is performed.
If the package passes this last check, it is promoted to PROD and published on the store.

package           : tis-vcredist2013
version           : 12.0.30501.0-28
architecture      : all
section           : base
priority          : optional
name              : Microsoft Visual C++ 2013 Redistributable
categories        : Development,System and network
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : The Visual C++ Redistributable Packages install run-time components that are required to run C++ applications built using Visual Studio
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : https://store.wapt.fr/store/tis-vcredist2013
installed_size    : 40529920
impacted_process  : 
description_fr    : Les packages Redistribuable Visual C++ installent les composants d'exécution nécessaires pour exécuter les applications C++ créées à l'aide de Visual Studio
description_pl    : Visual C++ Redistributable Packages instaluje komponenty run-time, które są wymagane do uruchomienia aplikacji C++ zbudowanych przy użyciu Visual Studio
description_de    : Die Visual C++ Redistributable Packages installieren Laufzeitkomponenten, die für die Ausführung von C++-Anwendungen erforderlich sind, die mit Visual Studio
description_es    : Los paquetes redistribuibles de Visual C++ instalan componentes de tiempo de ejecución necesarios para ejecutar aplicaciones C++ creadas con Visual Studio
description_pt    : Os Pacotes Redistribuíveis Visual C++ instalam componentes de tempo de execução que são necessários para executar aplicações C++ construídas usando o Visual Studio
description_it    : I pacchetti ridistribuibili di Visual C++ installano i componenti di run-time necessari per l'esecuzione di applicazioni C++ realizzate con Visual Studio
description_nl    : De Visual C++ Redistributable Packages installeren runtime componenten die nodig zijn om C++ applicaties te draaien die gebouwd zijn met Visual Studio
description_ru    : Visual C++ Redistributable Packages устанавливает компоненты времени выполнения, необходимые для запуска приложений C++, созданных с помощью Visual Studio
audit_schedule    : 
editor            : Microsoft
keywords          : microsoft,visual,c++,c,2013,redist,vc,redistributable
licence           : Freeware
homepage          : https://support.microsoft.com/topic/update-for-visual-c-2013-redistributable-package-d8ccd6a5-4e26-c290-517b-8da6cfdf4f10
package_uuid      : 01ee82bd-f1be-44fb-8fa5-a02c322103aa
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 6.1
max_os_version    : 
icon_sha256sum    : 02cd7f6853e54444c8162fc87e5a767286ea504740dc7b45ff6b20d1e2066bb5
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2025-12-16T09:18:02.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         : cGvO1/DdHVnLlXEPRe/tqXsj7SdMPIbfxAD/SyTqNuJjMHOtf4ZBtUYYbvvhxkSD0lhfPCio000f5Ya5OqCXEUShQkof9xeHlcK0gCNm+ZUxCO4Zes7iFMWBoZuk9X4qtrXVUG5mhvMyeW9AoW9gpP7t5W20RT92wg/beLxvBYxuESwhoUGokIJTRPgS1SvZaqKu4A3rRKlAb0pB5PdC6bfcYEdcmwyS7chSGXlgfR70wB4NxScSSAByFUYpAJgRXcj1QTilI1UC6XrD2Jzp/XbafDE7Mn2wn21fewMWvY0OCcPBqA5UIEd5X/5HHiVJa3AadnwzdKAyDGoe/qSkhA==

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

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_name_x86 = "vcredist_x86.exe"
bin_name_x64 = "vcredist_x64.exe"
silent_args = "/quiet /norestart"


def install():
    # Installing the package
    vers = control.version.split("-")[0]

    if force:
        print("Removing the software before installation since the install is forced")
        uninstall()

    if check_if_install_need("x86", vers):
        print("Installing: %s (%s)" % (control.name, vers))
        run('"%s" %s' % (bin_name_x86, silent_args))
        if check_if_install_need("x86", vers):
            error("The installation did not go well")

    if iswin64():
        if check_if_install_need("x64", vers):
            print("Installing: %s (%s)" % (control.name, vers))
            run('"%s" %s' % (bin_name_x64, silent_args))
            if check_if_install_need("x64", vers):
                error("The installation did not go well")


def uninstall():
    for ukey_x86 in installed_softwares("Microsoft Visual C++ 2013 Redistributable (x86)"):
        print("Removing: %s (%s)" % (ukey_x86["name"], ukey_x86["version"]))
        run(uninstall_cmd(ukey_x86["key"]) + " /norestart")

    if iswin64():
        for ukey_x64 in installed_softwares("Microsoft Visual C++ 2013 Redistributable (x64)"):
            print("Removing: %s (%s)" % (ukey_x64["name"], ukey_x64["version"]))
            run(uninstall_cmd(ukey_x64["key"]) + " /norestart")


def audit():
    vers = control.version.split("-")[0]

    err = False
    if iswin64():
        if check_if_install_need("x64", vers):
            print("Microsoft Visual C++ 2013 Redistributable (x64) with min version %s not found" % vers)
            err = True
    if check_if_install_need("x86", vers):
        print("Microsoft Visual C++ 2013 Redistributable (x86) with min version %s not found" % vers)
        err = True

    if err:
        return "ERROR"

    warn = False

    if iswin64():
        x64vers = installed_softwares("Microsoft Visual C++ 2013 Redistributable (x64) -")[0]["version"]
        if Version(x64vers) > Version(vers):
            print("The version installed on the workstation is more recent (x64) ! %s" % x64vers)
            warn = True

    x86vers = installed_softwares("Microsoft Visual C++ 2013 Redistributable (x86) -")[0]["version"]
    if Version(x86vers) > Version(vers):
        print("The version installed on the workstation is more recent (x86) ! %s " % x86vers)
        warn = True

    if warn:
        return "WARNING"

    return "OK"


def check_if_install_need(arch, vers):
    for soft in installed_softwares("Microsoft Visual C++ 2013 Redistributable (%s) - " % arch):
        if Version(soft["version"], 3) >= Version(vers, 3):
            return False
    return True

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

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_name_x86 = "vcredist_x86.exe"
bin_name_x64 = "vcredist_x64.exe"
silent_args = "/quiet /norestart"

url_dl_x86 = "https://download.microsoft.com/download/a/4/d/a4d9f1d3-6449-49eb-9a6e-902f61d8d14b/vcredist_x86.exe"
url_dl_x64 = "https://download.microsoft.com/download/a/4/d/a4d9f1d3-6449-49eb-9a6e-902f61d8d14b/vcredist_x64.exe"


def update_package():
    # Initializing variables
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()

    # Downloading binaries
    print("Downloading " + bin_name_x64)
    wget(url_dl_x64, bin_name_x64, proxies=proxies)
    print("Downloading " + bin_name_x86)
    wget(url_dl_x86, bin_name_x86, proxies=proxies)

    # Changing version of the package
    version = get_version_from_binary(bin_name_x86)
    control.version = "%s-%s" % (version, int(control.version.split("-")[-1]))
    control.save_control_to_wapt()
    print("Changing package version to: %s in WAPT\\control" % control.version)

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
bbeb56bc4d70cf99be4599ae840b6bf0c32a58fa13db8b10391c568f8a70b588 : WAPT/control
02cd7f6853e54444c8162fc87e5a767286ea504740dc7b45ff6b20d1e2066bb5 : WAPT/icon.png
27ee3fcbe9c0f3dcc6e92e081ae83937a541d46724d271df32fa1d81e4e59f86 : luti.json
9a6abf378a35c3a8ee882ceb93edcf1069d26c8a52a5822f2c8f50732cd97ca5 : setup.py
cabb4f300d3d9ddb60e43f267ad5445d3e3b1600d597a3c169b186a5bf1e9144 : update_package.py
74eb2b780ecc8e664200762c895a33e9eb1be7aba3a3e5769716b3c25cf4442f : vcredist_x64.exe
9350e049dc23c1d4b5bcfc8b5b49a41717dfe3e61126b88542afdc339bf69d0a : vcredist_x86.exe