tis-dotnetfx3.5

3.5.30729.1-37
.NET Framework (pronounced as "dot net") is a software framework developed by Microsoft that runs primarily on Microsoft Windows
11522 downloads
Download
default icon

  Description 

  • package : tis-dotnetfx3.5
  • version : 3.5.30729.1-37
  • architecture : all
  • categories : System and network
  • maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ
  • description : .NET Framework (pronounced as "dot net") is a software framework developed by Microsoft that runs primarily on Microsoft Windows
  • locale : all
  • target_os : windows
  • min_wapt_version : 1.7
  • sources : https://dotnet.microsoft.com/download/dotnet-framework
  • installed_size :
  • impacted_process :
  • description_fr : Le .NET Framework est un cadriciel (framework) pouvant être utilisé par un système d'exploitation Microsoft Windows
  • description_pl :
  • description_de :
  • description_es :
  • description_pt :
  • description_it :
  • description_nl :
  • description_ru :
  • editor : Microsoft
  • licence : Proprietary
  • signature_date : 2021-01-05T15:08:35.396946
  • Homepage : https://dotnet.microsoft.com/

  Setup.py 

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

uninstallkey = []

# Defining variables
bin_name = 'dotnetfx35.exe'
app_name = '.NET Framework 3.5'


def install():
    # Initializing variables
    dotnet35 = [ s for s in installed_softwares(uninstallkey = '{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}') if Version(s['version']) >= Version('3.5.30729')]

    # Installing the package
    if windows_version() >= Version('10.0.17763'): # Window 10 version 1809 and newer
        with EnsureWUAUServRunning():
            if iswin64():
                run(r'dism.exe /Online /Enable-Feature /FeatureName:NetFx3 /Source:"%s" /All /LimitAccess /quiet /norestart' % makepath(basedir, 'netfx3-w10v2004x64'))
            else:
                run(r'dism.exe /Online /Enable-Feature /FeatureName:NetFx3 /Source:"%s" /All /LimitAccess /quiet /norestart' % makepath(basedir, 'netfx3-w10v2004x86'))
    elif windows_version() >= Version('10.0') and windows_version() < Version('10.0.17763'): # Window 10 version 1803 and earlier
        with EnsureWUAUServRunning():
            if iswin64():
                run(r'dism.exe /Online /Enable-Feature /FeatureName:NetFx3 /Source:"%s" /All /LimitAccess /quiet /norestart' % makepath(basedir, 'netfx3-w10v1803x64'))
            else:
                run(r'dism.exe /Online /Enable-Feature /FeatureName:NetFx3 /Source:"%s" /All /LimitAccess /quiet /norestart' % makepath(basedir, 'netfx3-w10v1803x86'))

    #on windows 2008R2, dotnetfx3.5 is installed as a "feature" and cannot be installed with a separate download file.
    elif windows_version() >= Version('6.1',2) and windows_version() < Version('10.0'):
        # direct call gives a segmentation fault... so using cmd.exe indirect
        with EnsureWUAUServRunning():
            run(r'dism.exe /online /enable-feature /featurename:NetFx3 /quiet /norestart')
    elif not dotnet35:
        print(run('dotnetfx35.exe /q /norestart'))
        uninstallkey.append('{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}')
        print("After install, restart your computer is recommended.")
    else:
        uninstallkey.append('{CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}')


def uninstall():
    #on windows 2008R2, dotnetfx3.5 is installed as a "feature" and cannot be installed with a separate download file.
    if windows_version() >= Version('6.1',2):
        # direct call gives a segmentation fault... so using cmd.exe indirect
        with EnsureWUAUServRunning():
            run(r'dism.exe /online /disable-feature /featurename:NetFx3 /quiet /norestart')
    else:
        for key in [
            '{0BD83598-C2EF-3343-847B-7D2E84599128}', # Microsoft .NET Framework 3.0 Service Pack 2 Language Pack - FRA
            '{A3051CD0-2F64-3813-A88D-B8DCCDE8F8C7}', # Microsoft .NET Framework 3.0 Service Pack 2
            '{72AD53CC-CCC0-3757-8480-9EE176866A7C}', # Microsoft .NET Framework 2.0 Service Pack 2 Language Pack - FRA
            '{3E31821C-7917-367E-938E-E65FC413EA31}', # Microsoft .NET Framework 3.5 Language Pack SP1 - fra
            '{C09FB3CD-3D0C-3F2D-899A-6A1D67F2073F}']: # Microsoft .NET Framework 2.0 Service Pack 2
                run_notfatal('msiexec /qn /X%s'%key)


def audit():
    if windows_version() > Version('10.0'):
        netfx_state = run_powershell('Get-WindowsOptionalFeature -Online -FeatureName "NetFx3" | Select-Object -ExpandProperty State') # , output_format='str'
        if netfx_state == 2:
            print("OK: %s is correctly installed." % app_name)
            return "OK"
        else:
            print("ERROR: %s is NOT installed. Please make sure that you really need this feature, if you don't, it is preferable to uninstall it." % app_name)
            return "ERROR"
    else:
        return "OK"


def update_package():
    # Initializing variables
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    url_dl = ('https://download.microsoft.com/download/2/0/E/20E90413-712F-438C-988E-FDAA79A8AC3D/dotnetfx35.exe')

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

    if not isfile(bin_name):
        print('Downloading ' + bin_name)
        wget(url_dl,bin_name,proxies=proxies)

    # Getting version from file
    version = get_file_properties(bin_name)['ProductVersion']

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




def get_proxies():
    if platform.python_version_tuple()[0] == '3':
        from urllib.request import getproxies
    else:
        from urllib import getproxies
    return getproxies()


def get_proxies_from_wapt_console():
    proxies = {}
    if platform.system() == 'Windows':
        waptconsole_ini_path = makepath(user_local_appdata(), 'waptconsole', 'waptconsole.ini')
    else:
        waptconsole_ini_path = makepath(user_home_directory(), '.config', 'waptconsole', 'waptconsole.ini')
    if isfile(waptconsole_ini_path):
        proxy_wapt = inifile_readstring(waptconsole_ini_path, 'global', 'http_proxy')
        if proxy_wapt:
            proxies = {'http': proxy_wapt, 'https': proxy_wapt}
    return proxies


										
  manifest.sha256